启动过程这块内容还蛮多的,因此得慢慢来分析,在此之前我也收集到了很多资料,这里将这些整理加上自己的一些理解。好不容易啊,总算开始内核源代码之旅了,我们要珍惜这来之不易的这个时刻。
要得到内核结构,我们有很多种方法,比如查看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: PC机的Boot Load
linux内核学习(9)启动全过程概述之内核映像结构
最新推荐文章于 2022-08-11 16:29:31 发布
本文详细介绍了Linux内核启动过程,包括BootLoader、setup.elf和vmlinux的组成及作用。BootLoader由BIOS和硬盘MBR中的Boot Loader构成,setup.elf分为启动扇区和setup扇区,vmlinux是解压程序和内核映像压缩包的组合。通过对这些组件的分析,有助于深入理解Linux内核的启动全过程。
摘要由CSDN通过智能技术生成