You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
127 lines
3.5 KiB
127 lines
3.5 KiB
6 years ago
|
From 564c0c4577dfd676472f4a41798909470fee6744 Mon Sep 17 00:00:00 2001
|
||
|
From: Hari Bathini <hbathini@linux.vnet.ibm.com>
|
||
|
Date: Mon, 2 Jun 2014 16:27:37 +0530
|
||
|
Subject: [PATCH] lsinird: Adding option "-m|--mod" to list dracut modules in
|
||
|
the image
|
||
|
|
||
|
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@linux.vnet.ibm.com>
|
||
|
(cherry picked from commit 05d2a14526042417a4a2b1b3d003738b51ab3df7)
|
||
|
---
|
||
|
lsinitrd.sh | 29 ++++++++++++++++++++++++-----
|
||
|
1 file changed, 24 insertions(+), 5 deletions(-)
|
||
|
|
||
|
diff --git a/lsinitrd.sh b/lsinitrd.sh
|
||
|
index b36b34e2..b086a635 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 "========================================================================"
|
||
|
@@ -211,10 +222,18 @@ if (( ${#filenames[@]} > 0 )); then
|
||
|
else
|
||
|
version=$($CAT "$image" | cpio --extract --verbose --quiet --to-stdout -- 'lib/dracut/dracut-*' 'usr/lib/dracut/dracut-*' 2>/dev/null)
|
||
|
((ret+=$?))
|
||
|
- echo "$version with dracut modules:"
|
||
|
- $CAT "$image" | cpio --extract --verbose --quiet --to-stdout -- '*lib/dracut/modules.txt' 2>/dev/null
|
||
|
- ((ret+=$?))
|
||
|
- list_files
|
||
|
+ echo "Version: $version"
|
||
|
+ echo
|
||
|
+ 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
|