Changes in the resulting kdump.sysconfig.$arch files:
- the one mentioned by Kairui in his cover letter
- reordering of some parameters
- nr_cpus=1 -> maxcpus=1 (I assume these two are identical)
Signed-off-by: Philipp Rudo <prudo(a)redhat.com>
---
kdump-gen-configs.sh | 69 ++++++++++++++++++++++++++++++++++++++++
kdump-gen-sysconfig.sh | 51 -----------------------------
kdump.sysconfig.template | 4 +--
3 files changed, 71 insertions(+), 53 deletions(-)
create mode 100755 kdump-gen-configs.sh
delete mode 100755 kdump-gen-sysconfig.sh
diff --git a/kdump-gen-configs.sh b/kdump-gen-configs.sh
new file mode 100755
index 0000000..3a79977
--- /dev/null
+++ b/kdump-gen-configs.sh
@@ -0,0 +1,69 @@
+#!/bin/bash
+
+TEMPLATE=$1
+ARCH=$2
+SED_EXP=""
+
+param_set()
+{
+ SED_EXP="${SED_EXP}s/^$1\>.*$/$1=\"$2\"/;"
+}
+
+param_add()
+{
+ SED_EXP="${SED_EXP}/^$1\>/{s/\(\"\)\?$/ $2\1/};"
+}
+
+param_del()
+{
+ SED_EXP="${SED_EXP}/^$1\>/{s/\(\s\|\"\)$2\>\(=\S*\)\?\(\s\|\"\)/\1\3/g};"
+}
+
+case "$ARCH" in
+aarch64)
+ param_del KDUMP_COMMANDLINE_APPEND "numa"
+ param_del KDUMP_COMMANDLINE_APPEND "transparent_hugepage"
+ param_add KDUMP_COMMANDLINE_APPEND "swiotlb=noforce"
+ ;;
+i386)
+ param_del KDUMP_COMMANDLINE_APPEND "cgroup_disable"
+
+ param_set KEXEC_ARGS ""
+ ;;
+ppc64)
+ param_del KDUMP_COMMANDLINE_REMOVE "cma"
+
+ param_del KDUMP_COMMANDLINE_APPEND "cma"
+ param_add KDUMP_COMMANDLINE_APPEND "noirqdistrib ehea.use_mcs=0
kvm_cma_resv_ratio=0"
+
+ param_del KEXEC_ARGS "-s"
+ param_add KEXEC_ARGS "--dt-no-old-root"
+ ;;
+ppc64le)
+ param_del KDUMP_COMMANDLINE_REMOVE "cma"
+
+ param_del KDUMP_COMMANDLINE_APPEND "cma"
+ param_add KDUMP_COMMANDLINE_APPEND "noirqdistrib ehea.use_mcs=0
kvm_cma_resv_ratio=0"
+
+ param_add KEXEC_ARGS "--dt-no-old-root"
+ ;;
+s390x)
+ param_add KDUMP_COMMANDLINE_REMOVE "vmcp_cma prot_virt"
+
+ param_del KDUMP_COMMANDLINE_APPEND "irqpoll"
+ param_del KDUMP_COMMANDLINE_APPEND "reset_devices"
+ param_add KDUMP_COMMANDLINE_APPEND "vmcp_cma=0"
+ ;;
+x86_64)
+ param_add KDUMP_COMMANDLINE_APPEND "mce=off acpi_no_memhotplug nokaslr
hest_disable"
+ ;;
+*)
+ echo "$0: Unknown architecture $ARCH provided" >&2
+ exit 1
+esac
+
+# On lines that are no comment, remove leading, trailing and double spaces as
+# well as the ones at the beginning and end of a quote
+SED_EXP="${SED_EXP}/^#/!{s/^\s\+//g;s/\s\+$//g;s/\s\+/
/g;s/\"\s\+/\"/g;s/\s\+\"/\"/g};"
+
+sed "$SED_EXP" "$TEMPLATE"
diff --git a/kdump-gen-sysconfig.sh b/kdump-gen-sysconfig.sh
deleted file mode 100755
index 1eac80d..0000000
--- a/kdump-gen-sysconfig.sh
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/bin/bash
-
-TEMPLATE=$1
-ARCH=$2
-SED_EXP=""
-
-update_param()
-{
- SED_EXP="${SED_EXP}s/^$1=.*$/$1=\"$2\"/;"
-}
-
-case "$ARCH" in
-aarch64)
- update_param KEXEC_ARGS "-s"
- update_param KDUMP_COMMANDLINE_APPEND \
- "irqpoll nr_cpus=1 reset_devices cgroup_disable=memory udev.children-max=2
panic=10 swiotlb=noforce novmcoredd cma=0 hugetlb_cma=0"
- ;;
-i386)
- update_param KDUMP_COMMANDLINE_APPEND \
- "irqpoll nr_cpus=1 reset_devices numa=off udev.children-max=2 panic=10
transparent_hugepage=never novmcoredd cma=0 hugetlb_cma=0"
- ;;
-ppc64)
- update_param KDUMP_COMMANDLINE_REMOVE \
- "hugepages hugepagesz slub_debug quiet log_buf_len swiotlb hugetlb_cma"
- update_param KDUMP_COMMANDLINE_APPEND \
- "irqpoll maxcpus=1 noirqdistrib reset_devices cgroup_disable=memory numa=off
udev.children-max=2 ehea.use_mcs=0 panic=10 kvm_cma_resv_ratio=0
transparent_hugepage=never novmcoredd hugetlb_cma=0"
- update_param KEXEC_ARGS "--dt-no-old-root"
- ;;
-ppc64le)
- update_param KDUMP_COMMANDLINE_REMOVE \
- "hugepages hugepagesz slub_debug quiet log_buf_len swiotlb hugetlb_cma"
- update_param KDUMP_COMMANDLINE_APPEND \
- "irqpoll maxcpus=1 noirqdistrib reset_devices cgroup_disable=memory numa=off
udev.children-max=2 ehea.use_mcs=0 panic=10 kvm_cma_resv_ratio=0
transparent_hugepage=never novmcoredd hugetlb_cma=0"
- update_param KEXEC_ARGS "--dt-no-old-root -s"
- ;;
-s390x)
- update_param KDUMP_COMMANDLINE_REMOVE \
- "hugepages hugepagesz slub_debug quiet log_buf_len swiotlb vmcp_cma cma
hugetlb_cma prot_virt"
- update_param KDUMP_COMMANDLINE_APPEND \
- "nr_cpus=1 cgroup_disable=memory numa=off udev.children-max=2 panic=10
transparent_hugepage=never novmcoredd vmcp_cma=0 cma=0 hugetlb_cma=0"
- update_param KEXEC_ARGS "-s"
- ;;
-x86_64)
- update_param KDUMP_COMMANDLINE_APPEND \
- "irqpoll nr_cpus=1 reset_devices cgroup_disable=memory mce=off numa=off
udev.children-max=2 panic=10 acpi_no_memhotplug transparent_hugepage=never nokaslr
hest_disable novmcoredd cma=0 hugetlb_cma=0"
- update_param KEXEC_ARGS \
- "-s"
- ;;
-esac
-
-sed "$SED_EXP" "$TEMPLATE"
diff --git a/kdump.sysconfig.template b/kdump.sysconfig.template
index 39b1bdf..2ae7a51 100644
--- a/kdump.sysconfig.template
+++ b/kdump.sysconfig.template
@@ -21,14 +21,14 @@ KDUMP_COMMANDLINE_REMOVE="hugepages hugepagesz slub_debug quiet
log_buf_len swio
# This variable lets us append arguments to the current kdump commandline
# after processed by KDUMP_COMMANDLINE_REMOVE
-KDUMP_COMMANDLINE_APPEND="irqpoll maxcpus=1 reset_devices novmcoredd cma=0
hugetlb_cma=0"
+KDUMP_COMMANDLINE_APPEND="irqpoll maxcpus=1 panic=10 novmcoredd reset_devices
cgroup_disable=memory numa=off transparent_hugepage=never cma=0 hugetlb_cma=0
udev.children-max=2"
# Any additional kexec arguments required. In most situations, this should
# be left empty
#
# Example:
# KEXEC_ARGS="--elf32-core-headers"
-KEXEC_ARGS=""
+KEXEC_ARGS="-s"
#Where to find the boot image
#KDUMP_BOOTDIR="/boot"
--
2.35.1