Skip to content

Commit

Permalink
add 2024-10-09 介绍 GRUB2 BLS (#259)
Browse files Browse the repository at this point in the history
  • Loading branch information
poplar-at-twilight authored Oct 9, 2024
1 parent fd6d27d commit 109fad1
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 0 deletions.
41 changes: 41 additions & 0 deletions _posts/2024-10-09-grub2-bls.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
---
author: Poplar at twilight
date: 2024-10-09 07:00:00 +0800
layout: post
license: CC-BY-SA-4.0
title: 介绍 GRUB2 BLS
image: /assets/posts/2024-10/dboot.png
categories:
- 更新通告
tags:
- Tumbleweed
- 翻译作品
- 官方新闻
---

## 带有 BLS 的 GRUB2 现已出现在 MicroOS 和 Tumbleweed 中

最近,openSUSE 项目为 MicroOS 和 Tumbleweed 发布了新版 GRUB2 软件包,其中包含一个新的子软件包 `grub2-$ARCH-efi-bls`。该子包提供了一个新的 EFI 文件 `grubbls.efi`,可用于替代传统的 `grub.efi`

新的 PE 二进制文件是 GRUB2 的一个版本,其中包含来自 Fedora 的一组补丁,这使得引导加载程序遵循引导加载程序规范([BLS])。这将使 GRUB2 能理解 `/boot/efi/entries` 中的引导条目,并在启动时动态生成启动菜单。

[BLS]: https://uapi-group.org/specifications/specs/boot_loader_specification/

这对[全盘加密](FDE)非常重要,因为这意味着我们现在可以复用为 `systemd-boot` 设计的所有架构和工具。例如,现在可以使用 `sdbootutil install` 安装或更新引导加载器,`suse-module-tools` 脚本会在安装新内核时创建新的 BLS 条目,而 `tukit``snapper` 插件则会在创建或删除快照时执行正确的操作。

[全盘加密]: https://news.opensuse.org/2024/09/20/quickstart-fde-yast2/

在不进行修改的情况下复用所有这些工具是一个重大胜利,但更好的是,传统 GRUB2 在扩展事件日志时的许多怪癖都不复存在了。在使用该软件包之前,`sdbootutil` 需要获得 `grub.conf` 文件的所有权,因为 GRUB2 会通过执行的行数来衡量该文件。没错!GRUB2 解析器每读取并执行一行,就会产生一个新的 PCR#8,由于 GRUB2 支持条件式和其他复杂的构造函数,因此如果不对 `grub.conf` 文件进行严格的最小化,就很难预测 PCR#8 的最终值。

但有了新的 BLS 子软件包后,该文件、主题的字体和图形资产以及必要的模块(如 `bli.mod`)现在都包含在 EFI 二进制文件的内部 `squashfs` 中。GRUB2 将不再在不影响安全保证的情况下测量这些内部文件,因为现在是固件在启动过程中执行引导加载程序时测量整个 EFI。

我们目前无法使用 YaST2 自动安装带有 BLS 的 GRUB2,但我们可以很容易地手动安装。我们需要进行 `systemd-boot` [安装],将 `LOADER_TYPE``systemd-boot` 替换为 `grub2-bls`,安装新的 GRUB2 BLS 软件包,然后执行 `sdbootutil install`。另一种方法是使用 MicroOS 或 Tumbleweed 的定制镜像:

[安装]: https://en.opensuse.org/Portal:MicroOS/FDE#Installation_with_YaST

- [MicroOS](https://download.opensuse.org/tumbleweed/appliances/openSUSE-MicroOS.x86_64-kvm-and-xen-grub-bls.qcow2)
- [Tumbleweed](https://download.opensuse.org/tumbleweed/appliances/openSUSE-Tumbleweed-Minimal-VM.x86_64-kvm-and-xen-grub-bls.qcow2)

----

原文:[Presenting GRUB2 BLS](https://news.opensuse.org/2024/10/08/grub2-bls/),作者:Alberto Planas
Binary file added assets/posts/2024-10/dboot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 109fad1

Please sign in to comment.