(收集/整理)linux 内核启动 解压缩

本文详细介绍了从vmlinux到zImage的生成过程,包括去除调试信息、压缩及链接等步骤,最终生成适用于嵌入式系统的压缩内核映像。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

zImage生成流程:

1.  vmlinux 文件:

        vmlinux 文件根据arch/arm/kernel/vmlinux.ld 生成, vmlinux属于未压缩,带调试信息、符号表的最初的内核。该文件大小约为4.3M。

2. Image文件:

    将vmlinux中的调试信息、注释、符号表等内容去除后生成该文件,这是未经压缩的linux内核,该文件大小约为3.2M。

3. piggy.gz文件:

    arch/arm/boot/Image用gzip-9 压缩生成arch/arm/boot/compressed/piggy.gz,该文件大小约为1.55M。

4. piggy.o:

    编译arch/arm/boot/compressed/piggy.s 生成arch/arm/boot/compressed/piggy.o,piggy.s将piggy.gz 作为数据段包含进 piggy.o。

5. /compressed/vmlinux:

    依据arch/arm/boot/compressed/vmlinux.lds 将arch/arm/boot/compressed/ 目录下的文件 head.o  piggy.o  misc.o   链接生成arch/arm/boot/compressed/vmlinux,这个vmlinux是经过压缩且含有自解压代码的内核,文件大小约1.5M。

6. /compressed/zImage:

    将arch/arm/boot/compressed/vmlinux 去除调试信息、注释、符号表等内容,生成arch/arm/boot/zImage,文件大小约为1.5M。


    待续...


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值