Linux系统的启动过程

本文参考:《鸟哥的Linux私房菜》第二十章

Linux系统的启动过程

  1. 加载BIOS的硬件信息与进行自我检测,并依据设置取得第一可启动的设备;
  2. 读取并执行第一启动设备内MBR的boot loader(grub,spfdisk等程序);
  3. 依据boot loader的设置加载kernel,kernel会自动检测硬件与加载驱动程序;
  4. 在硬件驱动成功后,kernel会自动调用init进程,读取/etc/inittab配置文件,init会取得run-level信息;
  5. init执行/etc/rc.d/rc.sysinit文件准备软件执行的操作环境(如网络、时区等);
  6. init执行run-level的各个服务的启动(以script方式);
  7. init执行/etc/rc.d/rc.local文件;
  8. init执行终端模拟程序mingetty来启动login进程,最后等待用户登录。

从上面的过程中可以看到,在系统启动的过程中是需要读取配置文件的。以下说明系统在启动过程中读取的文件及注意的地方:

Linux系统的启动过程

  1. boot loader加载kernel的同时,也同时加载initrd(inital RAM disk虚拟文件系统);
  2. /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);
  3. /etc/rc.d/rc.local的读取在/etc/rc.d/rcN.d最后一个进程S99local。S99local实际是一个符号链接,链接到/etc/rc.d/rc.local;
  4. 读取配置文件或目录的顺序为:/etc/inittab,/etc/rc.d/rc.sysinit,/etc/rc.d/rcN.d,/etc/rc.d/rc.local。

你可能感兴趣的:(Linux系统的启动过程)