summaryrefslogtreecommitdiffstats
path: root/scripts/xz_wrap.sh
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2014-10-17 15:36:39 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2014-11-04 12:18:55 +0100
commitccb281647704d6857d3491dc71746d2f7ce38fa7 (patch)
tree174abba08cfce552c97535d9c0abd1f8b32a99f5 /scripts/xz_wrap.sh
parent2f81d316d21113ab4288fbd3e84c03bf6f0c08ed (diff)
downloadbarebox-ccb281647704d6857d3491dc71746d2f7ce38fa7.tar.gz
barebox-ccb281647704d6857d3491dc71746d2f7ce38fa7.tar.xz
Add xz decompression support
This adds xz decompression support from the kernel. Both compressing the barebox binary with xz and decompressing xz files on the commandline is supported. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'scripts/xz_wrap.sh')
-rwxr-xr-xscripts/xz_wrap.sh23
1 files changed, 23 insertions, 0 deletions
diff --git a/scripts/xz_wrap.sh b/scripts/xz_wrap.sh
new file mode 100755
index 0000000000..7a2d372f48
--- /dev/null
+++ b/scripts/xz_wrap.sh
@@ -0,0 +1,23 @@
+#!/bin/sh
+#
+# This is a wrapper for xz to compress the kernel image using appropriate
+# compression options depending on the architecture.
+#
+# Author: Lasse Collin <lasse.collin@tukaani.org>
+#
+# This file has been put into the public domain.
+# You can do whatever you want with this file.
+#
+
+BCJ=
+LZMA2OPTS=
+
+case $SRCARCH in
+ x86) BCJ=--x86 ;;
+ powerpc) BCJ=--powerpc ;;
+ ia64) BCJ=--ia64; LZMA2OPTS=pb=4 ;;
+ arm) BCJ=--arm ;;
+ sparc) BCJ=--sparc ;;
+esac
+
+exec xz --check=crc32 $BCJ --lzma2=$LZMA2OPTS,dict=32MiB