今天心血来潮,想编译以下linux内核来玩玩。一开始编译x86的版本,遇到了openssl/opensslv.h文件缺失的问题,经过一番折腾,顺利解决(解决过程请参见我的另外一篇博客“linux(ubuntu)编译linux内核提示openssl/opensslv.h文件缺失”)。然后就进而想编译一个arm的版本出来,放到我的mini2440开发板上跑一跑。

于是按照博客(移植Linux3.4.2版本内核到mini2440)的步骤,修改makefile,指定交叉编译器(arm-linux-gcc)和配置文件(s3c2410_defconfig),运行make uImage命令。大约半个多小时后,提示:

  CC      arch/arm/boot/compressed/decompress.oAS      arch/arm/boot/compressed/debug.oCC      arch/arm/boot/compressed/string.oSHIPPED arch/arm/boot/compressed/lib1funcs.SAS      arch/arm/boot/compressed/lib1funcs.oSHIPPED arch/arm/boot/compressed/ashldi3.SAS      arch/arm/boot/compressed/ashldi3.oSHIPPED arch/arm/boot/compressed/bswapsdi2.SAS      arch/arm/boot/compressed/bswapsdi2.oLD      arch/arm/boot/compressed/vmlinuxOBJCOPY arch/arm/boot/zImageKernel: arch/arm/boot/zImage is readyUIMAGE  arch/arm/boot/uImage
"mkimage" command not found - U-Boot images will not be built
make[1]: *** [arch/arm/boot/uImage] 错误 1
make: *** [uImage] 错误 2

百度一下,发现是因为系统缺少mkimage工具导致,解决办法很简单,直接安装一下这个工具就好:

leon@Ubuntu:~/linux$ sudo apt-get install uboot-mkimage
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
将会安装下列额外的软件包:u-boot-tools
下列【新】软件包将被安装:u-boot-tools uboot-mkimage
升级了 0 个软件包,新安装了 2 个软件包,要卸载 0 个软件包,有 221 个软件包未被升级。
需要下载 71.4 kB 的软件包。
解压缩后会消耗掉 245 kB 的额外空间。
您希望继续执行吗?[Y/n]y
获取:1 http://cn.archive.ubuntu.com/ubuntu/ precise/main u-boot-tools amd64 2011.09-2 [60.4 kB]
获取:2 http://cn.archive.ubuntu.com/ubuntu/ precise/main uboot-mkimage all 2011.09-2 [11.0 kB]
下载 71.4 kB,耗时 0秒 (201 kB/s)
Selecting previously unselected package u-boot-tools.
(正在读取数据库 ... 系统当前共安装有 166411 个文件和目录。)
正在解压缩 u-boot-tools (从 .../u-boot-tools_2011.09-2_amd64.deb) ...
Selecting previously unselected package uboot-mkimage.
正在解压缩 uboot-mkimage (从 .../uboot-mkimage_2011.09-2_all.deb) ...
正在处理用于 man-db 的触发器...
正在设置 u-boot-tools (2011.09-2) ...
正在设置 uboot-mkimage (2011.09-2) ..

然后再次运行生成命令,顺利成功!

leon@Ubuntu:~/linux$ make uImageCHK     include/config/kernel.releaseCHK     include/generated/uapi/linux/version.hCHK     include/generated/utsrelease.hCHK     include/generated/bounds.hCHK     include/generated/timeconst.hCHK     include/generated/asm-offsets.hCALL    scripts/checksyscalls.shCHK     include/generated/compile.hKernel: arch/arm/boot/Image is readyKernel: arch/arm/boot/zImage is readyUIMAGE  arch/arm/boot/uImage
Image Name:   Linux-4.9.0-dirty
Created:      Tue Jan 24 16:25:24 2017
Image Type:   ARM Linux Kernel Image (uncompressed)
Data Size:    3200648 Bytes = 3125.63 kB = 3.05 MB
Load Address: 30108000
Entry Point:  30108000

生成的可执行文件信息如下:

leon@Ubuntu:~/linux/arch/arm/boot$ file uImage
uImage: u-boot legacy uImage, Linux-4.9.0-dirty, Linux/ARM, OS Kernel Image (Not compressed), 3200648 bytes, Tue Jan 24 16:25:24 2017, Load Address: 0x30108000, Entry Point: 0x30108000, Header CRC: 0xE1FE38F1, Data CRC: 0x5E772F78

搞定!收工!

