启动过程这块内容还蛮多的,因此得慢慢来分析,在此之前我也收集到了很多资料,这里将这些整理加上自己的一些理解。好不容易啊,总算开始内核源代码之旅了,我们要珍惜这来之不易的这个时刻。
要得到内核结构,我们有很多种方法,比如查看kbuild Makefile、Documentation,但是我选择了在网络上找,因为我们关注的重点是在于怎么分析源代码,特别是后面要分析设备驱动那块。
我 们以bzImage大内核映像为例,它由setup.elf和vmlinux组成,而vmlinux又由二进制文件setup.bin和 vmlinux.bin组成,而vmlinux.bin会进行压缩存储,变成vmlinux.bin.gz。因此bzImage有三部分组成 setup.elf、setup.bin、vmlinux.bin.gz。
在来看看它们的分布图,这里用文字描述:
0x00007c00 -- BootLoader 加载程序,位于硬盘的MBR中
0x00090000 -- 0x00090000 -- setup.elf的启动扇区512B
0x00090200 -- setup.elf的setup部分
0x00100000 -- vmlinux (这是大内核)
现在在来简单介绍一下各个部分:
1、BootLoader:<
linux内核学习(9)启动全过程概述之内核映像结构
最新推荐文章于 2021-05-03 07:16:55 发布