aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Deutschmann <whissi@gentoo.org>2020-08-28 17:22:56 +0200
committerThomas Deutschmann <whissi@gentoo.org>2020-08-28 18:35:59 +0200
commit88e1dd1c2ab49f232fed596927c15c3781fc6b28 (patch)
tree487c3c67b533396815cd96b9c5ec727f71249f3c /defaults/gksosreport.sh
parentdefaults/linuxrc: Try to determine filesystem type (diff)
downloadgenkernel-88e1dd1c2ab49f232fed596927c15c3781fc6b28.tar.gz
genkernel-88e1dd1c2ab49f232fed596927c15c3781fc6b28.tar.bz2
genkernel-88e1dd1c2ab49f232fed596927c15c3781fc6b28.zip
defaults/linuxrc: Add gksosreport
To help debugging, 'gksosreport' was added (idea was borrowed from dracut): Whenever a user run into a problem and get to a rescue shell, running "gksosreport" will generate /run/initramfs/gksosreport.txt containing useful debug information suitable to attach to bug reports. Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
Diffstat (limited to 'defaults/gksosreport.sh')
-rw-r--r--defaults/gksosreport.sh74
1 files changed, 74 insertions, 0 deletions
diff --git a/defaults/gksosreport.sh b/defaults/gksosreport.sh
new file mode 100644
index 0000000..03b44b6
--- /dev/null
+++ b/defaults/gksosreport.sh
@@ -0,0 +1,74 @@
+#!/bin/sh
+
+echo 'Generating "/run/initramfs/gksosreport.txt" ...'
+
+if [ ! -d /run/initramfs ]
+then
+ mkdir -p /run/initramfs
+ chmod 0750 /run/initramfs
+fi
+
+exec >/run/initramfs/gksosreport.txt 2>&1
+
+PWFILTER='s/\(ftp:\/\/.*\):.*@/\1:*******@/g;s/\(cifs:\/\/.*\):.*@/\1:*******@/g;s/cifspass=[^ ]*/cifspass=*******/g;s/iscsi:.*@/iscsi:******@/g;s/rd.iscsi.password=[^ ]*/rd.iscsi.password=******/g;s/rd.iscsi.in.password=[^ ]*/rd.iscsi.in.password=******/g'
+
+echo "Genkernel SOS report from $(date +'%Y-%m-%d %H:%M:%S'):"
+
+set -x
+
+cat /lib/dracut/dracut-gk-version.info
+
+cat /lib/dracut/build-parameter.txt
+
+cat /proc/cmdline | sed -e "${PWFILTER}"
+
+[ -f /etc/cmdline ] && cat /etc/cmdline | sed -e "${PWFILTER}"
+
+lspci -k
+
+lsmod
+
+find /lib/modules/$(uname -r) -type f
+
+cat /proc/self/mountinfo
+cat /proc/mounts
+
+blkid
+blkid -o udev
+
+ls -l /dev/disk/by*
+
+if hash lvm >/dev/null 2>/dev/null
+then
+ lvm pvdisplay
+ lvm vgdisplay
+ lvm lvdisplay
+fi
+
+if hash dmsetup >/dev/null 2>/dev/null
+then
+ dmsetup ls --tree
+fi
+
+if [ -e /proc/mdstat ]
+then
+ cat /proc/mdstat
+fi
+
+if hash cryptsetup >/dev/null 2>/dev/null
+then
+ if [ -e /dev/mapper/root ]
+ then
+ cryptsetup status /dev/mapper/root
+ fi
+fi
+
+if hash ip >/dev/null 2>/dev/null
+then
+ ip link
+ ip addr
+fi
+
+dmesg | sed -e "${PWFILTER}"
+
+[ -f /run/initramfs/init.log ] && cat /run/initramfs/init.log | sed -e "${PWFILTER}"