如何定制内核映像中嵌入的或自带的 initrd

如何定制内核映像中嵌入的或自带的 initrd

我想在 initrd(基于 initramfs)中添加一些工具,而不仅仅是内核模块。现在我知道如何解压和打包 initrd,cpio甚至/etc/initramfs-tools/hooks在过去编写了一个钩子来集成第三方内核模块。然而,虽然可用的脚本库似乎适合模块集成,但它们似乎都不适合集成其他实体(特别是程序及其依赖项)。

我有哪些选项可以自动将一些有用的恢复工具集成到 initrd 中?我说的是系统无法挂载引导加载程序提供给它的根驱动器时进入的“救援”系统。

请注意我不希望使用 Live-CD 中使用的 SquashFS 方法,因为对于手头的问题,包含一些相对较小的工具来帮助恢复系统(当系统卡在 initrd 中并且无法进一步启动时)就足够了。此外,当机器遇到我们过去遇到的问题时,往往会启动到救援系统,但缺少一些工具来让系统重新正常运行……

答案1

man initramfs-tools

然后为 hooks/ 编写一个脚本,其中包含类似

copy_exec /sbin/mdadm /sbin

相关内容