Red Hat 和 Fedora 工程师正在规划向 Fedora 添加对统一内核镜像 (Unified Kernel Images,UKI) 的支持,期望在明年春季发布的 Fedora Linux 38 中实现初始支持。
提案内容指出,其目标是摆脱在已安装机器上生成的 initrd images;它们是在构建内核包时生成的,然后作为 UKI 的一部分提供。
UKI 是包含内核、initrd、cmdline 和 signature 的一体化 efi 二进制文件。secure boot signature 涵盖所有内容,特别是包含 initrd;但当 initrd 作为单独的文件从 /boot 加载时,情况就并非如此了。
此举的主要动机是使发行版更健壮和更安全。
将整个发行版快速切换到统一内核是不现实的。太多的特性依赖于当前工作流与特定于主机的 initrd(和特定于主机的内核命令行),这从根本上与统一内核不兼容,在统一内核中每个人都将拥有相同的 initrd 和命令行。这就是为什么标题中有“第一阶段”,所以我们可以在未来的版本中有更多的阶段。
初始阶段的高优先级目标将专注于将 UKI 作为可选的内核 sub-rpm 发布、更新内核安装脚本以便安装和正确更新统一内核,以及为 UKI 添加 bootloader 支持。还计划为安装程序 (anaconda、image builder 等) 添加适当的可发现分区支持、为安装程序添加 systemd-boot 支持、更好的测量和远程认证支持以及将 Fedora Cloud images 切换为使用统一内核;但这些内容优先级较低,视情况可能会被划入第二阶段。
阶段 2/3 目标(较长期的东西,在 Fedora 38 中完成是不现实的):
- 不再使用内核命令行进行配置。
- 摆脱在 initrd 中存储 secrets 的做法。
- 以不同的方式处理 dracut 可选模块。
不过,有关 Fedora 38 的这个暂定更改提案仍需要得到 Fedora 工程和指导委员会的批准才会实施,更多细节可查看 Fedora Wiki。