initramfsイメージはgzip以外の圧縮形式を使用できますか?

initramfsイメージはgzip以外の圧縮形式を使用できますか?

lzmaのようなgzip以外の方法でinitramfsイメージを圧縮できますか?

答え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

関連情報