Linux系统初始化:System V init与systemd详解
1. System V init概述
在Buildroot和Yocto项目中,System V init是一种可选的初始化方案。这两个项目中的初始化脚本都去除了Bash shell的特定内容,因此它们可以在BusyBox的ash shell中运行。不过,Buildroot采取了一些特殊做法,它用System V init替换了BusyBox的init程序,并添加了模仿BusyBox行为的inittab文件。需要注意的是,Buildroot没有实现完整的运行级别,只是在切换到级别0或6时会分别停止或重启系统。
1.1 inittab文件
init程序首先会读取 /etc/inittab 文件,该文件中的条目定义了每个运行级别下的操作。其格式是BusyBox inittab的扩展版本,这并不奇怪,因为BusyBox最初就是从System V借鉴了该格式。
inittab中每行的格式如下:
id:runlevels:action:process
各字段含义如下:
| 字段 | 说明 |
| ---- | ---- |
| id | 最多四个字符的唯一标识符 |
| runlevels | 该条目应执行的运行级别,在BusyBox inittab中此部分可能为空 |
| action | 以下段落中给出的关键字之一 |
| process | 要运行的命令 |
支
超级会员免费看
订阅专栏 解锁全文
101

被折叠的 条评论
为什么被折叠?



