linux内核和文件系统格式、制作及说明

时间:2021-12-28 16:10:19

文件格式:vmlinux(vmlinuz)\.img\uImage

制作工具:make zImage;make bzImage\mkinitrd\make uImage

--------------------------------------------------------------------------------------------------------------------------------------------------------------

一、Image、zImage和uImage的区别

内核编译(make)之后会生成两个文件,一个是Image,一个是zImage,其中Image为内核映像文件,而zImage为内核的一种映像压缩文件,Image大约为4M,而zImage不到2MuImageuboot专用的映像文件,它是在zImage之前加上一个长度为64字节的“头”,说明这个内核的版本、加载位置、生成时间、大小等信息;其0x40之后与zImage没什么区别。

所以uImagezImage都是压缩后的内核映像,而uImageuboot专用的映像文件,是用mkimage工具根据zImage制作而来的。

二、uImage的制作

(编译uboot源码,编译成功后载uboot/tools目录下会生成mkimgage工具,将mkimage工具拷贝到/usr/bin/目录下即可。)

mkimage工具

       内核编译完后zImage在内核根目录下,mkimage工具在u-boot根目录下的tools文件夹中,将zImagemkimage放在同一个目录下,执行:

./mkimage -A arm -O linux -T kernel -C none -a 30008000 -e 30008000 -n linux-2.6.26 -d zImage uImage2.6.26

就将zImage转换成uImage了。