[kexec-tools/f16] mkdumprd: install modified kdump.conf in initrd

Cong Wang wangcong at fedoraproject.org
Tue Aug 2 08:42:41 UTC 2011


commit b9f39e444aabde0252c7930ed59c70b1f2cb7ba9
Author: Amerigo Wang <amwang at redhat.com>
Date:   Tue Aug 2 16:42:21 2011 +0800

    mkdumprd: install modified kdump.conf in initrd

 kdump_dracut_modules/99kdumpbase/module-setup.sh |   14 ++++++++++++--
 kexec-tools.spec                                 |    5 ++++-
 sources                                          |    2 +-
 3 files changed, 17 insertions(+), 4 deletions(-)
---
diff --git a/kdump_dracut_modules/99kdumpbase/module-setup.sh b/kdump_dracut_modules/99kdumpbase/module-setup.sh
index eb4fc52..d61cc8f 100755
--- a/kdump_dracut_modules/99kdumpbase/module-setup.sh
+++ b/kdump_dracut_modules/99kdumpbase/module-setup.sh
@@ -69,7 +69,6 @@ to_udev_name() {
 add_lvm_code() {
     local dev="/dev/$(to_udev_name $1)"
     local lv
-    printf '#!/bin/sh\n' > $moddir/kdump-prepare.sh
     printf "lvm lvchange -ay --sysinit ">> $moddir/kdump-prepare.sh
     lv=$(lvm lvdisplay $dev | awk '/LV Name/ {print $3}')
     echo ${lv#/dev/} >> $moddir/kdump-prepare.sh
@@ -92,6 +91,14 @@ add_udev_rules() {
     udevmatch $1 >> $moddir/90-localfs.rules
 }
 
+gen_new_conf () {
+    if [ ! -f $2 ]
+    then
+        sed -ne '/^#/!p' /etc/kdump.conf > $2
+    fi
+    sed -i -e "s#$1#/dev/$(to_udev_name $1)#" $2
+}
+
 depends() {
     local _deps="base shutdown"
     while read config_opt config_val;
@@ -108,13 +115,16 @@ depends() {
 
 install() {
     echo -n "" > $moddir/90-localfs.rules
+    printf '#!/bin/sh\n' > $moddir/kdump-prepare.sh
     chmod +x $moddir/kdump-prepare.sh
+
     while read config_opt config_val;
     do
         case "$config_opt" in
         ext[234]|xfs|btrfs|minix|raw)
             add_udev_rules $config_val
             add_lvm_code $config_val 
+            gen_new_conf $config_val /tmp/$$-kdump.conf
             ;;
         esac
     done < /etc/kdump.conf
@@ -122,7 +132,7 @@ install() {
     inst "/bin/date" "/bin/date"
     inst "/bin/sync" "/bin/sync"
     inst "/sbin/makedumpfile" "/sbin/makedumpfile"
-    inst "/etc/kdump.conf" "/etc/kdump.conf"
+    inst "/tmp/$$-kdump.conf" "/etc/kdump.conf"
     inst_hook pre-pivot 01 "$moddir/kdump-prepare.sh"
     inst_hook pre-pivot 02 "$moddir/kdump.sh"
     inst_rules "$moddir/90-localfs.rules"
diff --git a/kexec-tools.spec b/kexec-tools.spec
index 058d198..8cb6c40 100644
--- a/kexec-tools.spec
+++ b/kexec-tools.spec
@@ -1,6 +1,6 @@
 Name: kexec-tools
 Version: 2.0.2
-Release: 22%{?dist}
+Release: 23%{?dist}
 License: GPLv2
 Group: Applications/System
 Summary: The kexec/kdump userspace component.
@@ -280,6 +280,9 @@ done
 
 
 %changelog
+* Tue Aug 2 2011 Cong Wang <xiyou.wangcong at gmail.com> - 2.0.2-23
+- Install modified kdump.conf in initrd.
+
 * Tue Aug 2 2011 Cong Wang <xiyou.wangcong at gmail.com> - 2.0.2-22
 - Handle lvm in pre-pivot hook.
 
diff --git a/sources b/sources
index c5994ed..8d4ea21 100644
--- a/sources
+++ b/sources
@@ -2,4 +2,4 @@ d9f2ecd3c3307905f24130a25816e6cc  kexec-tools-2.0.0.tar.bz2
 3e802d638dce0080b910f15908c04a24  kexec-tools-po.tar.gz
 e3a813bd6d7dace903a05c1296e20d57  makedumpfile-1.3.5.tar.gz
 8e359dd03731b93a2082bd37cc2a4a4c  kexec-tools-2.0.2.tar.bz2
-ed5b216591c1913eeac70449ca810cf7  dracut-files.tbz2
+dccb3e4bfa087c2cad6d4eccaa452b66  dracut-files.tbz2


More information about the scm-commits mailing list