全面解析Linux 内核 3.10.x - 编译前的准备

From: 全面解析Linux 内核 3.10.x - 本文章完全基于MIPS架构

2015年的第一场雪,比以往时候来的更早一些 - 凛冬将至

1、内核最终呈现给我们的形态什么?

万事万物都有它最原始的形态,也有它千变万化的形态!但万变不离其宗,同根同源!

a、内核镜像的几种分类?

大概分为2类: 
1.elf 格式镜像(原始) 
vmlinux – 编译后生成的最原始的内核镜像(默认包含所有的符号信息,故而比较大) 
vmlinxz – 为压缩格式 
2.Image 格式镜像(objcopy转化过的二进制格式) 
Image – vmlinux 通过objcopy 转化过的二进制文件,未压缩 
zImage – 压缩文件,是由vmlinux(去掉符号信息的) + 解压代码通过gzip压缩而成 
bImage – big zImage,表示压缩强度比zImage高,内容一样 
uImage – zImage + 头信息 (此格式可能更适合uboot,仅仅是可能更合适而已,其实每种都是合适的) 
xipImage – 此格式一般用于自启动的norflash

2、我们一般需要哪种形态?支持这种形态的前提都有哪些?

上述几种格式其实都适合做启动文件,就看你的boot或者(x86上其他引导程序)的支持了! 
支持这些格式的前提是什么呢? 
既然上面我们说都适合做启动文件,但是总归得选一种吧,选择不同有何区别呢? 
问题终于显现了: 
1.几种文件对于我们的区别在哪里? 
2.引导程序或者boot的支持各种文件的区别在哪里? 
第一个问题: 
几种格式我们都在上面做出了简单的分析!其实对我们而言每种格唯一的区别就是头信息,对自带的头信息! 
grub应该比较简单,就是去寻找镜像位置,符号表位置,配置文件位置,然后引导(这里我步专门去研究), 
我需要研究的是uboot的引导,对boot而言,上面几种格式唯一的区别就是头信息,有的自带头信息,有的不带头信息,带头信息需要将头信息读出来,而后使用boot四个碉堡的fw_arg0 - fw_arg3去给内核传参而已,Ps这里我们暂时知道就行(后续会单独在boot的分析中体现出来)! 
第一个问题的答案先是意见,那就是不同格式的文件对我们而言区别并不是很大! 
第二个问题: 
通过第一个问题,第二个问题可回答为在boot阶段其实对各个文件的支持并没有多大区别,就看你想使用那一种格式了,不同格式的镜像文件在boot中的解析不一样(可随意更改)!

3、如何得到这种形态?

这个问题可能才是我们大多数人比较关心的问题,因为百分之八十的人一般是不会主动修改boot的,一般根据boot的支持来选择一种格式即可! 
前面我们已经知道vmlinux 是编译后得到的最终内核镜像! 
这里就已经进入到编译阶段需要了解的东西了! 
其它几种是怎么生成的呢? 
让我们把这些问题留在下一节进行一一处理

4、跑在21世纪的大道上

说了这么多,马上就要真正的去体验21世纪最伟大的开源工程,作为21世纪的美丽新世界,Linux Kernel 肩负着他自己的使命,到2015年,内核伴随linux已经走过了风风雨雨的24年(Linux诞生的那年(1991.10.5.),也就是我诞生的那年(1991.10.xx)),我也步履蹒跚的走过了24年,从第一次接触内核到如今也已经有3个念头,想想也蛮兴奋的!当今世界,最流行的移动操作系统Android,使用的是Liunx Kernel,占有率最高的服务器操作系统依然使用的Linux Kernel!全世界人民都在享受科技发展带来的便利,Linux 已经是世界上最成功的操作系统之一!而在未来十年,这种情况会愈演愈烈!如此作为一个内核工程师(虽然是菜B),我也有我的梦想,我真诚的希望在未来的某一天,我也可以提交我的patch或者我的模块到Kernel. 哪怕只有一个patch..

做一件事情病把它做好,最后,你的辛苦付出将会获得你想要的回报!加油吧!

By: Keven - 点滴积累

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值