config KERNEL_PROC_VMCORE
bool
+config KERNEL_PROC_KCORE
+ bool
+
config KERNEL_CRASH_DUMP
depends on i386 || x86_64 || arm || armeb
select KERNEL_KEXEC
select KERNEL_PROC_VMCORE
+ select KERNEL_PROC_KCORE
bool "Enable support for kexec crashdump"
default y
#!/bin/sh
+# kB disable if mem low than 256MB
+memtotal=`grep MemTotal /proc/meminfo | awk '{print $2}'`
+if test $memtotal -le 262144; then
+ exit 0
+fi
+KZ=128
+if test $memtotal -ge 8388608; then
+ KZ=512
+elif test $memtotal -ge 4194304; then
+ KZ=256
+fi
+
case $(uname -m) in
i?86|x86_64)
if ! grep -q crashkernel /boot/grub/grub.cfg; then
mount /boot -o remount,rw
- sed -i 's/linux.*/& crashkernel=32M@32M/' /boot/grub/grub.cfg
+ sed -i "s/linux.*/& crashkernel=${KZ}M/" /boot/grub/grub.cfg
mount /boot -o remount,ro
fi
;;
START=41
STOP=90
+BOOT_IMAGE=/boot/vmlinuz
+
EXTRA_COMMANDS="status"
EXTRA_HELP=" status Print crashkernel status"
--- /dev/null
+diff --git a/kexec/arch/x86_64/kexec-elf-rel-x86_64.c b/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
+index 7fdde73..af33689 100644
+--- a/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
++++ b/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
+@@ -78,7 +78,8 @@ void machine_apply_elf_rel(struct mem_ehdr *UNUSED(ehdr),
+ if ((int64_t)value != *(int32_t *)location)
+ goto overflow;
+ break;
+- case R_X86_64_PC32:
++ case R_X86_64_PC32:
++ case R_X86_64_PLT32:
+ *(uint32_t *)location = value - address;
+ break;
+ default: