第一部分:內核的引導(核內引導)
第二部分:運行init及系統初始化
init程序 需要讀取配置文件/etc/inittab。inittab是一個不可執行的文本文件,它有若干行指令所組成。
該文件決定了系統的啟動級別(1,2,3,4,5)。
inittab中有這樣一行si::sysinit:/etc/rc.d/rc.sysinit(調用執行/etc/rc.d/rc.sysinit,這個腳本中有很多小功能)。
第三部分:啟動對應運行級別的守護進程
在rc.sysinit執行後,將返回init繼續其它的動作,通常接下來會執行到/etc/rc.d/rc程序。
根據啟動級別執行相應的腳本rcx.d:
l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
rc執行完畢後,返回init。這時基本系統環境已經設置好了,各種守護進程也已經啟動了。init接下來會打開6個終端,以便用戶登錄系統。通過按Alt+Fn(n對應1-6)可以在這6個終端中切換。在inittab中的以下6行就是定義了6個終端:
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
從上面可以看出在2、3、4、5的運行級別中都將以respawn方式運行mingetty程序(拿命令行登陸方式來說,其實mingetty會調用login程序,login才是我們看到的命令行登陸界面),mingetty程序能打開終端、設置模式。同時它會 顯示一個文本登錄界面,這個界面就是我們經常看到的登錄界面,在這個登錄界面中會提示用戶輸入用戶名,而用戶輸入的用戶將作為參數傳給login程序來驗 證用戶的身份。
驗證成功後會執行/etc/profile(如果存在)文件完成相關環境初始化
例:終端輸入 :mingetty將提示入戶輸入程序(以login為例),調用login程序,login驗證通過後將執行配置文件/etc/profile(如果存在)
到此整個啟動過程就結束了。