uImage zImage
uImage zImage
vmlinux 编译出来的最原始的内核文件,未压缩。
zImage 是vmlinux经过gzip压缩后的文件。
uImage U-boot专用的映像文件,它是在zImage之前加上一个长度为0x40(64)的tag。在生成的时候,需要添加“LOADADDR=0x8000”。它是在zImage之前加上一个长度为64字节的“头”,说明这个内核的版本、加载位置、生成时间、大小等信息;其0x40之后与zImage没区别。
如下图,在生成zImage时,需要添加“LOADADDR=0x8000”。zImage大小是3558128,而uImage是3558192。
bootz bootm
对于ARM来讲,可以透过bootz kernel_addr initrd_address dtb_address的命令来启动内核,即dtb_address作为bootz或者bootm的最后一次参数,第一个参数为内核映像的地址,第二个参数为initrd的地址,若不存在initrd,可以用"-"代替。
如:bootz ${loadaddr} - ${fdtaddr}
booti,引导ARM64 kernel image----Image;
bootz,引导ARM kernel image----zImage;
bootm,引导u-boot自定义的kernel image----uImage。