首页 > 其他 > 详细

BusyBox Init

时间:2015-04-17 18:04:18      阅读:111      评论:0      收藏:0      [点我收藏+]

 

      嵌入式系统内核启动后的第一个程序就是init,一般位于/sbin/init(一般是符号链接到/bin/busybox), 但有些也会直接放在根目录下如linuxrcbusyboxinit不支持多级别启动(multiple runlevels)init也就是1号进程。

 

Init启动流程:

1、为init程序设置信号处理

2、初始化控制台console,它会首先读取kernel的启动参数,如果没有指定console,它会尝                     试/dev/consloe

3、解析inittab文件 /etc/inittab

4、运行系统初始化脚本 /etc/init.d/rcS

5、运行所有inittabactionwait的任务

6、运行所有inittab(只运行一次)actionone的任务

执行完这些任务后,init程序会循环启动下列任务:

1、运行所有inittabactionrespawn的任务

2、运行所有inittabactionaskfirst的任务

3、等待子进程退出

 

/etc/inittab文件格式:

id:runlevel:action:process

Id表示从哪个console启动,对busybox无意义

runlevel,启动级别,忽略字段

action是非常重要的一个字段,有8个:

Sysinit  提供初始化脚本路径

Respawn  重启退出的子进程

Askfirst  询问用户,像“Please press Enter to activate this console.

Wait  告诉init在继续运行前先等待子进程完成

Once  只执行一次,且不等待进程结束

CtrlAtlDel   按下组合键后执行的程序

Shutdown  关闭系统后执行的程序

Restart   init重启后需要重启的程序

 

::sysinit:/etc/init.d/rcS S boot

::shutdown:/etc/init.d/rcS K shutdown

ttyS1::askfirst:/bin/ash --login

 

BusyBox Init

原文:http://www.cnblogs.com/dsxum/p/4435211.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!