1 vmlinux:
说明:vmlinux是非压缩的ELF对象,并且包括symbols,comments,debug info(如果用-g编译)
在根目录下,会产生一个vmlinux , 这个是第一产生的image,它包括如下:
arch/arm/kernel/head.o ----> head.S
arch/arm/kernel/init-task.o
init ---> main.c ,start_kernel函数在此
usr/built-in.o
arch/arm/kernel
arch/arm/mm
arch/arm/common
arch/arm/mach-XXX
arch/arm/nwfpe
kernel
mm
fs
ipc
security
/lib/lib.a
arch/arm/lib
drivers
net
2:Image : 在 .arch/arm/boot下
vmlinux去掉注释,调试信息,符号表,用objcopy命令
3:vmlinux: 此文件 为 arch/arm/boot/compressed/vmlinux
将Image用 gzip 压缩 -> piggy.gz ,然后用asm变成 piggy.o
piggy.o
misc.o --->>arch/arm/boot/compressed/misc.c
head.o --->>arch/arm/boot/compressed/head.S
4: arch/arm/boot/compressed/vmlinux 用OBJCOPY 去除misc.c,head.S中的symbols,comments,debug info,变为zImage
5:uboot启动使用的uimage:
uImage是在zImage(缺省生成的uImage是在zImage基础上)或者.arch/arm/boot/Image(非压缩的内核)加上一个头,长度为64字节.头的信息为image_header_t结构