]> code.ossystems Code Review - openembedded-core.git/commitdiff
kdump: don't set default values for KDUMP_CMDLINE and KDUMP_KIMAGE
authorRoy Li <rongqing.li@windriver.com>
Fri, 22 Jul 2016 06:45:10 +0000 (14:45 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 25 Jul 2016 22:47:01 +0000 (23:47 +0100)
Do not set default values of KDUMP_CMDLINE and KDUMP_KIMAGE, and leave
them set by configure file since they are different for different
architectures. Take KDUMP_KIMAGE kdump kernel image for example:

    x86 is bzImage
    mips64 is vmlinux
    ppc is uImage
    arm is zImage

Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/recipes-kernel/kexec/kexec-tools/kdump
meta/recipes-kernel/kexec/kexec-tools/kdump.conf

index 3fb133fb35158cb6ac569a97008fb3616eb862ad..2347205eda2271aa991ec569fc62395d0511f8d4 100755 (executable)
@@ -8,23 +8,7 @@
 #
 
 #default
-KDUMP_KVER="`uname -r`"
-KDUMP_KIMAGE="/boot/bzImage-${KDUMP_KVER}"
-KDUMP_CMDLINE="`cat /proc/cmdline`"
-KDUMP_CMDLINE_APPEND="kdump_needed maxcpus=1 irqpoll reset_devices"
-KDUMP_VMCORE_PATH="/var/crash/`date +"%Y-%m-%d"`"
-
-#get right kernel image
-march="`uname -m`"
-case ${march} in
-       x86*|i?86)
-               ;;
-               *)
-               KDUMP_KIMAGE="/boot/uImage-${KDUMP_KVER}"
-               ;;
-esac
-
-KEXEC=usr/sbin/kexec
+KEXEC=/usr/sbin/kexec
 KEXEC_ARGS="-p"
 
 MAKEDUMPFILE=/usr/bin/makedumpfile
@@ -34,6 +18,9 @@ LOGGER="logger -p info -t kdump"
 
 if [ -f /etc/sysconfig/kdump.conf ]; then
        . /etc/sysconfig/kdump.conf
+else
+       echo "no /etc/sysconfig/kdump.conf"
+       exit 1;
 fi
 
 do_check()
@@ -41,24 +28,33 @@ do_check()
        #check makedumpfile
        if [ ! -e ${MAKEDUMPFILE} -o ! -x ${MAKEDUMPFILE} ] ;then
                echo "No makedumpfile found."
-               return 1;
+               exit 0
        fi
 
        #check kexec
        if [ ! -e ${KEXEC} -o ! -x ${KEXEC} ] ;then
                echo "No kexec found."
-               return 1;
+               exit 0
        fi
 
        #check whether kdump kernel image exists on the system
-       if [ ! -f ${KDUMP_KIMAGE} ]; then
+       if [ -z "${KDUMP_KIMAGE}" -o ! -f "${KDUMP_KIMAGE}" ]; then
                echo "No kdump kernel image found."
-               return 1
+               exit 0
+       fi
+
+       if [ "${KDUMP_CMDLINE}"x = "x" ] ; then
+               echo "KDUMP_CMDLINE is not configured"
+               exit 0
        fi
 }
 
 do_save_vmcore()
 {
+       if [ ${KDUMP_VMCORE_PATH}x = x ]; then
+               KDUMP_VMCORE_PATH="/var/crash/`date +"%Y-%m-%d"`"
+       fi
+
        mkdir -p ${KDUMP_VMCORE_PATH}
        echo "Saving a vmcore to ${KDUMP_VMCORE_PATH}."
 
@@ -101,20 +97,6 @@ do_start()
                return 1
        fi
 
-       #handle kdump cmdline parameters, remove some useless options
-       kcmdline=""
-       for x in `cat /proc/cmdline`; do
-               case $x in
-                       crashkernel*)
-                               ;;
-                       *)
-                               kcmdline="${kcmdline} $x"
-                               ;;
-               esac
-       done
-
-       KDUMP_CMDLINE="${kcmdline} ${KDUMP_CMDLINE_APPEND}"
-
        #Load the kdump kernel image
        ${KEXEC} ${KEXEC_ARGS} "${KDUMP_KIMAGE}" --append="${KDUMP_CMDLINE}"
        if [ $? != 0 ]; then
index 42a2435b96b498c1c4e865525708a1686661efe5..38190d207a1b4b478c6b37e2fedaed395af72ce7 100644 (file)
@@ -1,13 +1,9 @@
 #the kdump kernel version string.
 #KDUMP_KVER="`uname -r`"
 
-#this will be passed to the kdump kernel as kdump kernel command line, it
-#usually comes from /proc/cmdline
+#this will be passed to the kdump kernel as kdump kernel command line
 #KDUMP_CMDLINE="`cat /proc/cmdline`"
 
-# append arguments to the kdump commandline
-#KDUMP_CMDLINE_APPEND="kdump_needed maxcpus=1 irqpoll reset_devices"
-
 #the kernel image for kdump
 #KDUMP_KIMAGE="/boot/bzImage-${KDUMP_KVER}"