web-dev-qa-db-ja.com

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

Initramfsイメージは、lzmaなどのgzip以外の方法で圧縮できますか?

5
uray

はい。私はカーネル内のinitrdを使用しており、少なくとも次の方法を提供しています。

  • なし(カーネルで圧縮されているため)
  • GZip
  • BZip
  • LZMA(おそらく zen -のみ)

[〜#〜] edit [〜#〜]:外部ファイルとLZMAで使用できます(少なくとも buntuで )。

EDIT 2Wikipedia Linuxカーネルはgzip、bzip、lzmaをサポートしていると述べています(もちろん、どのアルゴリズムでコンパイルされているかによって異なります) )。

5

v4.15 INITRAMFS_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

Initramfsでサポートされている圧縮は次のように確認できます。

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