System V init启动过程
概括地讲,Linux/Unix系统一般有两种不同的初始化启动方式.
1) BSD system init
2) System V init
大多数发行套件的Linux使用了与System V init相仿的init也就是Sys V init,它比传统的BSD system init更容易且更加灵活, System V init的主要思想是定义了不同的"运行级别(runlevel)". 通过配置文件/etc/inittab定义了系统引导时的运行级别, 进入或者切换到一个运行级别时做什么. 每个运行级别对应于一个子目录/etc/rc.d/rc n.d.
以下是一个大致的System V init过程:
(1)init 过程执行的第一个脚本是/etc/rc.d/rc.sysinit, 它主要做在各个运行级别中进行初始化工作,包括: 启动交换分区;检查磁盘;设置主机名;检查并挂载文件系统;加载并初始化硬件模块.
(2)执行缺省的运行级别模式
这一步的内容主要在/etc/inittab中体现, inittab文件会告诉init进程要进入什么运行级别,以及在哪里可以找到该运行级别的配置文件.
(3)执行/etc/rc.d/rc.local脚本文件
这也是init过程中执行的最后一个脚本文件,所以用户可以在这个文件中添加一些需要在登录之前执行的命令.
(4)执行/bin/login程序
Busybox init启动过程分析
它的init进程主要进行以下工作:
<*> 为init进程设置信号处理进程