编译内核提示mkimage command not found – U-Boot images will not be built

时间:2022-11-04 16:34:29

本文转自 http://blog.csdn.net/eibo51/article/details/51901480 

http://bbs.csdn.net/topics/380087004

ubuntu 14.04 64位系统编译linux kernel时make uImage提示:

“mkimage” command not found – U-Boot images will not be built

使用make uImage编译生成的内核能由uboot引导,编译时会用到mkimage工具,出现这种错误是因为编译器无法找到mkimage工具,该工具在uboot/tools目录下,以下两种方法可以解决问题:
方法一:在/etc/bashrc的末行加入以下语句:
export PATH:=$PATH:[uboot所在目录]/tools
方法二:将uboot/tools目录下的mkimage文件拷备到交叉编译环境的BIN目录:
cd [uboot所在目录]/tools


问题解决--处理过程
1、找到在 arch/arm/boot 也就是生产uImage目录下makefile(也有可能是在内核scripts/Makefile.lib中,依据不同内核版本情况而定)发现 MKIMAGE := $(srctree)/scripts/mkuboot.sh 造出uImage使用的是/scripts/mkuboot.sh命令

2、去/scripts/mkuboot.sh目录下看这个文件,发现 MKIMAGE=$(type -path "${CROSS_COMPILE}mkimage")

3、去根目录下找makefile文件发现 CROSS_COMPILE =/usr/local/arm/3.4.1/bin/arm-linux-

4、这就是mkimage文件的路径了,发现路径在/usr/local/arm/3.4.1/bin/下有mkimage文件啊,但前面这arm-linux-啥意思呢?

5、于是在/usr/local/arm/3.4.1/bin/下这个mkimage文件重命名为arm-linux-mkimage,问题解决,感谢各位