背景说明
为了满足嵌入式系统更快的启动速度需求,需要对uboot进行优化,保证原有功能的情况下,减少系统启动时间。
kernel的常见格式:
在uboot中使用boot命令时,会启动kernel,其中涉及到kernel的压缩与解压。
- vmlinux:vmlinuz是可引导的、可压缩的内核镜像,vm代表 Virtual Memory。是由用户对内核源码编译得到,实质是elf格式的文件,内含符号表,可用于调试。
- Image:Image是经过objcopy处理的只包含二进制数据的内核代码,未经过压缩。
- zImage或Image.gz:zImage是ARM linux常用的一种压缩镜像文件,它是由vmlinux加上解压代码经gzip压缩而成,命令格式是#make zImage,这种格式的Linux镜像文件多存放在NAND上。
- bzImage:bz表示big zImage,其格式与zImage类似,但采用了不同的压缩算法,都是使用了gzip压缩成,bzImage的压缩率更高,适用于大内核。
- uImage:uImage是uboot专用的镜像文件,它是在zImage之前加上一个长度为0x40的头信息(tag),在头信息内说明了该镜像文件的类型、加载位置、生成时间、大小等信息.换句话说,若直接从uImage的0x40位置开始执行,则zImage和uImage没有任何区别.命令格式是#make