深入解析系统启动流程与常见引导加载器
系统启动流程
系统启动是一个复杂且有序的过程,主要包含以下关键步骤:
1. 第一阶段引导加载器 :处理器中的代码读取内存中的特定位置,并可能在控制台或屏幕上显示消息。
2. 第二阶段引导加载器 :负责加载系统即将运行的程序,通常是Linux,但也可以是其他程序。
3. 内核解压 :若内核是压缩的,会被解压到内存中。解压完成后,通过跳转指令进入下一个可执行指令。
4. 处理器和板级初始化 :执行底层代码进行硬件初始化,之后到达内核入口点,与处理器无关的代码开始运行,为内核启动初始化进程做准备。
5. 内核入口点 :位于内核树中与架构无关的部分,具体在 init/main.c 文件的 start_kernel 函数中。
6. 挂载初始RAM磁盘 :系统挂载初始RAM磁盘,检查是否包含 /init 程序,若有则运行;若不存在或未找到,进入下一步。
7. 挂载根文件系统 :内核接收包含根文件系统的设备和文件系统类型的参数,尝试挂载该文件系统,若未找到或无法挂载则会报错。
8. 启动初始程序 :内核首先尝试运行的程序是内核参数 init 的值。若该参数未设置,系统会依次尝试运行 /s
超级会员免费看
订阅专栏 解锁全文
4

被折叠的 条评论
为什么被折叠?



