其他
嵌入式Linux启动过程到底发生了什么?
内核引导阶段
init阶段(1)
1.确定用户登录模式
在“/etc/inittab”中列出了如下所示的登录模式,主要有单人维护模式、多用户无网络模式、文字界面多用户模式、X-Windows多用户模式等。其中的单人维护模式(runlevel为1)是类似于Windows中的“安全模式”,在这种情况下,系统不加载复杂的模式从而使系统能够正常启动。在这些模式中最为常见的是3或5,其中本系统中默认的为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.执行脚本/etc/rc.d/rc.sysinit
#System initialization.
si::sysinit:/etc/rc.d/rc.sysinit
init阶段(3)
3.启动内核的外挂模块及各运行级的脚本
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. 进入用户登录界面
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"
#Run gettysin standard runlevels
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
#Run xdmin runlevel5
x:5:respawn:/etc/X11/prefdm-nodaemon
-END-
推荐阅读
【01】看到这些代码,我自叹不如……【02】操作系统生态战争【03】C++开发这一步必不可少:C++创建线程的方法【04】感触极深!二十年的编程,教会我的五件事!【05】天下之大无奇不有!20种最奇怪的编程语言!