【Linux】图解ARM-Linux的启动全过程






开机的程序是这样的:
1. 加载 BIOS 的硬件信息,并取得第一个开机装置的代号;
2. 读取第一个开机装置的 MBR 的 boot Loader (亦即是 lilo, grub, spfdisk 等等) 的开机信息;
3. 加载 Kernel 操作系统核心信息, Kernel 开始解压缩,并且尝试驱动所有硬件装置;
4. Kernel 执行 init 程序并取得 run-level 信息;
5. init 执行 /etc/rc.d/rc.sysinit 档案;
6. 启动核心的外挂模块 (/etc/modprobe.conf);
7. init 执行 run-level 的各个批次档( Scripts );
8. init 执行 /etc/rc.d/rc.local 档案;
9. 执行 /bin/login 程序,并等待使用者登入;
10. 登入之后开始以 Shell 控管主机。


boot loader 与 kernel 载入
由第一篇里面谈到的一些基础的主机硬件概念当中,我们知道整个主机在开机的时候,第一个被读取的地方, 就是 BIOS ( Basic Input Output System ) 啦,这个 BIOS 里面记录了主机板的芯片组与相关的设定, 例如 CPU 与接口设备的沟通频率啊、开机装置的搜寻顺序啊、硬盘的大小与类型啊、 系统时间啊、各周边总线的是否启动 Plug and Play (PnP, 随插即用装置) 啊、 各接口设备的 I/O 地址啊、以及与 CPU 沟通的 IRQ 岔断等等的信息都记录在此, 所以啰,系统要顺利的开机,首先就是要去读取 BIOS 的相关设定值了。

读完了 BIOS 并且了解了主要的主机硬件相关信息后,主机便会开始尝试由储存媒体加载操作系统了。 我们刚刚提到 BIOS 会记录『可用来开机的装置搜寻顺序』对吧!所以,系统会开始去第一个开机装置上面进行开机程序。 我们在第二篇的 磁盘档案系统(filesystem) 当中提到过整个储存装置的特性, 如果以硬盘来看,那么开机流程读到硬盘的过程中,第一个要读取的就是该硬盘的主要开机扇区 (Master Boot Record, MBR) 了,而系统可以由主要开机区所安装的开机管理程序 (boot loader) 开始执行核心辨识的工作。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值