openSUSE 中新的 systemd-boot 集成

2024-03-04 | Poplar at twilight | CC-BY-SA-4.0

openSUSE 中新的 systemd-boot 集成

openSUSE 每天都会发生一些变化,将 systemd-boot 集成到其中也在不断发展。

从传统的 GRUB 引导加载器转向新型的 systemd-boot 有望带来更好的系统引导性能和安全性。

Ludwig Nussel 的 “all-systems-go” 演讲阐明了 openSUSE 中 systemd-boot 集成的动机、挑战和未来方向。

采用 systemd-boot 的主要动机在于它的简单性和高效性,尤其是在处理全磁盘加密时。传统的引导加载器(如 GRUB)需要嵌入解密代码和密钥派生函数,这可能会使引导加载器代码和引导过程复杂化,从而减慢系统启动速度。通过 systemd-boot,这些职责被委托给 Linux 内核和用户空间,这有助于简化启动过程。

MicroOS 和 Tumbleweed 对 Btrfs 及其快照功能的使用增加了启动过程的复杂性;我们正在通过将 systemd-boot 与快照管理系统集成来解决这一问题,以确保每个快照都能成功启动,并在此动态环境中妥善处理内核更新。

为了便于整合,我们引入了新的打包脚本和工具(如 sdbootutil)来管理内核版本、快照和启动项。该工具在使 systemd-boot 成为 openSUSE 用户的一个实用选择方面起着至关重要的作用,因为 MicroOS 与 Tumbleweed 的快照管理方式不同。

系统将使用 sdbootutilEFI 系统分区(ESP)中创建新的 Type #1 启动项,以代表所有可用的启动选项,并将快照中新安装的内核复制到该分区中。它还将为这些快照生成良好的 initrd

使用全磁盘加密时,sdbootutil 还将调用不同的命令,更新使用系统内部 TPM2 设备自动解锁新快照所需的策略。

理想情况下,将来这些功能的一部分(可能不是全部)将被导入到 systemd 本身或发行版中的其他系统组件中。这些变化使该工具成为一个很好的平台,用于实验、验证或摒弃 openSUSE 在 systemd-boot 上采用的不同方法。

目前,openSUSE 对 systemd-boot 的支持仍处于试验阶段。Tumbleweed 和 MicroOS 的 YaST 安装程序都提供 systemd-boot 作为 grub 的替代方案。qemu 也有现成的设备,默认使用 systemd-boot 和全磁盘加密。


原文:New systemd-boot Integration in openSUSE,作者:Douglas DeMaio

分享帖子: