Image uImage与zImage的区别ide
内核编译(make)以后会生成两个文件,一个Image,一个zImage,其中Image为内核映像文件,而zImage为内核的一种映像压缩文件,Image大约为4M,而zImage不到2M。工具
那么uImage又是什么的?它是uboot专用的映像文件,它是在zImage以前加上一个长度为64字节的“头”,说明这个内核的版本、加载位置、生成时间、大小等信息;其0x40以后与zImage没区别。spa
如 何生成uImage文件?首先在uboot的/tools目录下寻找mkp_w_picpath文件,把其copy到系统/usr/local/bin目录下,这样就完成制做工具。而后在内核目录下运行make uImage,若是成功,即可以在arch/arm/boot/目录下发现uImage文件,其大小比 zImage多64个字节。it
其实就是一个自动跟手动的区别,有了uImage头部的描述,u-boot就知道对应Image的信息,若是没有头部则须要本身手动去搞那些参数。编译
U-boot的U是“通用”的意思。class
zImage 是ARM Linux经常使用的一种压缩映像文件,uImage是U-boot专用的映像文件,它是在zImage以前加上一个长度为0x40的“头”,说明 这个映像文件的类型、加载位置、生成时间、大小等信息。换句话说,若是直接从uImage的0x40位置开始执行,zImage和uImage没有任何区 别。另外,Linux2.4内核不支持uImage,Linux2.6内核加入了不少对嵌入式系统的支持,可是uImage的生成也须要设置。tools