-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
fd6d27d
commit 109fad1
Showing
2 changed files
with
41 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.