本博客已遷往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進程,等待用戶登錄。