prepare-emmc-qemu: Use xz or xzdec
This enhances prepare-emmc-qemu to use whichever of the xz or xzdec
commands is available. (It stops if neither is available.)
Tested: Ran successfully under bash with xz available.
Signed-off-by: Joseph Reynolds <joseph-reynolds@charter.net>
Change-Id: I3e4e12f8de3b32433d554502db86ca41e8809ff2
diff --git a/prepare-emmc-qemu/prepare-emmc-qemu b/prepare-emmc-qemu/prepare-emmc-qemu
index d0b854a..fd2b14f 100755
--- a/prepare-emmc-qemu/prepare-emmc-qemu
+++ b/prepare-emmc-qemu/prepare-emmc-qemu
@@ -19,6 +19,16 @@
echo '\t'$script_name 'p10bmc' '~/src/openbmc/openbmc/build/p10bmc'
}
+detect_xzdec() {
+ if command -v xz >/dev/null
+ then
+ echo xz -dc
+ elif command -v xzdec >/dev/null
+ then
+ echo xzdec
+ fi
+}
+
if [ $# -eq 0 ]
then
print_help
@@ -37,7 +47,12 @@
exit 1
fi
-xzdec -V > /dev/null
+
+XZDEC=$(detect_xzdec)
+if [ -z "$XZDEC" ]; then
+ echo >&2 "XZ decompress is not available (xz or xzdec). Stopping."
+ exit 1
+fi
set -x
@@ -52,7 +67,7 @@
dd of=$mmc if=/dev/zero bs=1M count=128
dd of=$mmc if=${fw_dir}/u-boot-spl.bin conv=notrunc
dd of=$mmc if=${fw_dir}/u-boot.bin conv=notrunc bs=1K seek=64
-xzdec $wicxz | dd of=$mmc conv=notrunc bs=1M seek=2
+${XZDEC} $wicxz | dd of=$mmc conv=notrunc bs=1M seek=2
truncate --size ${image_size} $mmc
set +x