土木在线论坛 \ 电气工程 \ 电气工程施工 \ 简单明了!嵌入式Linux启动过程详解

简单明了!嵌入式Linux启动过程详解

发布于:2017-11-29 10:26:29 来自:电气工程/电气工程施工 [复制转发]
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
在确定了登录模式之后,就要开始将Linux 的主机信息读入 Linux 系统,其内容就是文件 “/etc/rc.d/rc.sysinit” 中的。查看此文件可以看出,在这里确定了默认路径、主机名称、 “/etc/sysconfig/network” 中所记录的网络信息等。
#System initialization.
si::sysinit:/etc/rc.d/rc.sysinit
init阶段(3
3.启动内核的外挂模块及各运行级的脚本
在此,主要是读取模块加载配置文件(/etc/modules.conf ),以确认需要加载哪些模块。嵌入式系统学习企鹅意义气呜呜吧久零久易, 接下来会根据不同的运行级(runlevel ),通过带参数(运行级)运行 “/etc/rc.d/rc” 脚本,加载不同的模块,启动系统服务。 init 进程会等待( 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. 进入用户登录界面
系统还需要配置一些异常关机的处理部分。最后通过“/sbin/mingetty” 打开几个虚拟终端( tty1~tty6 ),用于用户登录。如果运行级为 5 (图形界面启动),则运行 xdm 程序,给用户提供 xdm 图形界面的登录方式。如果在本地打开一个虚拟终端,当这个终端超时没有人登录或者太久没有人击键时,该终端会退出执行,脚本中的 “respawn” 即告诉 init 进程重新打开该终端,否则在经过一段时间之后,我们会发现这个终端消失了,无法利用 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"
#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
程序流程图如下:

这个家伙什么也没有留下。。。

电气工程施工

返回版块

8.86 万条内容 · 539 人订阅

猜你喜欢

阅读下一篇

电工在带电作业时,该如何断电接线?

电工在带电作业时,先断火线,后断零线。接线时相反,先接零线后接火线。 当有用电电器负载的请况下,不管先接火线还是零线都会产生电弧的,用电器的功率越大产生的电弧越大,一般不带负载带电作业,小负载在做好防护工作的条件下才能工作,大负载想做那电弧都不让你做。还有一点,一带负载,就会产生电流,所以在有电流的情况下,带电作业是非常危险的。但当有些情况下(小电流),又必须带电作业呢?必须做到“先把两个线头碰上(接触),然后才能接线(作业),要不就会产生电流(电弧),这时要是不注意,两只手全部接触导线的情况,就会产生电击人的危险发生。

回帖成功

经验值 +10