64位ubuntu 12.04编译linux内核提示mkimage command not found相关推荐

  1. 64位ubuntu 12.04编译linux内核提示openssl/opensslv.h文件缺失

    今天心血来潮,想编译一下linux内核来玩玩.从git上下载了最新版本的源码,放在我的ubuntu系统下,首先从现有ubuntu系统的boot目录下,拷贝了config-3.13.0-32-gener ...

  2. 64位ubuntu 12.04系统编译busybox遇到的问题处理办法

    今天研究了一下busybox的编译.自己下了一个busybox-1.25.0的版本(直接从busybox官网上下载:https://busybox.net/downloads/),进行编译,遇到了一些 ...

  3. 64位Ubuntu 12.04下搭建嵌入式Qt(4.8.6)、QtCreator、qvfb过程全记录

    最新公司搞一个新项目,需要在Linux下进行UI界面设计.选来选去,最后选择采用Qt平台来做,于是要开始研究一下Qt. Qt作为业内最著名的UI开发工具之一,是一套完整的跨平台C++图形用户界面应用程 ...

  4. 64位Ubuntu 12.04系统下安装Qt library和Qt Creator全过程记录

    最新公司搞一个新项目,需要在linux下进行UI界面设计.选来选去,最后选择采用Qt平台来做,于是要开始研究一下Qt. Qt作为跨平台的C++图形用户界面库,可以说是功能强大.应用广泛.相关的教程和资 ...

  5. 64位ubuntu 12.04下如何解决中文乱码的问题

    一.Ubuntu默认的中文字符编码 Ubuntu默认的中文字符编码为zh_CN.UTF-8, 这个可以在/etc/environment中看到: sudo gedit /etc/environment ...

  6. 编译linux内核出现mkimage command not found错误

    mkimage是uboot生存的工具,编译uboot后在uboot/tools下面.然后将其拷贝到/usr/bin目录下并改变他的权限.就行了.

  7. linux系统嵌入式编译环境,64位Ubuntu 16.04搭建嵌入式交叉编译环境arm-linux-gcc过程图解...

    64位Ubuntu 16.04搭建嵌入式交叉编译环境arm-linux-gcc过程图解,开发裸机环境之前需要先搭建其开发环境,毕竟工欲善其事必先利其器嘛. 安装步骤 1.准备工具安装目录 将压缩包ar ...

  8. pps linux版 x64,64位Ubuntu 12.10成功安装PPS网络电视(PPStream)

    有的朋友说在Linux下就别用PPS网络电视(PPStream) .PPStream官方在早些时候发布了支持旧版本Ubuntu的PPS网络电视,让血多朋友在Ubuntu下用Wine安装PPStream ...

  9. Ubuntu20.04编译Linux内核

    Ubuntu20.04编译Linux内核 下载Linux源码 生成.config文件 编译Linux内核 下载Linux源码 Linux源码可以从Linux内核官网进行下载,如下图所示,我下载的是5. ...

最新文章

  1. Spring Data JPA 复杂/多条件组合分页查询
  2. Python LOGGING使用方法
  3. oracle段管理方式设为自动,oracle自动段管理ASSM笔记
  4. 【LeetCode】36. Valid Sudoku
  5. 二十四种设计模式:装饰模式(Decorator Pattern)
  6. Halcon学习笔记:读取多张图片
  7. [转载]onclientclick和onclick区别
  8. (76) Clojure: Why would someone learn Clojure? - Quora
  9. windows NET命令的使用
  10. Altium Designer原理图与PCB设计学习笔记6——AD如何在多个原理图中查找相同的网络标号
  11. c语言出现错误c1083,DES 算法,出现异常:fatal error C1083: Cannot open include file: 'des_encode.h'...
  12. 计算机辅助教学应用于哪些方面,计算机辅助教学在英语教学中的运用
  13. 心理测试单机小软件,十个有趣的心理小测试 好玩的心理测试题
  14. 英语——长难句分析及技巧
  15. Android调用相机拍照高清原图(兼容7.0)
  16. work@Alibaba
  17. compareAndSet
  18. windows全局激活conda(包括cmd,powershell,pycharm)
  19. 设计模式 考试题+答案
  20. python爬取今日头条后台数据_爬虫爬取今日头条数据代码实现

热门文章

  1. 四周有阴影_外面阳光普照,而有人需要到阴影处躲避
  2. 搞不清边缘计算几款产品差异?动动小手点这里!
  3. windows安装mongodb(快速简易版)
  4. 前端学习 -- Css -- 属性选择器
  5. 从mysql的官网下载tar.gz结尾的mysql
  6. HTML特殊字符大全2
  7. Linux 帐户管理
  8. linux的mount(挂载)命令详解(转)
  9. PHP的Smarty较为完整的笔记
  10. 关于JAP FetchType.LAZY(hibernate实现)的理解