用于以压缩形式为 EFI 系统携带 Linux 内核映像的 Linux 内核 EFI Zboot 代码正在取消其提供 Gzip、LZ4、LZMA、LZO、XZ 和 Zstd 压缩选项的“压缩库博物馆”,而只专注于 Gzip 和 Zstd 压缩支持。
与其为 EFI Zboot 代码提供许多不同的压缩选项,不如将其简化为只有两种压缩选择:Gzip 或 Zstd。Ard Biesheuvel 在将压缩选项限制为 Gzip 和 Zstd 的补丁中解释道:
“由于历史原因,各种架构上的传统解压缩器代码支持压缩内核映像的 7 种不同的压缩类型。
EFI zboot 不是一个压缩库博物馆,因此选项可以限制为在实践中可能有用的内容:
– GZIP 经过了尝试和测试,尽管压缩率不是很高,但它仍然是解压缩速度最快的工具之一;此外,Fedora 已经为使用 GZIP 的 arm64 提供了 EFI zboot 内核,并且 QEMU 在启动未加载固件的内核时实现了对它的直接支持;
– ZSTD 具有非常高的压缩率(尽管不是最高的),在解压缩时几乎与 GZIP 一样快。
减少选项的数量可以减少 EFI zboot 格式的其他使用者(例如现在的 QEMU 和未来的 kexec)透明地支持它而无需携带 7 个不同的解压缩库的麻烦。
一个明智的决定,只专注于 Gzip 和 Zstd 并摆脱这些天所有其他多余的选项……现在,如果 Linux 内核中的 Zstd 代码能够针对最新的上游状态进行变基就好了……
限制压缩选项的补丁已排入 efi.git 的“紧急”Git 分支。由于它在 “紧急” 代码中排队,而不是 “下一个” 分支,它很可能会在未来几天内提交到正在进行的 Linux 6.13 周期中,而不是推迟到 6.14 周期。
转自 Linux EFI Zboot Abandoning “Compression Library Museum”, Focusing On Gzip & Zstd – Phoronix