2733|0

127

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

简单明了!嵌入式Linux启动过程详解 [复制链接]

init阶段(1
1.确定用户登录模式
“/etc/inittab”中列出了如下所示的登录模式,主要有单人维护模式、多用户无网络模式、文字界面多用户模式、X-Windows多用户模式等。其中的单人维护模式(runlevel1)是类似于Windows中的安全模式,在这种情况下,系统不加载复杂的模式从而使系统能够正常启动。在这些模式中最为常见的是35,其中本系统中默认的为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
程序流程图如下:file:///C:\Users\郭晓娟\AppData\Local\Temp\ksohtml\wps8263.tmp.jpg

此帖出自ARM技术论坛
点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表