本博客已迁往http://coredumper.cn
Linux系统启动流程(以CentOS为例):
2. 执行第一个可启动设备内MBR(主引导分区)的Boot Loader(如grub)。
3. 根据Boot Loader的设置加载kernel和initrd(虚拟文件系统),kernel开始检测硬件并加载内核模块(如驱动程序),有些内核模块需要通过initrd才能加载,例如SATA磁盘的驱动程序。
4. kernel调用init进程,init会取得run-level,通常run-level的默认值为3(纯文本模式)或者5(X Window模式)。
5. init执行/etc/rc.d/rc.sysinit文件来设置系统环境。
6. init启动run-level指定的各个服务(daemon进程)。
7. init执行/etc/rc.d/rc.local文件,可以将用户自定义开机启动命令写入该文件。
8. init执行终端机模拟程序mingetty来启动login进程,等待用户登录。