Cnbeta 2024年12月09日
Linux EFI Zboot弃用"压缩库博物馆" 今后专注于Gzip与Zstd
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

Linux内核的EFI Zboot代码近期进行了一次重大优化,其核心在于精简了内核映像的压缩选项。原本支持包括Gzip、LZ4、LZMA、LZO、XZ和Zstd在内的七种压缩方式,现在缩减至仅支持Gzip和Zstd两种。这一变更旨在提升效率并减少不必要的复杂性,使EFI Zboot代码更加专注和高效。此举不仅简化了代码结构,还减轻了QEMU和kexec等工具的负担,使它们能够更流畅地支持该格式,而无需集成多种解压缩库。

🎯Linux内核的EFI Zboot代码摒弃了多种压缩选项,转而专注于Gzip和Zstd两种压缩方式。这一改变旨在优化EFI Zboot代码的效率和实用性。

💪Gzip因其久经考验的稳定性和快速的解压速度而被保留。尽管其压缩率不是最高的,但在解压速度方面表现出色,这对于启动过程至关重要。

🚀Zstd则因其卓越的压缩比和接近Gzip的解压速度而受到青睐。这种平衡使得Zstd成为在保持高效压缩的同时,不牺牲解压速度的理想选择。

🛠️此举简化了EFI Zboot格式的其他消费者(如QEMU和kexec)的工作,使它们无需携带多个解压缩库即可支持该格式,提升了系统的整体效率和兼容性。

⏰这项改动已被列入efi.git的“紧急”分支,预计将在Linux 6.13周期内提交,而不是等到6.14周期。这表明了此项更新的紧迫性和重要性。

Linux 内核 EFI Zboot 代码用于以压缩形式携带 EFI 系统的 Linux 内核映像,该代码摒弃了提供 Gzip、LZ4、LZMA、LZO、XZ 和 Zstd 压缩选项的"压缩库博物馆",转而只关注 Gzip 和 Zstd 压缩支持。

Ard Biesheuvel 在补丁中解释了将压缩选项限制为 Gzip 和 Zstd 的原因:

与其为 EFI Zboot 代码提供多种不同的压缩选项,不如在主线内核中使用一个补丁,将压缩选项缩减为两种: Gzip 或 Zstd。

"由于历史原因,各种架构上的传统解压程序代码为压缩的内核映像支持 7 种不同的压缩类型。

EFI zboot 并不是一个压缩库博物馆,因此可以将选项限制在实际可能有用的范围内:

- GZIP 久经考验,虽然压缩率不高,但仍然是解压速度最快的压缩库之一;

- ZSTD 压缩比非常高(虽然不是最高),解压缩速度几乎与 GZIP 相当。

减少选项数量可减少 EFI zboot 格式的其他消费者(如现在的 QEMU 和将来的 kexec)的麻烦,使其无需携带 7 个不同的解压缩库即可透明地支持该格式。"

如今,只专注于 Gzip 和 Zstd 并去除所有其他多余选项是一个明智的决定...... 现在,只要 Linux 内核中的 Zstd 代码能根据最新的上游状态进行重定向就可以了......

限制压缩选项的补丁已被列入 efi.git 的"紧急"Git 分支。 由于它被排在"紧急"代码而非"下一个"分支中,因此很可能在未来几天内提交给正在进行的 Linux 6.13 周期,而不是等到 6.14 周期。 这一改动只影响 EFI Zboot,不会影响 Linux 内核其他区域的压缩/解压缩选项。

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

Linux内核 EFI Zboot Gzip Zstd 压缩优化
相关文章