我们知道,在我们make menuconfig配置好我们的内核之后,紧接着我们是make编译我们的内核。编译好后,我们可以看到:
在/arch/xxx/boot目录下有两个文件 Image 和 zImage
在/arch/xxx/boot/compressed目录下有vmlinux这个文件
那么这几个关于内核的文件有什么区别呢?
Image: 是经过objcopy处理了的只包含内核代码和数据的一个文件,这个文件是一个Binary格式的文件,已经不是ELF格式的文件了,不过此时还没有经过压缩。
zImage: 是经过objcopy处理了的一个Binary格式的文件,也已经不是一个ELF格式的文件了。与Image不同的是,zImage这个文件是经过压缩了的文件,可以直接下到对应的地址执行的内核镜像。实际上,在zImage的映像中,包含未被压缩的部分。这部分中包含着解压缩程序,解压缩程序会解压映像中被压缩的部分。
vmlinux: 是由经过压缩的Image 和加入解压头文件组成的ELF格式文件
参考链接:http://blog.chinaunix.net/uid-792603-id-2546535.html
阅读(1249) | 评论(0) | 转发(0) |