(1)BIOS阶段:
BIOS硬件自检,然后找到指定的启动硬盘,
(2)硬盘引导区:BootLoader-GRUB阶段:
读取启动硬盘的MBR,依照 GRUB 引导指定的根分区内核文件,解压内核文件
(3)Linux内核阶段:
start_kernel()开始内核初始化,然后拉起Init进程
start_kernel
init_IRQ
softirq_init
init_timer
rest_init
// 创建pid=1的内核线程
kernel_init
kernel_init_freeable
do_basic_setup
driver_init
init_irq_proc
do_initcalls
load_default_modules
# 创建第一个用户进程: init进程,
// ramdisk_execute_command = "/init"
# run_init_process
do_execve
#执行 rc.sysinit
# 最后创始线程pid=0进入空转的while循环,类似于公司创始人既不管事也不退休
(4)Init进程阶段:
Init进程阶段:/etc/inittab
(4.1) /etc/rc.d/rc.sysinit
(4.2) /etc/rc.d/rcX.d
(4.3) /etc/rc.d/rc.local