Busybox init 流程一些重要的点
1 init初始化后读的文件是/etc/inittab 这是交互接口
inittab被读的顺序是
2 先读sysinit阶段的内容
例如::sysinit:/etc/init.d/rcS
则执行rcS文件内容
3 再读respawn里面的程序
例如::respawn:/sbin/agetty -a console -n 9600 ttyS0 vt100
4 则执行agetty
agetty的命令如下
-a console 用户名为console
ttyS0 表示端口
vt100表示FIXME
5 在agetty的时候为验证目的,会读对应passwd文件
6 passwd文件内容如下
console:x:0:0:root:/root:/bin/sh
其中console是文件名
/bin/sh是文件shell
7 如不喜欢这个shell, 可以替换掉/bin/sh
这样就将有自己的shell
8 执行busybox init带来的系统重启已经不是在内核态,除非这些用户态程序触发内核panic, 否则重启是
这些程序自己负责
Ref:
1 http://blog.csdn.net/shanzhizi/article/details/39082495
2 http://blog.csdn.net/linucos/article/details/5352506