查看: 2136|回复: 16

[Linux] Linux启动过程分析

  [复制链接]

9

主题

532

帖子

3653

积分

实习版主

Rank: 12Rank: 12Rank: 12

贡献
0
技术
2
活跃
608
在线时间
67 小时
发表于 2014-8-22 17:39:25 | 显示全部楼层 |阅读模式
linux系统开就流程

cpu加电自检:power on system test(POST)
按照BIOS中的boot sequence读取磁盘MBR
BIOS中的信息存储在主板的CMOS存储芯片中,系统加电后会读取其中各项数据,包括系统启动后加载硬盘的顺序。
加载硬盘MBR中的boot loader
磁盘的每个扇区为512字节,每个磁盘的第一个扇区为磁盘的MBR,MBR中前446字节记录的是bootloader,bootloader中安装的是grub的stage1,用于指向grub主程序咋磁盘中的位置。开机加电之后,BIOS按照boot sequence找到对应磁盘,然后搜索该磁盘的MBR。
找到位于基本磁盘分区的grub程序,即进入stage2阶段,按照grub.conf配置文件对kernel以及initrd进行引导加载。

initrd解压后在内存中启动引导根目录所在的磁盘进行只读挂载
内核在grub的引导下解压载入内存,内核随即进行硬件探测、驱动程序初始化,然后引导initrd解压载入,initrd其实就是一个小型的linux系统它的作用是将在lvm或raid上根文件系统进行只读性挂载。

运行/sbin/init对系统进行初始化
根文件系统挂载之后,运行/sbin/init程序进行初始化。初始化过程按照其对应配置文件/etc/inittab进行。
/etc/inittab中的配置信息:
格式:
id:runlevel:action:process
id:标示符
runlevel:运行级别
action:对应运行级别所进行的操作
process:执行的命令
action的分类详解:
respawn:表示init程序对此process进行监控,即使此进程被终止也立即被启动;
wait:表示init进程只调用一次此process,并等待其结束后再进行下一步操作;
initdefault:表示系统运行后默认进入的运行级别;由于进入某个级别会默认开始执行对应级别的各种进程,故此处不定义process,如果此条记录不存在,在系统启动时会提示用户键入运行级别;
sysinit:系统启动时准备运行的命令,此命令直接指向系统启动后运行的第一个初始化脚本/etc/rc.d/rc.sysinint;
powerfail:表示当电源被切断后(有ups时)运行后面的process;
powerokwait:当电源监测发现电源恢复则执行后面的process;
ctrlaltdel:控制这三个组合键的功能;

rc.sysinit脚本实现功能介绍:
在init确定默认级别后即运行此初始化脚本,它的作用主要有以下几条:

n 激活udev和selinux;

n 通过读取/etc/sysctl.conf设置内核参数

n 设置系统时间

n 加载键盘映射

n 启用swap分区

n 设置主机名

n 检查根文件系统,并以读写方式重新挂载根文件系统

n 激活LVM和RAID设备

n 启动磁盘限额

n 挂载其他文件系统

n 清理过期文件锁和PID文件

/etc/rc.d/rc.sysinit这个脚本运行完毕,继续按照/etc/inittab中继续开启对应运行级别中的服务,这些服务有inittab中:
l0:0:wait:/etc/rc.d/rc 0   

l1:1:wait:/etc/rc.d/rc 1   

l2:2:wait:/etc/rc.d/rc 2   

l3:3:wait:/etc/rc.d/rc 3   

l4:4:wait:/etc/rc.d/rc 4   

l5:5:wait:/etc/rc.d/rc 5   

l6:6:wait:/etc/rc.d/rc 6


来定义,对应的rc0~6目录中是各需要开启服务的链接文件,S开头表示开启,K开头表示关闭。
所有服务开启之后,将执行respawn控制的进程:开启控制台。
开启对应运行级别的控制台,并始终监控控制台进程,一旦关闭将立即被开启。

评分

参与人数 1金币 +30 技术 +2 收起 理由
沫沫 + 30 + 2

查看全部评分

0

主题

1万

帖子

7万

积分

Cib

Rank: 13Rank: 13Rank: 13Rank: 13

贡献
0
技术
0
活跃
16094
在线时间
564 小时
发表于 2014-10-1 16:34:15 | 显示全部楼层
谢谢楼主分享。

2

主题

9412

帖子

6万

积分

Cib

Rank: 13Rank: 13Rank: 13Rank: 13

贡献
0
技术
0
活跃
14779
在线时间
645 小时
发表于 2015-2-27 07:01:11 | 显示全部楼层
坚持学习,成就技术技术之王!

0

主题

87

帖子

470

积分

Kib

Rank: 3Rank: 3

贡献
0
技术
0
活跃
104
在线时间
5 小时
发表于 2015-2-28 09:54:07 | 显示全部楼层
三通IT学院是个学习技术的好地方,加油吧各位!

0

主题

147

帖子

760

积分

Kib

Rank: 3Rank: 3

贡献
0
技术
0
活跃
88
在线时间
5 小时
发表于 2015-5-6 21:31:06 | 显示全部楼层
非常好的资料,值得学习。

2

主题

2316

帖子

1万

积分

Dib

Rank: 12Rank: 12Rank: 12

贡献
0
技术
1
活跃
3501
在线时间
318 小时
发表于 2018-2-8 12:28:53 | 显示全部楼层

坚持学习,成就技术技术之王!

0

主题

1万

帖子

7万

积分

Cib

Rank: 13Rank: 13Rank: 13Rank: 13

贡献
0
技术
0
活跃
16094
在线时间
564 小时
发表于 2020-7-3 07:34:58 | 显示全部楼层
谢谢分享,和三通IT一起成长。
使用 高级模式(可批量传图、插入视频等)
您需要登录后才可以回帖 登录 | 立即注册

快速回复 返回顶部 返回列表