web-dev-qa-db-ja.com

Debian Linux10バスターのinitrd.imgファイルの圧縮を無効にする方法

/boot/initrd.imgファイルの圧縮を無効にして、起動を少し速くしたい。私のディスクは、余分な10MBを収容するのに十分な大きさです。正直なところ、これがデフォルトであるはずだと思います。最近では、数メガバイトのディスク容量を買う余裕がありません。組み込みシナリオの場合、手動で有効にすることができます。

/etc/initramfs-tools/initramfs.confを調べると、圧縮タイプを変更するオプションがあります

COMPRESS: [ gzip | bzip2 | lz4 | lzma | lzop | xz ]

ただし、圧縮を無効にするオプションはありません。 Nonenoneを試しましたが、効果はありませんでした。

回避策として、gunzipを使用してinitrd.img-4.19.0-8-AMD64を手動で解凍します。しかし、カーネルアップデートがインストールされるたびに、再度解凍する必要があります。

1
Krackout

これを行うためのオプションはありませんが、mkinitramfsはシェルスクリプトであるため、再コンパイルせずに追加できます。 /usr/sbin/mkinitramfsで、

case "${compress}" in

オプションのセットに「none」行を追加します。

none)   compress="cat" ;;

これにより、COMPRESS=noneinitramfs.confで指定できるようになります。

mkinitramfsがパッケージから復元されるたびに(アップグレード時に)これをやり直す必要があります。

3
Stephen Kitt

最近は簡単なことではありませんが、initramfs.confの下での明白なオプションではありません。

イメージの読み取りと解凍にかかる合計時間は、ファイルの読み取りと解凍の合計です。最初のタスクはI/Oバウンドであり、2番目のタスクは主にCPUバウンドです。

したがって、圧縮された画像と圧縮されていない画像の読み込みの比較は直接的なものではありません。あるケースでは、小さいファイルを読み取ってから解凍します。別のケースでは、大きいファイルを読み取って解凍しません。

どちらが速いか、ベンチマークする必要があります。推測すると、小さいファイルを読み取って解凍すると思います。

1
Pedro