超轻量级 Linux 安装是否需要 INIT 进程?

超轻量级 Linux 安装是否需要 INIT 进程?

我正在开发一个轻量版 Linux,没有其他特别的原因,只是想看看我能把它做多小。我想知道 INIT 是否是必要的,或者我是否可以通过手动/bash 脚本执行所有与 INIT 相关的任务(fsck、卸载等)?

我不需要多用户功能(或者说不需要太多功能)。我一开始安装的是 Gentoo 基础版 2.0.2,内核为 2.6.38。

答案1

init=/bin/bash不,不是这样的。您可以使用极简系统的参数来启动内核。

答案2

首先,你应该区分两件事:调用的程序init一个 init 进程Linux 在加载并执行基本启动后运行 - 这也称为在里面由内核。

第一个是一个程序,就像任何其他程序一样,其任务是通过运行各种其他程序来启动系统并控制其关闭。最流行的程序是系统初始化。这是“所有进程的父级”最流行的实现,在大多数标准 Linux 发行版中都可以找到,通常以 的形式存在/sbin/init

第二个只是Linux 内核知道的命令并在启动时自动运行。因此,您可以告诉内核运行任何其他程序来代替 init。例如,执行系统恢复的一种流行方法是告诉 linux 运行/bin/bash或的小程序/sbin/busybox(请参阅下面的注释)。这可以通过提供程序名称作为启动参数来实现(例如init=/bin/bash)。

请注意,当初始化进程退出时,系统将停止运行并实际上无法使用。

除了 bash 和 busybox 之外,还有几个 init 替代品,它们可以做 init 的大部分功能。你可能需要看看迷你特运行奇尼特吉尼特暴发户或者初始化。但如果你追求的是绝对最小化的解决方案,没有启动并行性或高级功能,忙碌箱是最好的选择。

相关内容