summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xlsinitramfs11
1 files changed, 10 insertions, 1 deletions
diff --git a/lsinitramfs b/lsinitramfs
index 91c65e1..f4e78c1 100755
--- a/lsinitramfs
+++ b/lsinitramfs
@@ -46,6 +46,15 @@ for initramfs in "$@" ; do
exit 1
else
echo "${initramfs}"
- zcat "${initramfs}" | cpio ${cpio_args}
+ if zcat -t "${initramfs}" >/dev/null 2>&1 ; then
+ zcat "${initramfs}" | cpio ${cpio_args}
+ elif xzcat -t "$initramfs" >/dev/null 2>&1 ; then
+ xzcat "$initramfs" | cpio ${cpio_args}
+ elif bzip2 -t "$initramfs" >/dev/null 2>&1 ; then
+ bzip2 -c -d "$initramfs" | cpio ${cpio_args}
+ elif lzop -t "$initramfs" >/dev/null 2>&1 ; then
+ lzop -c -d "$initramfs" | cpio ${cpio_args}
fi
+
+ fi
done