summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoy Li <rongqing.li@windriver.com>2016-07-22 14:45:10 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-07-25 23:47:01 +0100
commit05dcb054fcd0c80bb09612c3e15b6b1f0487aae8 (patch)
tree9cbb4aac05fba02792aab3445c18fb51b4761ce2
parentacff48731ea19c11768fed076d696fd1cb0bbbf0 (diff)
downloadopenembedded-core-05dcb054fcd0c80bb09612c3e15b6b1f0487aae8.tar.gz
openembedded-core-05dcb054fcd0c80bb09612c3e15b6b1f0487aae8.tar.bz2
openembedded-core-05dcb054fcd0c80bb09612c3e15b6b1f0487aae8.zip
kdump: don't set default values for KDUMP_CMDLINE and KDUMP_KIMAGE
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>
-rwxr-xr-xmeta/recipes-kernel/kexec/kexec-tools/kdump52
-rw-r--r--meta/recipes-kernel/kexec/kexec-tools/kdump.conf6
2 files changed, 18 insertions, 40 deletions
diff --git a/meta/recipes-kernel/kexec/kexec-tools/kdump b/meta/recipes-kernel/kexec/kexec-tools/kdump
index 3fb133fb35..2347205eda 100755
--- a/meta/recipes-kernel/kexec/kexec-tools/kdump
+++ b/meta/recipes-kernel/kexec/kexec-tools/kdump
@@ -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
diff --git a/meta/recipes-kernel/kexec/kexec-tools/kdump.conf b/meta/recipes-kernel/kexec/kexec-tools/kdump.conf
index 42a2435b96..38190d207a 100644
--- a/meta/recipes-kernel/kexec/kexec-tools/kdump.conf
+++ b/meta/recipes-kernel/kexec/kexec-tools/kdump.conf
@@ -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}"