【转】inittab文件
原文网址:http://blog.csdn.net/shuaishuai80/article/details/6202482
(1)init进程的作用
使用uboot下载Linux内核时,环境变量bootargs决定了kernel向根文件系统传递的参数,这些参数包括
bootargs=noinitrd root=/dev/mtdblock2 init=/linuxrc console=ttySAC0
<1>root:指定了根文件系统在Flash分区中的位置
<2>console:指定了内核启动后首选的控制台.
<3>init:指定了Linux内核启动完毕后调用的第一个、也是唯一的一个用户态进程,即进程号为1的进程.其中,参数"init=linuxrc"非常重要.由于init进程是kernel启动后的第一个、也是唯一的一个用户态进程,用户的许多应用程序,比如Mplayer、Qt、Boa都由该进程来启动,换句话说,init进程是所有进程的发起者.
(2)linuxrc文件的作用
<1>在嵌入式Linux中,init进程的执行程序通常是二选其一.这两个执行程序分别是/sbin/init程序,或者是Busybox生成的linuxrc程序.init进程的作用即这个程序的功能.init进程具体运行哪个程序,则由uboot的环境变量bootargs决定,即init=/linuxrc.通常采用命令行参数"init=xxxx"指定某个程序作为init进程运行.比如,init=linuxrc.可以说,linuxrc程序的作用就是init进程的作用.
<2>linuxrc是一个程序,它的执行流程如下所示.其中,如何解析inittab文件可以由用户设定,其它两个一般都不会修改.
1、设置信号处理函数.
2、初始化控制台.
3、解析inittab文件.
(3)/etc/inittab文件的作用
从上可知,init进程,或者说linuxrc程序最后会解析inittab文件.inittab,可以理解为init table(初始化表),它只是一个普通文件,但系统会根据/etc/inittab的内容启动相关进程或脚本.
(1)如果存在/etc/inittab文件,Busybox init程序解析它,然后按照它的指示创建各种子进程,否则使用默认的配置创建子进程.
(2)/etc/inittab文件中每个条目用来定义一个子进程,并确定它的启动方法,格式如下
<id> : <runlevels> : <action> : <process>
<1>id :表示这个子进程要使用的控制台,如果省略,则使用与init进程一样的控制台.
<2>runlevels:这个字段没有意义,可以省略。在linux有意义.
<3>action:表示init进程如何控制这个子进程,具体取值见下表.
<4>process:要执行的程序,它可以是可执行程序,也可以是脚本.如果process字段前有“-”字符,这个程序被称为“交互的”.
【attention】action取值
名称 执行条件 说明
sysinit 系统启动后最先执行 指定初始化脚本路径,只执行一次,init进程等待它结束才继续执行其它动作
wait 系统执行完sysinit进程后 只执行一次,init进程等待它结束才继续执行其它动作
once 系统执行完wait进程后 只执行一次,init进程不等待它结束
respawn 启动完once进程后 init进程监测发现子进程退出时,重新启动它,永不结束.如Shell命令解释器
askfirst 启动完respawn进程后 与respawn类似,不过init进程先输出“Please press Enter toactivate this console”,等用户输入回车后才启动子进程
shutdown 当系统关机时 即重启、关闭系统时执行的程序
restart 系统重启时 init进程重启时执行的程序,通常是init程序本身先重新读取、解析/etc/inittab文件,再执行restart程序
ctrl+alt+del 按下Ctrl+Alt+Del键时 按Ctrl+Alt+Del组合键时执行的程序
(3)inittab文件例程
<1>::sysinit:/etc/init.d/rcS
1.该条目的id省略,表示使用与init进程一样的控制台.
2.该条目的runlevels在嵌入式Linux中都会省略.
3.该条目的action是sysinit,表示系统启动后最先执行.
4.该条目的process是/etc/init.d/rcS,表示系统启动后最先执行脚本/etc/init.d/rcS.
<2>::respawn:-/bin/login
1.该条目的id省略,表示使用与init进程一样的控制台.
2.该条目的runlevels在嵌入式Linux中都会省略.
3.该条目的action是respawn,表示init进程监测发现子进程退出时,重新启动它,永不结束.
4.该条目的process是/bin/login,表示init进程监测发现/bin/login子进程退出时,重新启动它,永不结束.
【转】inittab文件的更多相关文章
- 转:/etc/inittab文件的字段及其说明
/etc/inittab文件中每个登记项的结构都是一样的,共分为以冒号“:”分隔的4个字段.具体如下: identifier : run_level : action : pro ...
- 转:嵌入式linux启动时运行的inittab文件
嵌入式系统下的linux启动配置文件,不同与普通的PC linux启动配置,启动相关文件与文件的内容也要少得多.嵌入式系统下的linux启动过程一般是: 1 在bootloader中制定各种要 ...
- inittab文件剖析[CentOS 5.X](第二版)
inittab文件剖析[CentOS 5.X] grep -v "^#" /etc/inittab | more #过滤掉以#开头的行 inittab文件格式 id:runleve ...
- /etc/inittab文件详解
/etc/inittab由/sbin/init程序解析调用,用于系统初始化,/sbin/init可参考源码busybox中init.c的实现方式. 原址如下: http://leejia.blog.5 ...
- Linux 改动inittab文件及忘记密码等导致无法进入系统的解决办法
改动inittab文件及忘记密码等导致无法进入系统的解决办法[摘] by:授客 QQ:1033553122 inittab是linux的系统启动模式配置文件,在”/etc“文件目录下没,其内容是: # ...
- linux中inittab文件详解
init的进程号是1(ps -aux | less),从这一点就能看出,init进程是系统所有进程的起点,Linux在完成核内引导以后,就开始运行init程序. init程序需要读取配置文件/etc/ ...
- Linux下inittab文件详解
/etc/inittab文件详解 Linux系统的启动过程为:加电自检-->根据BIOS中的设置从指定的设备启动-->找到设备MBR中的bootloader引导启动系统-->启动ke ...
- 【转】linux中inittab文件详解
原文网址:http://www.2cto.com/os/201108/98426.html linux中inittab文件详解 init的进程号是1(ps -aux | less),从这一点就能看出, ...
- [转载]嵌入式linux启动时运行的inittab文件
源地址:https://www.cnblogs.com/yfz0/p/5853826.html 嵌入式系统下的linux启动配置文件,不同与普通的PC linux启动配置,启动相关文件与文件的内容也要 ...
随机推荐
- Android ANR异常及解决方法
1,首先是查看log: 2,再看trace.txt; 3,看源码: 4,仔细分析ANR的原.
- 一个好玩的CTF题
一个CTF的题目,拿来学习学习 玩了好久,再加上学校一堆破事,最近又开始瞎弄了,找了几个CTF的题目,和别人写的一些内容,也当是学习,也当是看完之后的小结.顺便也说一下如果自己拿到这题目会从哪做起. ...
- [UI基础][不会说话的汤姆猫]
会说话的汤姆猫这个APP层级风靡一时,其UI部分就是利用了序列动画的技术, 接下来 我们用汤姆猫来演示怎么制作序列动画. [要求]: 1.学会使用序列动画的方法 2.学会分析动画播放中内存占用高的问题 ...
- mfc制作ActiveX
转:https://blog.csdn.net/hkcsdn/article/details/52908748 前言 ActiveX是Microsoft对于一系列策略性面向对象程序技术和工 ...
- POJ 1815 Friendship(最小割+字典序输出割点)
http://poj.org/problem?id=1815 题意: 在现代社会,每个人都有自己的朋友.由于每个人都很忙,他们只通过电话联系.你可以假定A可以和B保持联系,当且仅当:①A知道B的电话号 ...
- POJ 3281 Dining(最大流)
http://poj.org/problem?id=3281 题意: 有n头牛,F种食物和D种饮料,每头牛都有自己喜欢的食物和饮料,每种食物和饮料只能给一头牛,每头牛需要1食物和1饮料.问最多能满足几 ...
- [转] VR-FORCES 介绍
转自:https://sanwen8.cn/p/1e6GQeK.html 今天给各位介绍的仿真平台是VR-Forces.VR-Forces是新加坡公司MAK的产品,前身是美国公司.在仿真平台领域里面, ...
- windows java 环境变量配置
第一步 找到系统设置环境变量的位置(windows 10): 控制面板\系统和安全\系统 点击 ‘高级系统设置’ 就可以看到 “环境变量” 了 第二步 设置3个路径 1.path (配置JD ...
- 雷林鹏分享:Ruby 正则表达式
Ruby 正则表达式 正则表达式是一种特殊序列的字符,它通过使用有专门语法的模式来匹配或查找其他字符串或字符串集合. 语法 正则表达式从字面上看是一种介于斜杠之间或介于跟在 %r 后的任意分隔符之间的 ...
- 为什么ubuntu窗口语言选择中文后,中文字体反而变丑了?
首先出现这个问题是因为ubuntu在更新语言包后,会安装ukai和uming两个字体,不知道为啥ubuntu要这样设计,反正挺烦人的,又丑又不清楚,把这两个卸掉就行了 sudo apt-get rem ...