没有 initrd 可以启动 Linux 内核吗?

没有 initrd 可以启动 Linux 内核吗?

现在是否可以不使用 initrd 来启动 Linux 内核(比如 2.6.35)?我似乎记得以前(早期的 2.6.x 和 2.4)是可以的。我的意思是,理论上,如果内核内置了所有硬件支持(没有模块),它就不需要早期的用户空间,对吗?

答案1

我不使用 initrd。只需将启动系统所需的所有驱动程序编译到内核中(而不是作为模块)。

如果你使用gentoo,那么构建内核和驱动程序就是安装过程的一部分,如果您要将启动相关硬件添加到系统中,那么首先将驱动程序添加到内核就成了习惯。禁用任何不需要的东西也成了习惯——因为如果您永远不会使用它们,那么编译一堆驱动程序(即使是模块)也是没有意义的。

从概念上讲,这个过程在 ubuntu 这样的发行版上更加困难,因为 ubuntu 中的内核以包的形式进行管理,并且所有内容都是模块化的(必须如此,才能在开箱即用的许多不同系统上成功运行)。通常不值得这么麻烦。

相关内容