28、深入了解 Linux 系统初始化:System V init 与 systemd

深入了解 Linux 系统初始化:System V init 与 systemd

1. 引言

在 Linux 系统中,初始化程序(init)是系统启动过程中的关键组件,它负责启动和管理系统中的各种服务和进程。本文将详细介绍两种常见的初始化方案:System V init 和 systemd,并通过具体的例子展示它们在嵌入式系统中的应用。

2. System V init

System V init 是 Buildroot 和 Yocto Project 中的一个可选初始化方案。在这两个项目中,init 脚本都经过了处理,去除了 Bash 特定的语法,以便能够在 BusyBox 的 ash 外壳中运行。不过,Buildroot 做了一些特殊处理,它用 System V init 替换了 BusyBox 的 init 程序,并添加了模仿 BusyBox 行为的 inittab 文件。需要注意的是,Buildroot 没有完全实现 runlevels,只是在切换到 0 或 6 级时会停止或重启系统。

2.1 inittab 文件

init 程序首先会读取 /etc/inittab 文件,该文件定义了在每个运行级别(runlevel)下要执行的操作。其格式是 BusyBox inittab 的扩展版本,这并不奇怪,因为 BusyBox 最初就是从 System V 借鉴了这个格式。

inittab 文件中每行的格式如下:

id:runlevels:action:process
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值