没有合适的资源?快使用搜索试试~ 我知道了~
嵌入式系统/ARM技术中的zImage内核镜像解压过程详解
4 下载量 143 浏览量
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币余额
我的收藏
我的下载
下载帮助


最新资源
- 单片机课程设计方案报告电子时钟.doc
- 通信信号覆盖用电信息采集终端解决方案.docx
- 浅析网络犯罪及相关问题.docx
- 程序设计类参赛作品设计与制作.ppt
- 广告英语的语言特点jsp.doc
- 大学方案(设计方案)单片机控制快热式家用电热水器方案.doc
- lilishop 商城 java商城-C语言资源
- 淘福啦凯达分享:计算机测验考试网络工程师复习总结.doc
- 运用大数据开展监督执纪的探索.docx
- C语言-第14章.ppt
- 基于信息化环境的家电制造企业财务管理创新探索.docx
- 基于单片机十字路口交通灯课程方案设计书终稿-.doc
- 网络发展不可漠视的三大异象.docx
- ta环保复合型净水剂硫酸铝生产项目管理.doc
- 如何提高项目管理中的执行力.docx
- 江苏省年度职称计算机试题.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



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