busybox

关注点

  • busybox支持 uClibc和glibc,对linux2.2.x之后的内核良好支持
  • busybox是一个遵循GPL V2协议的开源项目。将众多的unix命令集合进一个很小的可执行程序,替换GUN fileutiles,shellutils等工具。busybox中各种命令相对少,但能满足一般需要。体积相比动辄几MB的GNU工具,只有几百KB,缩小很多。
  • 在使用busybox创建最小根文件系统时,只需/dev创建必要的设备节点,/etc下创建一些配置文件。如果busybox使用动态链接,还要在/lib目录下包含库文件

busybox init进程启动

Created with Raphaël 2.2.0 开始 设置信号处理函数 初始化控制台 解析inittab 执行inittab的SYSTNIT函数 执行inittab的WAIT函数 执行inittab的ONCE函数 执行inittab的RESPANWN函数 执行inittab的ASKFIRST函数 检测RESPANWN有退出则重新执行 结束

如果内核启动同时设置了环境变量console或CONSOLE则使用指定的设备,未指定则使用/dev/console

  • /etc/inittab的格式
<id>:<runlevels>:<action>:<process>
  • 各个字段的作用
    • id 表示这个子进程要使用的控制台(stdin,stdout,stderr),省略则和init进程使用一样的控制台
    • runlevels busybox中无意义,可省略
    • action 如何控制这个子进程,取值见下表
action名称执行条件说明
sysinit系统启动后最先执行只执行一次,init进程等待它结束才执行其他动作
wait执行完sysinit只执行一次,init进程等待它结束才执行其他动作
once执行完wait时只执行一次,init进程不等待它结束
respawn启动完once进程时监测子进程退出时,重新启动它
askfirst启动完respawn进程后等待用户按下回车后启动
shutdown当系统关机时即重启关闭系统命令时
restartbusybox中配置CONFIG_FEATURE_USE_INITTAB,并且init进程接收到SIGHUP信号时先重新读取,解析/etc/inittab 文件,再执行restart程序
ctrlaltdel按下ctrl+alt+del时-
  • process 要执行的程序,可执行程序或脚本。
    如果字段前有“-”,则被称为“交互的”
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值