在进入与Linux相关代码之前,会经历如下阶段。
①当系统上电或复位时,cpu会将PC指针赋值为一个特定的地址0xFFFF0,并执行该地指处的指令。在PC中,该地址位于BIOS中,它保存在主板上的ROM或Flash中。
②BIOS运行时按照CMOS的设置定义的启动设备顺序来搜索处于活动状态并且可以引导的设备。若从硬盘启动,BIOS会将硬盘MBR(主引导记录)中的内容加载到RAM中。MBR是一个512字节大小的扇区,位于磁盘上的第一个扇区中(0道0柱面1扇区)。当MBR被加载到RAM中之后,BIOS就会将控制权交给MBR。
③主引导加载程序查找并加载次引导加载程序。它在分区表中查找活动分区,当找到一个活动分区时,扫描分区表中的其他分区,以确保他们都不是活动的。当这个过程验证完成之后,就将活动分区的引导记录从这个设备中读入RAM并执行它。
④次引导加载程序加载Linux内核和可选的初始RAM磁盘,将控制权交给linux内核源代码。
⑤运行加载的内核,并启动用户空间应用程序。
Linux 内核引导流程
最新推荐文章于 2024-04-17 23:10:50 发布