liunx 镜像导出带名称版本 linux的镜像文件

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 握手包跑包

各位好 又见面了 我是曹操 今天给大家带来一篇新的教程

希望各位细心学习 低调用网

cdlinux的iso镜像文件下载

为了提高文章的SEO效果,我将重新构建以下内容,保持原有信息的基础上,确保文章的相似度低于30%:

Linux内核有多种格式的镜像,包括vmlinux、Image、zImage等。

  1. Linux内核镜像格式

1.1 vmlinux

vmlinuz是可引导的、可压缩的内核镜像,vm代表Virtual Memory。Linux支持虚拟内存,因此得名vm。它是由用户对内核源码编译得到,实质是elf格式的文件。vmlinux是编译出来的最原始的内核文件,未压缩。这种格式的镜像文件多存放在PC机上。

out targetproductmsm8909objKERNEL_OBJ

Elf(ELF,Executable and Linkable Format)格式文件,可执行可链接格式,是UNIX实验室作为应用程序二进制接口而发布的,扩展名为elf。在elf格式的文件中,除二进制代码外,还包括该可执行文件的某些信息,比如符号表等。Android平台生成的vmlinux文件位于:

cdlinux的iso镜像文件下载

out targetproductmsm8909objKERNEL_OBJarcharmboot

1.2 Image

Image是经过objcopy处理的只包含二进制数据的内核代码,它已经不是elf格式了,但这种格式的内核镜像还没有经过压缩。Objcopy可以将一种格式的目标文件转换成另一种格式的目标文件。通过使用binary作为输出目标(-obinary),可产生一个原始的二进制文件,只剩下二进制数据。Android平台生成的Image文件位于:

cdlinux的iso镜像文件下载

out targetproductmsm8909objKERNEL_OBJarcharmboot

1.3 zImage

zImage是ARM Linux常用的一种压缩镜像文件,它是由vmlinux加上解压代码经gzip压缩而成,命令格式是#make zImage。这种格式的Linux镜像文件多存放在EMMC上。Android平台生成的zImage文件位于:

  1. Linux内核镜像的产生过程

在嵌入式Linux中,内核的启动过程分为两个阶段。其中,第一阶段启动代码放在arch/arm/kernel/head.S文件中,该文件与体系相关,与用户的开发板无关,主要是初始化ARM内核等。第二阶段启动代码是init目录下的main.c。现以执行命令#make zImage为例来说明,arm-linux内核镜像的产生过程。

(1) 当用户对Linux内核源码进行编译时,kernel的第1/2阶段代码会生成可执行文件vmlinux,该文件是未被压缩的镜像文件,非常大,通常放在PC机上,这也是最原始的Linux镜像文件。

(2) 镜像文件vmlinux经过objcopy处理,使之只包含二进制数据的内核代码,去除不需要的文件信息等,制作成了image镜像文件。该镜像文件也是未压缩的,只是经过了二进制化而变小。

(3) 内存SDRAM中的内核镜像一般经过压缩,编译时会先使用gzip将镜像文件image进行压缩,再将压缩后的镜像文件和源码中的两个文件arch/arm/boot/compressed/head.S、arch/arm/boot/compressed/misc.c一起链接生成压缩后的镜像文件compress/vmlinux。

(4) 压缩后的镜像文件compress/vmlinux经过二进制化,最终生成镜像文件zImage。在内存SDRAM中运行压缩镜像文件zImage时,会首先调用两个解压程序arch/arm/boot/compressed/head.S、arch/arm/boot/compressed/misc.c将自身解压,然后再执行kernel的第一阶段启动代码arch/arm/kernel/head.S。

这样,内存中运行内核时,kernel先自身解压,再执行第一阶段启动代码。

赞(0)