bogamp.hatenablog.com
上の記事の続き。
live-buildでISOを作成する作業で、ああでもないこうでもないと試行錯誤していると、イメージ作成に時間がかかるのが気になってきた。
そこで、少し設定を変えて高速化することができたのでメモを残しておく。
tmpfs上で作業する
おそらく最も効果が大きい工夫。ここでは方法は省略するが、メモリが十分(16GB以上)あるならかなり速くなるはず。squashfsの圧縮方式を変更
デフォルトだとxzが使用されるが、これは高圧縮率の代償として圧縮にとんでもない時間がかかる。何度も試行錯誤している時は、圧縮率を多少犠牲にしても他の圧縮方式を選びたい。lb configのオプションで変更できる。xzの他に選択できる方式は、zstd、gzip、lz4などがある。
zstdで圧縮レベルに5を指定した例
lb config --chroot-squashfs-compression-type zstd --chroot-squashfs-compression-level 5
zstdやlz4はデフォルトでインストールされないので、選択した場合はパッケージリストに追加する。
チェックサム
イメージの改竄検知のために、デフォルトでは全ファイルのチェックサムをsha256で記録している。外部に公開しないならおそらく不要なので、チェックサムを取らないようにすると高速化できる。
lb config -- checksums none
もしくは、md5に変更してもデフォルトよりは少し速くなるはず。
lb config -- checksums md5
gzipオプションの変更
live-buildはgzipを呼び出すとき、デフォルトでは必ず--bestオプション(圧縮率最大)を使用している。これも変更すると(多少の圧縮率を犠牲に)高速化できる。lb config --gzip-options "-3"
zsyncファイルを作らない
デフォルトでは差分ダウンロード向けにzsyncファイルが作成されるが、イメージを配布しないなら不要なので無効にしてもよい。lb config --zsync false