创建新的 initrd 而不安装内核

创建新的 initrd 而不安装内核

我如何为新的(实验性)内核创建 initrd 映像而不实际安装它。 (用于根据已安装内核的配置和详细信息创建 initrd 的现有工具。)

假设我编译了一个打开实验功能的新内核,我将其放在另一个单独的分区中。我想启动到这个内核,旧的 initrd 可以工作吗?如果我想为新内核创建一个新的 initrd.img 而不实际安装内核,我该怎么做?

顺便说一句,有人可以澄清一下 initramfs 吗?它对我的场景有用吗?

答案1

创建 initrd 与安装内核没有任何关系。您要做的就是为 initrd 创建文件结构,复制所需的文件,编写 init 脚本并将所有内容打包到 cpio 存档中。我用的是Gentoo Wiki 中的说明来制作我的initrd。一些发行版提供了生成 initrd 的工具,为此您必须命名您的发行版。例如,Arch 有mkinitcpio

initramfs 只是另一个(较新的)执行初始 ramdisk 的。我不确定,但我认为现代发行版都使用 initramfs。当您看到“initrd”时,它可能是“initial ramdisk”的简写,因此它涵盖了 initrd 和 initramfs。

相关内容