[PATCH] lsinird: Adding option "-m|--mod" to list dracut modules in the image

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This patch adds option "-m|--mod" to lsinitrd to list dracut
modules in the image  because sometimes  having an option to
only list the dracut modules in the image could be handy.

Sample output:
--------------

[hbathini@localhost dracut]$ sudo ./lsinitrd.sh initramfs-3.11.10-100.fc18.x86_64.img -m
Image: initramfs-3.11.10-100.fc18.x86_64.img: 33M
========================================================================
Version: dracut-029-1.fc18.2

dracut modules:
i18n
network
ifcfg
drm
plymouth
btrfs
crypt
dm
dmraid
kernel-modules
lvm
mdraid
cifs
iscsi
nfs
resume
rootfs-block
terminfo
udev-rules
biosdevname
systemd
usrmount
base
fs-lib
shutdown
========================================================================

Signed-off-by: Hari Bathini <hbathini@xxxxxxxxxxxxxxxxxx>
---
 lsinitrd.sh |   30 ++++++++++++++++++++++--------
 1 file changed, 22 insertions(+), 8 deletions(-)

diff --git a/lsinitrd.sh b/lsinitrd.sh
index a697bc2..8e4baaf 100755
--- a/lsinitrd.sh
+++ b/lsinitrd.sh
@@ -27,6 +27,7 @@ usage()
         echo
         echo "-h, --help                  print a help message and exit."
         echo "-s, --size                  sort the contents of the initramfs by size."
+        echo "-m, --mod                   list modules."
         echo "-f, --file <filename>       print the contents of <filename>."
         echo "-k, --kver <kernel version> inspect the initramfs of <kernel version>."
         echo
@@ -37,13 +38,15 @@ usage()
 [[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut
 
 sorted=0
+modules=0
 declare -A filenames
 
 unset POSIXLY_CORRECT
 TEMP=$(getopt \
-    -o "shf:k:" \
+    -o "shmf:k:" \
     --long kver: \
     --long file: \
+    --long mod \
     --long help \
     --long size \
     -- "$@")
@@ -61,6 +64,7 @@ while (($# > 0)); do
         -f|--file)  filenames[${2#/}]=1; shift;;
         -s|--size)  sorted=1;;
         -h|--help)  usage; exit 0;;
+        -m|--mod)   modules=1;;
         --)         shift;break;;
         *)          usage; exit 1;;
     esac
@@ -119,6 +123,13 @@ extract_files()
     done
 }
 
+list_modules()
+{
+    echo "dracut modules:"
+    $CAT "$image" | cpio --extract --verbose --quiet --to-stdout -- 'lib/dracut/modules.txt' 'usr/lib/dracut/modules.txt' 2>/dev/null
+    ((ret+=$?))
+}
+
 list_files()
 {
     echo "========================================================================"
@@ -209,13 +220,16 @@ else
     ((ret+=$?))
     echo "Version: $version"
     echo
-    echo -n "Arguments: "
-    $CAT "$image" | cpio --extract --verbose --quiet --to-stdout -- 'lib/dracut/build-parameter.txt' 'usr/lib/dracut/build-parameter.txt' 2>/dev/null
-    echo
-    echo "dracut modules:"
-    $CAT "$image" | cpio --extract --verbose --quiet --to-stdout -- 'lib/dracut/modules.txt' 'usr/lib/dracut/modules.txt' 2>/dev/null
-    ((ret+=$?))
-    list_files
+    if [ "$modules" -eq 1 ]; then
+        list_modules
+        echo "========================================================================"
+    else
+        echo -n "Arguments: "
+        $CAT "$image" | cpio --extract --verbose --quiet --to-stdout -- 'lib/dracut/build-parameter.txt' 'usr/lib/dracut/build-parameter.txt' 2>/dev/null
+        echo
+        list_modules
+        list_files
+    fi
 fi
 
 exit $ret

--
To unsubscribe from this list: send the line "unsubscribe initramfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux