本文参考:《鸟哥的Linux私房菜》第二十章
Linux系统的启动过程
- 加载BIOS的硬件信息与进行自我检测,并依据设置取得第一可启动的设备;
- 读取并执行第一启动设备内MBR的boot loader(grub,spfdisk等程序);
- 依据boot loader的设置加载kernel,kernel会自动检测硬件与加载驱动程序;
- 在硬件驱动成功后,kernel会自动调用init进程,读取/etc/inittab配置文件,init会取得run-level信息;
- init执行/etc/rc.d/rc.sysinit文件准备软件执行的操作环境(如网络、时区等);
- init执行run-level的各个服务的启动(以script方式);
- init执行/etc/rc.d/rc.local文件;
- init执行终端模拟程序mingetty来启动login进程,最后等待用户登录。
从上面的过程中可以看到,在系统启动的过程中是需要读取配置文件的。以下说明系统在启动过程中读取的文件及注意的地方:
Linux系统的启动过程
- boot loader加载kernel的同时,也同时加载initrd(inital RAM disk虚拟文件系统);
- /etc/inittab是init进程第一个读取的配置文件,从上到下分别定义了:系统默认的运行级别(id:N:initdefault,N为运行级别,下同)、系统软件执行的环境的脚本执行文件(/etc/rc.d/rc.sysinit)、7个不同run level的script放置路径(/etc/rc.d/rcN.d),启动mingetty的6个终端机(tty1-tty6);
- /etc/rc.d/rc.local的读取在/etc/rc.d/rcN.d最后一个进程S99local。S99local实际是一个符号链接,链接到/etc/rc.d/rc.local;
- 读取配置文件或目录的顺序为:/etc/inittab,/etc/rc.d/rc.sysinit,/etc/rc.d/rcN.d,/etc/rc.d/rc.local。
网友评论