码迷,mamicode.com
首页 > 其他好文 > 详细

BusyBox Init

时间:2015-04-17 18:07:23      阅读:107      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!