vmlinux/vmlinuxz个人理解

vmlinux/vmlinuz(相当于uboot) 然后通过objcopy这个gcc-linux-objcopy吧这个可执行程序编程Image(压缩版的相当于uboot.bin)最后他还觉得文件大,所以在bootload执行的时候Image前面自己加了一段代码(自解压代码)吧自己解压成更小的文件zImage


uImage是由zImage得到的。uImage不关linux内核任何事,linux内核只管zImage即可,然后uboot中mkimage工具再去吧zImage制作成uImage来给uboot启动。这个加工过程其实是在zImage前面加了64字节的头信息


uImage专门是给uboot启动的,zImage就是linux内核本身提供的,其实uboot启动应该给他uImage格式的内核镜像,但是后来也支持zImage格式的内核镜像,前提是定义了一个宏(LINUX_ZIMAGE_BOOT)
uboot编译后得到一个uboot和一个uboot.bin文件,uboot是可执行程序,uboot.bin是可烧录程序,是由uboot通过 arm-linux-objcopy得到的uboot.bin

猜你喜欢

转载自blog.csdn.net/lemon15071230867/article/details/80607600