当前位置: 代码迷 >> 综合 >> vmlinux, zImage, Image的区别 (
  详细解决方案

vmlinux, zImage, Image的区别 (

热度:29   发布时间:2024-01-08 22:32:22.0
下面的内核编译过程,可以看出vmlinux, arch/arm/boot/compressed/vmlinux, arch/arm/boot/Image, arch/arm/boot/zImage 之间的区别
 
  LD      vmlinux
  SYSMAP  System.map
  SYSMAP  .tmp_System.map
  OBJCOPY arch/arm/boot/Image
  Kernel: arch/arm/boot/Image is ready
  AS      arch/arm/boot/compressed/head.o
  GZIP    arch/arm/boot/compressed/piggy.gz
  AS      arch/arm/boot/compressed/piggy.o
  CC      arch/arm/boot/compressed/misc.o
  AS      arch/arm/boot/compressed/head-xscale.o
  LD      arch/arm/boot/compressed/vmlinux
  OBJCOPY arch/arm/boot/zImage

vmlinux 是一个elf格式的文件
Image 是经过objcopy 处理了的只包含内核代码,数据的一个文件, 已经不是elf格式的了。此时还没有经过压缩
arch/arm/boot/compressed/vmlinux 是经过压缩的Image和加入了解压头的elf格式的文件
arch/arm/boot/zImage 是经过objcopy处理了的可以直接下到对应的地址执行的内核镜像

  相关解决方案