zstd 有望進入Linux 5.9,下一步可能是支持壓縮系統固件
此前Facebook工程師向Linux內核提交了使用 zstd壓縮Linux內核鏡像的補丁,這些補丁顯示了使用zstd對內核、ramdisk和initramfs進行壓縮操作具備巨大潛力。zstd有望進入Linux Kernel 5.9,在此基礎上,現在有內核開發者提交補丁,希望採用zstd統一壓縮內核所有內容,包括固件文件。
zstd 又叫Zstandard,它是一種快速無損壓縮算法,主要應用於 zlib 級別的實時壓縮場景,並且具有更好的壓縮比。zstd 還可以以壓縮速度為代價提供更強的壓縮比,速度與壓縮權衡可通過小增量進行配置。
開發者的補丁實現了zstd壓縮系統固件的支持,邏輯上內核在應用固件前會適當地處理.zstd後綴文件。查看Linux固件源碼linux-firmware.git,其原始樹大小為593M,粗略估計,使用Linux自帶xz壓縮工具,默認不同維度下的壓縮級別可將其壓縮至125M或204M,zstd則可將速度大大提升。
這一支持目前已在 x86-64、sparc64 與 mips64 平台測試,如果一切順利,那麼有望在Linux Kernel 5.10 中看到該特性。
補丁詳情可以查看:https://lore.kernel.org/lkml/20200821.143553.1830499839841272707.rene@exactcode.com