Linux内核EFI Zboot代码用于以压缩形式携带EFI系统的Linux内核映像,该代码摒弃了提供Gzip、LZ4、LZMA、LZO、XZ和Zstd压缩选项的"压缩库博物馆",转而只关注Gzip和Zstd压缩支持。
9=8iy
w g(qJN<RC/ Ard Biesheuvel在补丁中解释了将压缩选项限制为Gzip和Zstd的原因:
c1k/UcEcg~ "/3'XOK| 与其为EFI Zboot代码提供多种不同的压缩选项,不如在主线内核中使用一个补丁,将压缩选项缩减为两种:Gzip或Zstd。
\IV1j)I"u :t8b39 "由于历史原因,各种架构上的传统解压程序代码为压缩的内核映像支持7种不同的压缩类型。
"55skmD.P A@1W}8qY: EFI zboot并不是一个压缩库博物馆,因此可以将选项限制在实际可能有用的范围内:
;g5m0l5 Ui_8)z _ -GZIP久经考验,虽然压缩率不高,但仍然是解压速度最快的压缩库之一;
cl=EA6P\X \E72L5nJW -ZSTD压缩比非常高(虽然不是最高),解压缩速度几乎与GZIP相当。
"d#Y}@*~o #~}nFY. 减少选项数量可减少EFI zboot格式的其他消费者(如现在的QEMU和将来的kexec)的麻烦,使其无需携带7个不同的解压缩库即可透明地支持该格式。"
;qafT@
}C 4B =7:r 如今,只专注于Gzip和Zstd并去除所有其他多余选项是一个明智的决定......现在,只要Linux内核中的Zstd代码能根据最新的上游状态进行重定向就可以了......
{5U{8b]k QdH\LL^8R4 限制压缩选项的补丁已被列入efi.git的"紧急"Git分支。由于它被排在"紧急"代码而非"下一个"分支中,因此很可能在未来几天内提交给正在进行的Linux 6.13周期,而不是等到6.14周期。这一改动只影响EFI Zboot,不会影响Linux内核其他区域的压缩/解压缩选项。
qT{U(