Linux系统启动过程分析
主要内容:
1. 启动过程几个主要文件简介
2. 开机过程详细说明
3. 开机过程详图
启动过程中的几个主要文件及其作用:
文件名称
(按照加载次序列出)
|
作用
|
/etc/inittab
|
定义在进入或切换各个级别时系统需要执行的动作
init在初始化系统时需要读取其中配置
|
/etc/rc.d/rc.sysinit
|
由init进程调用执行
完成下面的初始化工作:
1. 获取网络环境及主机类型
2. 测试与载入内存设备/proc及USB设备/sys
3. 决定是否启动SELinux
4. 接口设备的检测与即插即用(PNP)参数的测试
5. 用户自定义模块的加载
6. 加载核心的相关设置
7. 设置系统时间
8. 设置中断控制台(console)的字形
9. 设置RAID与LVM等硬盘功能
10. 以fsak检验磁盘文件系统
11. 进行磁盘配额quota的转换(非必要)
12. 重新以可读取模式载入系统磁盘
13. 启动quota的功能
14. 启动随机数设备
15. 清除启动过程中生成的临时文件
16. 将启动相关信息加载到/var/log/message文件中
|
/ettc/rc.d/rc
|
由init进程调用执行
根据制定的运行级别,加载或终止相应的系统服务
|
/etc/rc.local
|
由rc脚本调用执行
保存用户定义的徐开机后自动执行的命令
|
inittab文件说明:
格式: id:runlevels:action :process
id
|
用于在inittab文件中唯一标识一条记录,没有特别的意义
|
runlevels
|
用于指定记录能在哪些级别下运行(可以有多个,表示在相应的运行级均需要运行;也可以为空,为空时表示0~6都要运行)
|
action
|
用于指定记录将执行的动作类型
|
process
|
用于设置启动进程所执行的动作命令
(字段中进程可以是任意的守候进程、可执行脚本或程序)
|
|