X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=bin%2Flive-new-uuid;h=2e29f6a6f9f98ba2a5efa412737d8d859319bda0;hb=516cef1024f401735992bba54ab4922b767b6a6a;hp=97cc7d4faae6a8733d72cb83b7d29e09c2b296c8;hpb=b087c373717f3cb34814d6b1eec20e27d185d32f;p=live-boot-grml.git diff --git a/bin/live-new-uuid b/bin/live-new-uuid index 97cc7d4..2e29f6a 100755 --- a/bin/live-new-uuid +++ b/bin/live-new-uuid @@ -31,10 +31,10 @@ set -e help() { echo - echo "USAGE: $0 initrd.gz " + echo "USAGE: $0 initrd.{l,g}z " echo - echo "initrd.gz is the absolute path to the original gzipped initramfs" - echo " is the destination directory for the new gzipped initramfs" + echo "initrd.{l,g}z is the absolute path to the original gzipped or lzmaed initramfs" + echo " is the destination directory for the new compressed initramfs" echo " is the destination directory for the new live-uuid-TYPE " echo echo "if either path is absent, they will end up in the current directory " @@ -50,10 +50,21 @@ CWD=`pwd` TEMPDIR=`mktemp -d /tmp/uuid-XXXXXX` TYPE=`uname -r | cut -d '-' -f 3` +if echo "$1" | grep ".lz$" >/dev/null; then + COMPRESSOR="lzma" + SUFFIX=".lz" +elif echo "$1" | grep ".gz$" >/dev/null; then + COMPRESSOR="gzip" + SUFFIX=".gz" +else + echo "Unsupported archive type." + exit 2 +fi + if [ -z "$2" ] || [ ! -d "$2" ] || [ "$2" = "." ]; then - GZIPDIR="$CWD" + COMPRESS_DIR="$CWD" else - GZIPDIR="$2" + COMPRESS_DIR="$2" fi if [ -z "$3" ] || [ ! -d "$3" ] || [ "$3" = "." ]; then @@ -63,13 +74,13 @@ else fi cd "$TEMPDIR" -zcat "$1" | cpio -id +$COMPRESSOR -cd "$1" -S "$SUFFIX" | cpio -id uuidgen -r > conf/uuid.conf -find . | cpio --quiet --dereference -o -H newc | gzip > "$GZIPDIR/initrd.gz" +find . | cpio --quiet --dereference -o -H newc | $COMPRESSOR -9c > "$COMPRESS_DIR/initrd$SUFFIX" if [ "$(ls "$LIVEDIR/live-uuid"-* >/dev/null 2>&1 | wc -l)" = 1 ]; then - cp conf/uuid.conf "$LIVEDIR/live-uuid"-* + cp conf/uuid.conf "$LIVEDIR/live-uuid"-* else - cp conf/uuid.conf "$LIVEDIR/live-uuid-$TYPE" + cp conf/uuid.conf "$LIVEDIR/live-uuid-$TYPE" fi cd "$CWD" rm -rf "$TEMPDIR"