[kexec-tools] move path/core_collector/default parsing code to initrd.

Cong Wang wangcong at fedoraproject.org
Mon Jul 25 11:39:07 UTC 2011


commit be4b40969bdad7c61026a551022c9fb1651b055a
Author: Amerigo Wang <amwang at redhat.com>
Date:   Mon Jul 25 19:38:43 2011 +0800

    move path/core_collector/default parsing code to initrd.

 kdump_dracut_modules/99kdumpbase/install          |    2 +
 kdump_dracut_modules/99kdumpbase/kdump-lib.sh     |   30 +++++++++++++++++++++
 kdump_dracut_modules/99kdumpbase/kdump_localfs.sh |    8 ++++-
 kexec-tools.spec                                  |    5 +++-
 4 files changed, 42 insertions(+), 3 deletions(-)
---
diff --git a/kdump_dracut_modules/99kdumpbase/install b/kdump_dracut_modules/99kdumpbase/install
index bfc4761..c237329 100755
--- a/kdump_dracut_modules/99kdumpbase/install
+++ b/kdump_dracut_modules/99kdumpbase/install
@@ -4,5 +4,7 @@ inst "/bin/date" "/bin/date"
 inst "/bin/sync" "/bin/sync"
 inst "/usr/bin/reboot" "/bin/reboot"
 inst "/sbin/makedumpfile" "/sbin/makedumpfile"
+inst "/etc/kdump.conf" "/etc/kdump.conf"
+inst "$moddir/kdump-lib.sh" "/lib/kdump-lib.sh"
 inst_hook pre-pivot 01 "$moddir/kdump_localfs.sh"
 
diff --git a/kdump_dracut_modules/99kdumpbase/kdump-lib.sh b/kdump_dracut_modules/99kdumpbase/kdump-lib.sh
new file mode 100755
index 0000000..51b2095
--- /dev/null
+++ b/kdump_dracut_modules/99kdumpbase/kdump-lib.sh
@@ -0,0 +1,30 @@
+#!/bin/sh
+
+KDUMP_PATH="/var/crash"
+CORE_COLLECTOR="makedumpfile -d 31 -c"
+
+read_kdump_conf()
+{
+    local conf_file="/etc/kdump.conf"
+    if [ -f "$conf_file" ]; then
+        while read config_opt config_val;
+        do
+	    case "$config_opt" in
+	    path)
+                KDUMP_PATH="$config_val"
+	        ;;
+            core_collector)
+		CORE_COLLECTOR="$config_val"
+                ;;
+            default)
+                ;;
+	    esac
+        done < $conf_file
+    fi
+}
+
+do_default_action()
+{
+    return
+}
+
diff --git a/kdump_dracut_modules/99kdumpbase/kdump_localfs.sh b/kdump_dracut_modules/99kdumpbase/kdump_localfs.sh
index 513142b..96a27a8 100755
--- a/kdump_dracut_modules/99kdumpbase/kdump_localfs.sh
+++ b/kdump_dracut_modules/99kdumpbase/kdump_localfs.sh
@@ -1,13 +1,17 @@
 #!/bin/sh
 
+. /lib/kdump-lib.sh
+read_kdump_conf
 set -x
+
 # We have the root file system mounted under $NEWROOT, so copy 
 # the vmcore there and call it a day
 #
 DATEDIR=`date +%d.%m.%y-%T`
+
 mount -o remount,rw $NEWROOT/
-mkdir -p $NEWROOT/var/crash/$DATEDIR
-cp /proc/vmcore $NEWROOT/var/crash/$DATEDIR/vmcore
+mkdir -p $NEWROOT/$KDUMP_PATH/$DATEDIR
+$CORE_COLLECTOR /proc/vmcore $NEWROOT/$KDUMP_PATH/$DATEDIR/vmcore
 sync
 
 # Once the copy is done, just reboot the system
diff --git a/kexec-tools.spec b/kexec-tools.spec
index a94d5ab..12a69e2 100644
--- a/kexec-tools.spec
+++ b/kexec-tools.spec
@@ -1,6 +1,6 @@
 Name: kexec-tools
 Version: 2.0.2
-Release: 7%{?dist}
+Release: 8%{?dist}
 License: GPLv2
 Group: Applications/System
 Summary: The kexec/kdump userspace component.
@@ -281,6 +281,9 @@ done
 
 
 %changelog
+* Mon Jul 25 2011 Cong Wang <xiyou.wangcong at gmail.com> - 2.0.2-8
+- Move path/core_collector/default parsing code to initrd.
+
 * Mon Jul 25 2011 Cong Wang <xiyou.wangcong at gmail.com> - 2.0.2-7
 - Remove obsolete code in kdumpctl.
 


More information about the scm-commits mailing list