diff options
Diffstat (limited to 'target/linux/generic/patches-2.6.39/998-openwrt_lzma_options.patch')
-rw-r--r-- | target/linux/generic/patches-2.6.39/998-openwrt_lzma_options.patch | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/target/linux/generic/patches-2.6.39/998-openwrt_lzma_options.patch b/target/linux/generic/patches-2.6.39/998-openwrt_lzma_options.patch new file mode 100644 index 0000000000..67e0ceefb0 --- /dev/null +++ b/target/linux/generic/patches-2.6.39/998-openwrt_lzma_options.patch @@ -0,0 +1,54 @@ +--- a/scripts/Makefile.lib ++++ b/scripts/Makefile.lib +@@ -254,7 +254,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 $@ +--- a/scripts/gen_initramfs_list.sh ++++ b/scripts/gen_initramfs_list.sh +@@ -226,7 +226,7 @@ cpio_list= + output="/dev/stdout" + output_file="" + is_cpio_compressed= +-compr="gzip -9 -f" ++compr="gzip -9 -f -" + + arg="$1" + case "$arg" in +@@ -240,9 +240,9 @@ case "$arg" in + output_file="$1" + cpio_list="$(mktemp ${TMPDIR:-/tmp}/cpiolist.XXXXXX)" + output=${cpio_list} +- echo "$output_file" | grep -q "\.gz$" && compr="gzip -9 -f" +- echo "$output_file" | grep -q "\.bz2$" && compr="bzip2 -9 -f" +- echo "$output_file" | grep -q "\.lzma$" && compr="lzma -9 -f" ++ echo "$output_file" | grep -q "\.gz$" && compr="gzip -9 -f -" ++ echo "$output_file" | grep -q "\.bz2$" && compr="bzip2 -9 -f -" ++ echo "$output_file" | grep -q "\.lzma$" && compr="lzma e -d20 -lc1 -lp2 -pb2 -eos -si -so" + echo "$output_file" | grep -q "\.xz$" && \ + compr="xz --check=crc32 --lzma2=dict=1MiB" + echo "$output_file" | grep -q "\.lzo$" && compr="lzop -9 -f" +@@ -296,7 +296,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} +--- a/lib/decompress.c ++++ b/lib/decompress.c +@@ -40,6 +40,7 @@ static const struct compress_format { + { {037, 0236}, "gzip", gunzip }, + { {0x42, 0x5a}, "bzip2", bunzip2 }, + { {0x5d, 0x00}, "lzma", unlzma }, ++ { {0x6d, 0x00}, "lzma-openwrt", unlzma }, + { {0xfd, 0x37}, "xz", unxz }, + { {0x89, 0x4c}, "lzo", unlzo }, + { {0, 0}, NULL, NULL } |