summaryrefslogtreecommitdiff
path: root/lsinitramfs
diff options
context:
space:
mode:
authorAn-Cheng Huang <ancheng@vyatta.com>2010-09-09 17:12:53 -0700
committerAn-Cheng Huang <ancheng@vyatta.com>2010-09-09 17:12:53 -0700
commit573e21e410934f2293d5ac4c738af5f77083b43b (patch)
tree006a2586447b7f2e9353556f74633db605436777 /lsinitramfs
parent0de1ad17c333d645774ac3b48d652ccd4ecd6900 (diff)
parent7a6f9e972def00f7f0435d9f2616bcb79dc619b7 (diff)
downloadinitramfs-tools-573e21e410934f2293d5ac4c738af5f77083b43b.tar.gz
initramfs-tools-573e21e410934f2293d5ac4c738af5f77083b43b.zip
Merge branch 'upstream' (0.98.2) into mendocino
Conflicts: debian/changelog debian/compat debian/control debian/rules hook-functions mkinitramfs
Diffstat (limited to 'lsinitramfs')
-rwxr-xr-xlsinitramfs51
1 files changed, 51 insertions, 0 deletions
diff --git a/lsinitramfs b/lsinitramfs
new file mode 100755
index 0000000..91c65e1
--- /dev/null
+++ b/lsinitramfs
@@ -0,0 +1,51 @@
+#!/bin/sh
+
+set -eu
+
+usage()
+{
+ echo "Usage: $(basename $0) <initramfs file>"
+}
+
+if [ "$#" -eq 0 ] ; then
+ usage >&2
+ exit 1
+fi
+
+cpio_args="--extract --quiet --list"
+
+OPTIONS=`getopt -o hl --long help,long -n "$0" -- "$@"`
+# Check for non-GNU getopt
+if [ $? != 0 ] ; then echo "W: non-GNU getopt" >&2 ; exit 1 ; fi
+
+eval set -- "$OPTIONS"
+
+while true; do
+ case "$1" in
+ -h|--help)
+ usage
+ exit 0
+ ;;
+ -l|--long)
+ cpio_args="${cpio_args:+${cpio_args} --verbose}"
+ shift
+ ;;
+ --)
+ shift
+ break
+ ;;
+ *)
+ echo "Internal error!" >&2
+ exit 1
+ esac
+done
+
+for initramfs in "$@" ; do
+ if ! [ -r "${initramfs}" ] ; then
+ echo "Specified file could not be read." >&2
+ exit 1
+ else
+ echo "${initramfs}"
+ zcat "${initramfs}" | cpio ${cpio_args}
+ fi
+done