1、vmlinux
上图中可以看出make命令之后经过一系列的链接,生成vmlinux(存放在源码根目录下),是elf格式的,不是纯粹的二进制文件,不能在裸机上运行,需要通过OBJCOPY拷贝出了Image
2、Image
由上图看出Image,为二进制格式可以烧写到裸机上面调试,缺点是很大,导致下载过程中很慢,占内存多,所以内核想做个自解压,先把Image压缩了,然后再把自解压的代码放上去,运行的时候再各种自解压到内存中,这样可以节约flash
3、zImage
zImage不太符合uboot的规则,启动需要一定条件,所以有了uImage
注:新版的uboot已经能够很好支持启动zImage,反而uImage用不上了,这个我在学习正点原子的imx6ull课程中发现的
4、uImage
给uboot用的
综上所述,它们之间的关系为
vmlinux--->Image--->zImage--->uImage