diff --git a/lib/decompress.c b/lib/decompress.c index 62696dff5730be1927edfdafc7bc314e71226a88..d91a26e1a1b221dd9938ac6a7ce8382bfce90838 100644 --- a/lib/decompress.c +++ b/lib/decompress.c @@ -48,6 +48,7 @@ static const struct compress_format compressed_formats[] __initconst = { { {0x1f, 0x9e}, "gzip", gunzip }, { {0x42, 0x5a}, "bzip2", bunzip2 }, { {0x5d, 0x00}, "lzma", unlzma }, + { {0x6d, 0x00}, "lzma-openwrt", unlzma }, { {0xfd, 0x37}, "xz", unxz }, { {0x89, 0x4c}, "lzo", unlzo }, { {0x02, 0x21}, "lz4", unlz4 }, diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib index ae0f9ab1a70d995f8ec2612ef8ceb669507b5c54..9c9259911f49f1bea444836049838a30ac808a49 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -344,7 +344,7 @@ cmd_bzip2 = (cat $(filter-out FORCE,$^) | \ quiet_cmd_lzma = LZMA $@ cmd_lzma = (cat $(filter-out FORCE,$^) | \ - lzma -9 && $(call size_append, $(filter-out FORCE,$^))) > $@ || \ + lzma e -d20 -lc1 -lp2 -pb2 -eos -si -so && $(call size_append, $(filter-out FORCE,$^))) > $@ || \ (rm -f $@ ; false) quiet_cmd_lzo = LZO $@ diff --git a/scripts/gen_initramfs_list.sh b/scripts/gen_initramfs_list.sh index 0055b07b03b68cafd0bc3c400ee23b686632efbf..7710113e6a721c3b3308ecffff4c36308bdb504c 100755 --- a/scripts/gen_initramfs_list.sh +++ b/scripts/gen_initramfs_list.sh @@ -229,7 +229,7 @@ cpio_list= output="/dev/stdout" output_file="" is_cpio_compressed= -compr="gzip -n -9 -f" +compr="gzip -n -9 -f -" arg="$1" case "$arg" in @@ -245,13 +245,13 @@ case "$arg" in output=${cpio_list} echo "$output_file" | grep -q "\.gz$" \ && [ -x "`which gzip 2> /dev/null`" ] \ - && compr="gzip -n -9 -f" + && compr="gzip -n -9 -f -" echo "$output_file" | grep -q "\.bz2$" \ && [ -x "`which bzip2 2> /dev/null`" ] \ - && compr="bzip2 -9 -f" + && compr="bzip2 -9 -f -" echo "$output_file" | grep -q "\.lzma$" \ && [ -x "`which lzma 2> /dev/null`" ] \ - && compr="lzma -9 -f" + && compr="lzma e -d20 -lc1 -lp2 -pb2 -eos -si -so" echo "$output_file" | grep -q "\.xz$" \ && [ -x "`which xz 2> /dev/null`" ] \ && compr="xz --check=crc32 --lzma2=dict=1MiB" @@ -318,7 +318,7 @@ if [ ! -z ${output_file} ]; then if [ "${is_cpio_compressed}" = "compressed" ]; then cat ${cpio_tfile} > ${output_file} else - (cat ${cpio_tfile} | ${compr} - > ${output_file}) \ + (cat ${cpio_tfile} | ${compr} > ${output_file}) \ || (rm -f ${output_file} ; false) fi [ -z ${cpio_file} ] && rm ${cpio_tfile}