initramfs 映像可以使用 gzip 以外的压缩格式吗?

initramfs 映像可以使用 gzip 以外的压缩格式吗?

initramfs 映像是否可以通过 gzip 以外的方法进行压缩,例如 lzma?

答案1

是的。我使用内核 initrd,它至少提供以下方法:

  • 无(因为它是用内核压缩的)
  • 压缩包
  • 压缩包
  • LZMA(可能-仅有的)

您可以在外部文件上使用它并与 LZMA 一起使用(至少在Ubuntu上)。

维基百科声明 Linux 内核支持 gzip、bzip 和 lzma(当然,这取决于编译的算法)。

答案2

v4.15INITRAMFS_COMPRESSION_*

这些内核配置选项确定是否启用压缩。

快速:

git grep INITRAMFS_COMPRESSION_

在内核树上导致:

usr/Kconfig:134:config INITRAMFS_COMPRESSION_NONE
usr/Kconfig:145:config INITRAMFS_COMPRESSION_GZIP
usr/Kconfig:155:config INITRAMFS_COMPRESSION_BZIP2
usr/Kconfig:168:config INITRAMFS_COMPRESSION_LZMA
usr/Kconfig:181:config INITRAMFS_COMPRESSION_XZ
usr/Kconfig:194:config INITRAMFS_COMPRESSION_LZO
usr/Kconfig:206:config INITRAMFS_COMPRESSION_LZ4

答案3

您可以使用以下命令查看 initramfs 支持哪些压缩:

zgrep CONFIG_RD_ /proc/config.gz
# or
grep CONFIG_RD_ /usr/src/linux/.config

相关内容