passed compression program. Make sure your kernel
knows how to decompress the generated initramfs,
otherwise you will not be able to boot.
+ --compress-level [LEVEL]
+ Compression level passed to compression program.
--no-compress Do not compress the generated initramfs. This will
override any other compression options.
--squash-compressor [COMPRESSION]
--long sysroot: \
--long stdlog: \
--long compress: \
+ --long compress-level: \
--long squash-compressor: \
--long prefix: \
--long rebuild: \
PARMS_TO_STORE+=" '$2'"
shift
;;
+ --compress-level)
+ compress_level_l="$2"
+ PARMS_TO_STORE+=" '$2'"
+ shift
+ ;;
--squash-compressor)
squash_compress_l="$2"
PARMS_TO_STORE+=" '$2'"
[[ $tmpdir ]] || tmpdir="${dracutsysrootdir-}"/var/tmp
[[ $INITRD_COMPRESS ]] && compress=$INITRD_COMPRESS
[[ $compress_l ]] && compress=$compress_l
+[[ $compress_level_l ]] && {
+ compress_level_bzip2=$compress_level_l
+ compress_level_gzip=$compress_level_l
+ compress_level_lz4=$compress_level_l
+ compress_level_lzma=$compress_level_l
+ compress_level_lzop=$compress_level_l
+ compress_level_xz=$compress_level_l
+ compress_level_zstd=$compress_level_l
+}
[[ $squash_compress_l ]] && squash_compress=$squash_compress_l
[[ $enhanced_cpio_l ]] && enhanced_cpio=$enhanced_cpio_l
[[ $show_modules_l ]] && show_modules=$show_modules_l
case $compress in
bzip2 | lbzip2)
if [[ $compress == lbzip2 ]] || command -v "$DRACUT_COMPRESS_LBZIP2" &> /dev/null; then
- compress="$DRACUT_COMPRESS_LBZIP2 -9"
+ compress="$DRACUT_COMPRESS_LBZIP2 -${compress_level_bzip2-9}"
else
- compress="$DRACUT_COMPRESS_BZIP2 -9"
+ compress="$DRACUT_COMPRESS_BZIP2 -${compress_level_bzip2-9}"
fi
- compress_3cpio="bzip2 -9"
+ compress_3cpio="bzip2 -${compress_level_bzip2-9}"
;;
lzma)
- compress="$DRACUT_COMPRESS_LZMA -9 -T0"
- compress_3cpio="lzma -9"
+ compress="$DRACUT_COMPRESS_LZMA -${compress_level_lzma-9} -T0"
+ compress_3cpio="lzma -${compress_level_lzma-9}"
;;
xz)
- compress="$DRACUT_COMPRESS_XZ --check=crc32 --lzma2=dict=1MiB -T0"
- compress_3cpio=xz
+ compress="${DRACUT_COMPRESS_XZ}${compress_level_xz:+" -${compress_level_xz}"} --check=crc32 --lzma2=dict=1MiB -T0"
+ compress_3cpio="xz${compress_level_xz:+" -${compress_level_xz}"}"
;;
gzip | pigz)
if [[ $compress == pigz ]] || command -v "$DRACUT_COMPRESS_PIGZ" &> /dev/null; then
- compress="$DRACUT_COMPRESS_PIGZ -9 -n -T -R"
+ compress="$DRACUT_COMPRESS_PIGZ -${compress_level_gzip-9} -n -T -R"
elif command -v gzip &> /dev/null && $DRACUT_COMPRESS_GZIP --help 2>&1 | grep -q rsyncable; then
- compress="$DRACUT_COMPRESS_GZIP -n -9 --rsyncable"
+ compress="$DRACUT_COMPRESS_GZIP -n -${compress_level_gzip-9} --rsyncable"
else
- compress="$DRACUT_COMPRESS_GZIP -n -9"
+ compress="$DRACUT_COMPRESS_GZIP -n -${compress_level_gzip-9}"
fi
- compress_3cpio="gzip -9"
+ compress_3cpio="gzip -${compress_level_gzip-9}"
;;
lzo | lzop)
- compress="$DRACUT_COMPRESS_LZOP -9"
- compress_3cpio="lzop -9"
+ compress="$DRACUT_COMPRESS_LZOP -${compress_level_lzop-9}"
+ compress_3cpio="lzop -${compress_level_lzop-9}"
;;
lz4)
- compress="$DRACUT_COMPRESS_LZ4 -l -9"
- compress_3cpio="lz4 -9"
+ compress="$DRACUT_COMPRESS_LZ4 -l -${compress_level_lz4-9}"
+ compress_3cpio="lz4 -${compress_level_lz4-9}"
;;
zstd)
- compress="$DRACUT_COMPRESS_ZSTD -15 -q -T0"
- compress_3cpio="zstd -15"
+ compress="$DRACUT_COMPRESS_ZSTD -${compress_level_zstd-15} -q -T0"
+ compress_3cpio="zstd -${compress_level_zstd-15}"
;;
cat)
compress_3cpio=
if [[ $CPIO == 3cpio ]] && ! [[ -v compress_3cpio ]]; then
case "${compress%% *}" in
"$DRACUT_COMPRESS_LBZIP2" | "$DRACUT_COMPRESS_BZIP2" | lbzip2 | bzip2 | */lbzip2 | */bzip2)
- compress_3cpio="bzip2 -9"
+ compress_3cpio="bzip2 -${compress_level_bzip2-9}"
;;
"$DRACUT_COMPRESS_LZMA" | lzma | */lzma)
- compress_3cpio="lzma -9"
+ compress_3cpio="lzma -${compress_level_lzma-9}"
;;
"$DRACUT_COMPRESS_XZ" | xz | */xz)
- compress_3cpio=xz
+ compress_3cpio="xz${compress_level_xz:+" -${compress_level_xz}"}"
;;
"$DRACUT_COMPRESS_PIGZ" | "$DRACUT_COMPRESS_GZIP" | pigz | gzip | */pigz | */gzip)
- compress_3cpio="gzip -9"
+ compress_3cpio="gzip -${compress_level_gzip-9}"
;;
"$DRACUT_COMPRESS_LZOP" | lzop | */lzop)
- compress_3cpio="lzop -9"
+ compress_3cpio="lzop -${compress_level_lzop-9}"
;;
"$DRACUT_COMPRESS_ZSTD" | zstd | */zstd)
- compress_3cpio="zstd -15"
+ compress_3cpio="zstd -${compress_level_zstd-15}"
;;
"$DRACUT_COMPRESS_LZ4" | lz4 | */lz4)
- compress_3cpio="lz4 -9"
+ compress_3cpio="lz4 -${compress_level_lz4-9}"
;;
"$DRACUT_COMPRESS_CAT" | cat | */cat)
compress_3cpio=
+
To disable compression, use "cat".
+*compress_level_bzip2=*"__\{1-9\}__"::
+Compression level when using bzip2 compression (default=9).
+
+*compress_level_gzip=*"__\{1-9\}__"::
+Compression level when using gzip compression (default=9).
+
+*compress_level_lz4=*"__\{1-12\}__"::
+Compression level when using lz4 compression (default=9).
+
+*compress_level_lzma=*"__\{0-9\}__"::
+Compression level when using lzma compression (default=9).
+
+*compress_level_lzop=*"__\{1-9\}__"::
+Compression level when using lzop compression (default=9).
+
+*compress_level_xz=*"__\{0-9\}__"::
+Compression level when using xz compression (default=unset, i.e. use xz default).
+
+*compress_level_zstd=*"__\{1-19\}__"::
+Compression level when using zstd compression (default=15).
+
*squash_compress=*"__{<compressor [args ...]>}__"::
Compress the squashfs image using the passed compressor and compressor specific
options for `mksquashfs`. You can refer to `mksquashfs` manual for supported