什么时候需要 initrd?

什么时候需要 initrd?

我读到,我可以在没有 initrd 的情况下启动内核,并且我还读到,在 initrd 阶段会加载其他模块 - 据我所知,用于内核中未包含的必要驱动程序。

如果我使用 构建内核make defconfig && make,那么内核可以在哪种硬件上启动?一个相当现代的桌面?虚拟盒子?

我什么时候真正需要 initrd/initramfs?

我正在尝试组装一个最小的系统来在 Virtualbox 上进行测试,如果可能的话,我想让事情保持简单并且不使用 initrd。

答案1

initrd您无需任何硬件即可启动。我自己从来没有在台式机/笔记本电脑和家庭服务器上使用它,因为它只会增加启动时间。到目前为止,我发现它确实有必要的唯一情况是当你的根文件系统位于 LVM 上时(但我可能是错误的 - 也可能有某种方法可以解决这个问题)。

如果您希望您的设置快速而简单,您应该首先尝试从内核配置中删除所有不必要的内容。在配置内核时,有两种常用方法可以做到这一点:

  • 脱掉- 尝试摆脱所有不必要的模块和选项

或者

  • 积聚- 采用最小配置并添加您需要的内容

我个人推荐第二种选择 - 只是因为它花费的时间更少,而且您可以避免因所有选项的不确定性而不知所措。为了获得良好的起点,您可以选择一个合适的帕比的仁种子。您可以在以下位置找到更多相关信息:他的网页。对于这种方法,我这边的一般提示是首先运行lspci -knn,这会告诉您大多数硬件当前使用哪些模块。

相关内容