构建Linux根文件系统二:Busybox init进程的启动

出处:http://hi.baidu.com/chris_zheng/blog/item/4116c1b44625e3c337d3ca68.html

 

 

如果存在/etc/inittab文件,Busybox init程序解析之,然后按照文件的只是创建各种子进程,否则使用默认的配置创建子进程。/etc/inittab文件中每个条目用来定义一个子进程,并确定它的启动方法,格式如下:
<id>:<runlevels>:<action>:<process>
<id>: 表示这个子进程要使用的控制台(即标准输入、标准输出、标准错误设备)。如果省略,则使用与init进
程一样的控制台;
<runlevels>: 对于Busybox init程序,没有意义,可以省略;
<action>: 表示init进程如何控制这个子进程,有8中取值:
sysinit, wait, once, respawn, askfirst, shutdown, restart, ctrlaltdel
<process>: 要执行的程序,可以是可执行程序,也可以是脚本,如果<process>字段前有“-”字符,这个程序
被称为“交互的”。
在/etc/inittab文件的控制下,init进程的行为总结如下:
1>在系统启动前期,init进程首先启动<action>为sysinit, wait, once的3类子进程
2>在系统正常启动期间,init进程首先启动<action>为respawn, askfirst的两类子进程,并监视它们,发现
某个子进程退出时重新启动它
3>在系统退出时,执行<action>为shutdown, restart, ctrlaltdel的3类子进程(之一或全部)。

如果根文件系统中没有/etc/inittab文件,Busybox init程序使用默认的inittab条目:
::sysinit:/etc/init.d/rcS
::askfirst:-/bin/sh
tty2::askfirst:-/bin/sh
tty3::askfirst:-/bin/sh
tty4::askfirst:-/bin/sh
::ctrlaltdel:/sbin/reboot
::shutdown:/bin/umount -a -r
::shutdown:/sbin/swapoff -a
::restart:/sbin/init

/etc/inittab实例可参考Busybox的examples/inittab文件。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值