Linux启动揭秘:BIOS引导到内核加载详解
本文档深入剖析了Linux系统从电源开启到登录界面的启动流程,对于刚接触Linux的IT同行具有很高的参考价值。整个过程可以分为以下几个关键步骤: 1. 开机BIOS自检: 当计算机上电后,CPU首先从BROM(Basic Input/Output System ROM)开始执行,这是嵌入在主板上的小型固件,负责进行初步的硬件检测和上电引导。BROM包含CPU初始化、启动介质驱动、固件更新以及签名验证等操作。它会根据硬件特性决定是进入刷机模式还是正常启动模式,并从启动介质加载第二阶段引导程序。 2. 读取MBR进行MBR引导: BIOS自检结束后,会读取硬盘的第一个扇区(MBR,Master Boot Record)中的引导记录,然后将MBR的内容复制到内存的特定地址并执行。MBR通常包含了引导装载程序(如GRUB或LILO)的引导代码,用于定位分区和加载内核。 3. 启动Bootloader: Bootloader,如u-boot(针对S32V平台),是位于内核启动前的关键组件。它分为两个阶段: - Stage1:由汇编语言编写,主要任务包括初始化异常处理、设置工作模式、关闭中断、配置CPU寄存器、初始化MMU和TLB(Memory Management Unit and Translation Lookaside Buffer),以及进行板级基础设置。 - Stage2:进一步的初始化工作,使用汇编语言编写并随后转化为C代码,涉及硬件设备的初始化,如串口等,以及将内核镜像和根文件系统映像从存储介质(如Flash)加载到RAM中,最后调用内核。 4. 内核编译与选择: 内核编译后会产生两种常见格式的镜像文件:uImage和zImage。uImage通常包含内核和启动参数,而zImage(压缩内核)则是经过gzip压缩的版本。用户可以根据需求和系统性能选择合适的内核镜像类型。 在整个启动过程中,Linux系统确保了硬件的正确配置、内存管理、设备驱动加载以及最终调用内核,这些都是后续系统运行的基础。理解这些步骤对于Linux系统管理员和开发者来说至关重要,能够帮助他们优化性能、修复问题并进行更深入的系统维护。
![](https://csdnimg.cn/release/download_crawler_static/11174827/bg4.jpg)
剩余16页未读,继续阅读
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 25
- 资源: 2
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 多模态联合稀疏表示在视频目标跟踪中的应用
- Kubernetes资源管控与Gardener开源软件实践解析
- MPI集群监控与负载平衡策略
- 自动化PHP安全漏洞检测:静态代码分析与数据流方法
- 青苔数据CEO程永:技术生态与阿里云开放创新
- 制造业转型: HyperX引领企业上云策略
- 赵维五分享:航空工业电子采购上云实战与运维策略
- 单片机控制的LED点阵显示屏设计及其实现
- 驻云科技李俊涛:AI驱动的云上服务新趋势与挑战
- 6LoWPAN物联网边界路由器:设计与实现
- 猩便利工程师仲小玉:Terraform云资源管理最佳实践与团队协作
- 类差分度改进的互信息特征选择提升文本分类性能
- VERITAS与阿里云合作的混合云转型与数据保护方案
- 云制造中的生产线仿真模型设计与虚拟化研究
- 汪洋在PostgresChina2018分享:高可用 PostgreSQL 工具与架构设计
- 2018 PostgresChina大会:阿里云时空引擎Ganos在PostgreSQL中的创新应用与多模型存储
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)