From e52743306a5686f79a30e62cfb02c450bf71db3f Mon Sep 17 00:00:00 2001 From: Carlo Landmeter Date: Sat, 24 Feb 2018 12:26:49 +0000 Subject: mkinitfs: add xz compression support --- mkinitfs.in | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) (limited to 'mkinitfs.in') diff --git a/mkinitfs.in b/mkinitfs.in index 83333ca..9bffa01 100755 --- a/mkinitfs.in +++ b/mkinitfs.in @@ -12,6 +12,8 @@ group="$datadir"/group startdir=$PWD +initfscomp=gzip + feature_files() { local dir="$1" local suffix="$2" @@ -147,16 +149,26 @@ initfs_cpio() { fi rm -f $outfile umask 0022 - (cd "$tmpdir" && find . | sort | cpio --quiet -o -H newc | gzip -9) > $outfile + (cd "$tmpdir" && find . | sort | cpio --quiet -o -H newc | $comp) > $outfile +} + +cmd_exists() { + local cmd="$1" + if ! command -v "$cmd" >/dev/null 2>&1; then + echo "Command \"$cmd\" is not available." + exit 1 + fi } usage() { cat < initramfs: creating $outfile" fi +case "$initfscomp" in + gzip) comp="gzip -9" ;; + xz) cmd_exists xz; comp="xz -C crc32 -T 0" ;; + *) echo "Initramfs compression \"$initfscomp\" not supported!"; exit 1 ;; +esac + initfs_base \ && initfs_kmods \ && initfs_firmware \ -- cgit v1.2.3