没有合适的资源?快使用搜索试试~ 我知道了~
嵌入式系统/ARM技术中的zImage内核镜像解压过程详解
4 下载量 37 浏览量
2020-11-12
06:44:50
上传
评论
收藏 79KB PDF 举报
温馨提示
作者:刘洪涛,华清远见嵌入式培训中心讲师。 本文以linux-2.6.14内核在S3C2410平台上运行为例,讲解内核的解压过程。 内核编译完成后会生成zImage内核镜像文件。关于bootloader加载zImage到内核,并且跳转到zImage开始地址运行zImage的过程,相信大家都很容易理解。但对于zImage是如何解压的过程,就不是那么好理解了。本文将结合部分关键代码,讲解zImage的解压过程。 先看看zImage的组成吧。在内核编译完成后会在arch/arm/boot/下生成zImage。 在arch/armboot/Makefile中:
资源推荐
资源详情
资源评论




















嵌入式系统嵌入式系统/ARM技术中的技术中的zImage内核镜像解压过程详解内核镜像解压过程详解
作者:刘洪涛,华清远见嵌入式培训中心讲师。 本文以linux-2.6.14内核在S3C2410平台上运行为例,讲
解内核的解压过程。 内核编译完成后会生成zImage内核镜像文件。关于bootloader加载zImage到内核,并
且跳转到zImage开始地址运行zImage的过程,相信大家都很容易理解。但对于zImage是如何解压的过程,就不
是那么好理解了。本文将结合部分关键代码,讲解zImage的解压过程。 先看看zImage的组成吧。在内核编
译完成后会在arch/arm/boot/下生成zImage。 在arch/armboot/Makefile中:
作者:作者:刘洪涛,华清远见嵌入式培训中心讲师。
本文以linux-2.6.14内核在S3C2410平台上运行为例,讲解内核的解压过程。
内核编译完成后会生成zImage内核镜像文件。关于bootloader加载zImage到内核,并且跳转到zImage开始地址运行
zImage的过程,相信大家都很容易理解。但对于zImage是如何解压的过程,就不是那么好理解了。本文将结合部分关键代
码,讲解zImage的解压过程。
先看看zImage的组成吧。在内核编译完成后会在arch/arm/boot/下生成zImage。
在arch/armboot/Makefile中:
$(obj)/zImage: $(obj)/compressed/vmlinux FORCE
$(call if_changed,objcopy)
由此可见,zImage的是elf格式的arch/arm/boot/compressed/vmlinux二进制化得到的
在arch/armboot/compressed/Makefile中:
$(obj)/vmlinux: $(obj)/vmlinux.lds $(obj)/$(HEAD) $(obj)/piggy.o \
$(addprefix $(obj)/, $(OBJS)) FORCE
$(call if_changed,ld)
$(obj)/piggy.gz: $(obj)/../Image FORCE
$(call if_changed,gzip)
$(obj)/piggy.o: $(obj)/piggy.gz FORCE
其中Image是由内核顶层目录下的vmlinux二进制化后得到的。注意:arch/arm/boot/compressed/vmlinux是位置无关的,
这个有助于理解后面的代码。,链接选项中有个 –fpic参数:
EXTRA_CFLAGS := -fpic
总结一下zImage的组成,它是由一个压缩后的内核piggy.o,连接上一段初始化及解压功能的代码(head.o misc.o),组成
的。
下面就要看内核的启动了,那么内核是从什么地方开始运行的呢?这个当然要看lds文件啦。zImage的生成经历了两次大
的链接过程:一次是顶层vmlinux的生成,由arch/arm/boot/vmlinux.lds(这个lds文件是由arch/arm/kernel/vmlinux.lds.S生成
的)决定;另一次是arch/arm/boot/compressed/vmlinux的生成,是由arch/arm/boot/compressed/vmlinux.lds(这个lds文件是
由arch/arm/boot/compressed/vmlinux.lds.in生成的)决定。zImage的入口点应该由arch/arm/boot/compressed/vmlinux.lds决
定。从中可以看出入口点为‘_start’
OUTPUT_ARCH(arm)
ENTRY(_start)
SECTI*
{
. = 0;
_text = .;
.text : {
_start = .;
资源评论


weixin_38654220
- 粉丝: 10
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 基于价值创造的电网企业全景流程地图和指标网络构建及应用.docx
- 物业验收交接书.doc
- 电梯安装及调试工法.doc
- 洗涤塔与排气筒整改专案.pptx
- 同步无线Mesh网络带宽申请与分配策略的改进.docx
- 街道led路灯工程质量控制流程图.doc
- 工程计量与计价基础知识.ppt
- 公司年度招聘计划书-.doc
- 互联网企业预算管理问题及对策浅析.docx
- 改建铁路某段电气化改造工程报告书(简本).doc
- [四川]框架核心筒结构办公楼塔吊基础施工方案.doc
- 《网络传播概论》2010雷跃捷版第5章.ppt
- BLACKBOARD网络教学平台在民法课程教学中的应用研究.docx
- 摩擦压力机作业安全技术交底.doc
- 小型建设工程施工抽签定标招标文件示范文本.doc
- 宜万铁路无碴轨道施工质量细则.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
