A partir do ciclo do Linux Kernel 6.13, o código do EFI Zboot passará a suportar apenas os métodos de compressão Gzip e Zstd. Essa decisão busca simplificar o suporte técnico e garantir maior compatibilidade com sistemas e ferramentas modernas, como o QEMU e o kexec.
Por que apenas Gzip e Zstd?
No passado, o EFI Zboot oferecia suporte a sete métodos de compressão: Gzip, LZ4, LZMA, LZO, XZ e Zstd. No entanto, essa ampla variedade tornou-se desnecessária e complexa, com pouco ganho prático. A justificativa apresentada pelo autor do patch, Ard Biesheuvel, enfatiza:
- Gzip: Amplamente testado, é um dos métodos mais rápidos na descompressão, mesmo com uma relação de compressão inferior. Ele já é utilizado em distribuições como o Fedora para kernels arm64 e possui suporte direto no QEMU.
- Zstd: Apesar de não atingir o maior índice de compressão, oferece uma relação equilibrada entre desempenho e velocidade de descompressão, tornando-se uma escolha moderna e eficiente.
Esses dois métodos foram escolhidos pela sua praticidade, desempenho e compatibilidade com os cenários de uso atuais.
Impactos para o Linux kernel e ferramentas
Essa mudança afeta exclusivamente o código do EFI Zboot e não altera outras áreas do Linux Kernel que utilizam métodos variados de compressão. Ferramentas como o QEMU, que carrega kernels diretamente, e o futuro suporte no kexec, se beneficiarão da redução de complexidade técnica, tornando a adoção e manutenção mais simples.
O patch já foi integrado à branch “urgent” do repositório do EFI e deve estar disponível no ciclo atual do Linux Kernel 6.13. Para desenvolvedores e usuários, isso significa que menos bibliotecas de decompressor precisarão ser mantidas e testadas.
Conclusões e perspectivas
Essa decisão de focar em Gzip e Zstd reflete uma abordagem pragmática, eliminando redundâncias desnecessárias e melhorando a experiência de desenvolvimento e manutenção. Para a comunidade Linux, a simplificação é uma oportunidade de concentrar esforços em métodos que oferecem a melhor relação custo-benefício.
Quer saber mais? Acesse o commit oficial no Git para detalhes técnicos.