嵌入式Linux的内核镜像生成过程

本文介绍了嵌入式Linux内核镜像的生成过程,包括顶层目录的vmlinux、piggy.o的生成、Bootstrap Loader的作用以及zImage的制作。详细讲解了从配置交叉编译环境到最终生成内核镜像的步骤,涉及内核编译、压缩、链接等多个环节。
摘要由CSDN通过智能技术生成

嵌入式Linux的内核镜像生成过程

最近读了《embedded linux primer》,里面讲到了Linux内核镜像的生成过程。
感觉在这方面算是讲的比较好的。在这里翻译一下。

顶层目录的vmlinux

配置好交叉编译环境后,就可以以开始准备编译内核了。

首先需要编译生成内核头文件,然后开始编译内核。内核编译完成后,会在
顶层目录生成vmlinux ELF文件。

这个vmlinux文件包含整个内核代码,包括注释,调试符号信息等。

piggy.o

piggy.o是包含经过压缩的内核代码的object文件。piggy.o主要是为了方便与其他object文件
链接生成最终Linux内核镜像文件。

生成piggy.o文件主要包含:

  • 利用objcopy去掉vmlinux的一些辅助信息,生成镜像文件Image。

  • 利用gzip将Image压缩成piggy.gz。

  • 利用asm编译piggy.gzip.S生成piggy.o。

到此内核二进制镜像制作完成。

Bootstrap Loader

许多CPU架构都设计成通过两个阶段来加载Linux内核镜像。第一阶段为BootLoader,
第二阶段为Bootstrap Loader。每个阶段都有各自的设计目的。

Bootstrap Loader主要提供检查内核镜像完整性,解压内核镜像,内核镜像重定位功能。
Bootstrap Loader主要包括:

  • misc.o 内核解压,重定位相关代码。
  • hea
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值