12 月 10 日消息,科技媒体 phoronix 于 12 月 8 日发布博文,报道称 Linux 内核 EFI Zboot 代码将放弃支持多种压缩算法的“压缩库博物馆”模式,转而仅关注 Gzip 和 Zstd 两种压缩算法。
简要介绍下“压缩库博物馆”模式,该模式整合提供 Gzip、LZ4、LZMA、LZO、XZ 和 Zstd 共计 6 种压缩算法,在实际场景中使用范围比较有限。
根据 Ard Biesheuvel 提交的新提案补丁,认为处于精简代码、减少复杂度、降低维护成本的需求,转而仅关注 Gzip 和 Zstd 两种压缩算法。
提案补丁即将合并到 Linux 内核主线(mainline)中,该补丁认为经过反复测试和验证,相比较其它算法,Gzip 和 Zstd 两种压缩算法更有优势。
该补丁关于选择 Gzip 和 Zstd 压缩算法的原因如下:
Gzip
Gzip 的压缩率虽然不是最高的,但仍然是解压缩速度最快的压缩方式之一。此外,Fedora 已经为 arm64 提供了使用 Gzip 压缩的 EFI zboot 内核,QEMU 在启动未加载固件的内核时也直接支持 Gzip。
Zstd
Zstd 的压缩率非常高(虽然不是最高的),而且解压缩速度几乎和 Gzip 一样快。减少选项数量,意味着不要整合所有的解压缩库,可以降低其他 EFI zboot 格式使用者的负担(例如现在的 QEMU 和未来的 kexec)。
该补丁已被添加到 efi.git的“urgent”分支中,这意味着不用等到 6.14 周期,很可能合并到即将到来的 Linux 6.13 周期中。需要特别指出的是,此更改仅影响 EFI Zboot,不会影响 Linux 内核其他区域的压缩 / 解压缩选项。