內(nèi)核引導(dǎo)階段
1、bootsect階段
2、setup階段
3、head.S階段
4、main.c階段
init階段(1)
1。確定用戶登錄模式
在“/etc/inittab”中列出了如下所示的登錄模式,主要有單人維護(hù)模式、多用戶無網(wǎng)絡(luò)模式、文字界面多用戶模式、X-Windows多用戶模式等。其中的單人維護(hù)模式(runlevel為1)是類似于Windows中的“安全模式”,在這種情況下,系統(tǒng)不加載復(fù)雜的模式從而使系統(tǒng)能夠正常啟動。在這些模式中最為常見的是3或5,其中本系統(tǒng)中默認(rèn)的為5,也就是X-Windows多用戶模式。
#Default runlevel. Therunlevels usedby RHS are:
# 0 - halt (Do NOT set initdefault tothis)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3,if you do not have networking)
# 3 - Full multiuser mode (文本界面啟動模式)
# 4 - unused
# 5 - X11 (圖形界面啟動模式)
# 6 - reboot (Do NOT set initdefault tothis)
#
id:5:initdefault:
init階段(2)
2。執(zhí)行腳本/etc/rc.d/rc.sysinit
在確定了登錄模式之后,就要開始將Linux的主機(jī)信息讀入Linux系統(tǒng),其內(nèi)容就是文件“/etc/rc.d/rc.sysinit”中的。查看此文件可以看出,在這里確定了默認(rèn)路徑、主機(jī)名稱、“/etc/sysconfig/network”中所記錄的網(wǎng)絡(luò)信息等。
#System initialization.
si::sysinit:/etc/rc.d/rc.sysinit
init階段(3)
3.啟動內(nèi)核的外掛模塊及各運(yùn)行級的腳本
在此,主要是讀取模塊加載配置文件(/etc/modules.conf),以確認(rèn)需要加載哪些模塊。接下來會根據(jù)不同的運(yùn)行級(runlevel),通過帶參數(shù)(運(yùn)行級)運(yùn)行“/etc/rc.d/rc”腳本,加載不同的模塊,啟動系統(tǒng)服務(wù)。init進(jìn)程會等待(wait)“/etc/rc.d/rc”腳本的返回。
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
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6
init階段(4)
4. 進(jìn)入用戶登錄界面
系統(tǒng)還需要配置一些異常關(guān)機(jī)的處理部分。最后通過“/sbin/mingetty”打開幾個虛擬終端(tty1~tty6),用于用戶登錄。如果運(yùn)行級為5(圖形界面啟動),則運(yùn)行xdm程序,給用戶提供xdm圖形界面的登錄方式。如果在本地打開一個虛擬終端,當(dāng)這個終端超時沒有人登錄或者太久沒有人擊鍵時,該終端會退出執(zhí)行,腳本中的“respawn”即告訴init進(jìn)程重新打開該終端,否則在經(jīng)過一段時間之后,我們會發(fā)現(xiàn)這個終端消失了,無法利用ALT+Fn切換。
init階段(5)
#Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown-t3 -r now
#When our UPS tells us power has failed, assume we have a few minutes
pf::powerfail:/sbin/shutdown-f -h +2 "Power Failure; System Shutting Down"
#If power was restored before the shutdown kicked in, cancel it.
pr:12345:powerokwait:/sbin/shutdown-c "Power Restored; Shutdown Cancelled"
#Rungettysin standardrunlevels
1:2345:respawn:/sbin/mingettytty1
2:2345:respawn:/sbin/mingettytty2
3:2345:respawn:/sbin/mingettytty3
4:2345:respawn:/sbin/mingettytty4
5:2345:respawn:/sbin/mingettytty5
6:2345:respawn:/sbin/mingettytty6
#Runxdminrunlevel5
x:5:respawn:/etc/X11/prefdm-nodaemon
程序流程如下:
-
內(nèi)核
+關(guān)注
關(guān)注
3文章
1391瀏覽量
40602 -
Linux
+關(guān)注
關(guān)注
87文章
11373瀏覽量
211298
原文標(biāo)題:Linux啟動過程簡單分析【圖】
文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
詳解STM32啟動過程
Linux和Windows系統(tǒng)啟動過程的簡單分析
Linux啟動過程詳解
嵌入式Linux系統(tǒng)的構(gòu)成和啟動過程
嵌入式uCLinux內(nèi)核啟動過程分析
Linux基礎(chǔ)命令之Linux啟動過程詳解

達(dá)芬奇數(shù)字媒體片上系統(tǒng)的架構(gòu)和Linux啟動過程

詳解bootloader的執(zhí)行流程與ARM Linux啟動過程分析

openwrt啟動過程詳細(xì)分析

走進(jìn)Linux之systemd啟動過程
TMS320F2812的啟動過程詳細(xì)說明
stm32啟動過程

評論