将 initrd 拆分为更小的文件

将 initrd 拆分为更小的文件

我想知道是否可以有分割的 initrd 实现。我们这样做的原因是,我们基于 Fedora 的应用程序在底层使用精简版 Fedora,其 initrd 文件变得非常大 (+500MB),以至于 GRUB2 在某些计算机(主要是我们的客户喜欢购买的廉价 HP 笔记本电脑,而我们却不建议购买)上给我们带来了上述文件问题。我们已经确定问题出在GRUB2initrd和 HP 笔记本电脑上,因为解压后initrd这些机器可以启动。但是,对于我们的用例,我们需要能够启动到 RAM,因为我们的应用程序是一个可启动的 RAMDisk,它在信息亭环境中运行我们的应用程序。

我们已经使用了最高级别的压缩initrd(XZ 级别 9)。通过网络共享提供 rootfs 并迫使我们的客户调整其基础架构是一种不理想的解决方案。我们希望保留应用程序从 USB 设备启动的选项,就像他们已经做的那样。

偏离 GRUB2 也许也是一种选择,但这会危及我们在仅支持 EFI 的安全启动硬件上启动的能力(因为 GRUB2 包是由一些供应商为安全启动预先签名的)。

是否可以简单地拆分我们的庞大规模initrd?或者我们还有其他选择吗?

谢谢。

编辑:不幸的是,我们需要提供尽可能多的模块。此映像需要可在尽可能多的不同类型的设备上移植,以减少客户端遇到内核崩溃的可能性。

相关内容