ubuntu 20.04 安装 mkimage 工具
原创
©著作权归作者所有:来自51CTO博客作者51CTO_zhangsz的原创作品,请联系作者获取转载授权,否则将追究法律责任
问题描述
- 环境: ubuntu 20.04 ,编译 Linux 内核
- 报错信息
CC [M] drivers/usb/host/xhci-hcd.mod.o
MKITB arch/arm64/boot/Image.itb
make[2]: *** [../arch/arm64/boot/Makefile:39: arch/arm64/boot/Image.itb] Error 127
make[1]: *** [arch/arm64/Makefile:173: Image.itb] Error 2
make[1]: *** Waiting for unfinished jobs....
LD [M] sound/soc/codecs/snd-soc-rl6231.ko
LD [M] sound/soc/codecs/snd-soc-rt5651.ko
make[1]: Leaving directory '/home/rtt/bst/kernel-source-5.10/build'
make: *** [Makefile:185: __sub-make] Error 2
make[1]: Entering directory '/home/rtt/bst/kernel-source-5.10/build'
GEN Makefile
CALL ../scripts/atomic/check-atomics.sh
CALL ../scripts/checksyscalls.sh
- 最近使用一个新的虚拟机编译Linux 内核,编译完成的位置,报了一个错误,通过错误信息无法直接定位,通过错误信息,找到响应的文件,然后定位发现,原来系统缺少 mkimage 工具
安装 mkimage 的方法:
-
sudo apt install u-boot-tools
分析记录
- 报错的位置,提示某个 Makefile 文件,看看为何报错
- 原来这里调用
mkimage
生成 了 Image.itb
文件
quiet_cmd_mkitb = MKITB $@
cmd_mkitb = mkimage -f $< $@ > /dev/null 2>&1
quiet_cmd_copy_itb = COPY $@
cmd_copy_itb = cp $< $@ $(objtree)
$(obj)/Image.itb: $(srctree)/kernel_a.its FORCE
$(call cmd,mkitb)
$(call cmd,copy_itb)
- 尝试在ubuntu 20.04 中运行 mkimage 命令,发现没这个命令,这个命令是用来打包镜像文件的,所以需要安装,
$ mkimage
Command 'mkimage' not found, but can be installed with:
sudo apt install u-boot-tools
- 安装后,再次编译,发现编译正常,报错消失了,问题解决。