7c48f71b6f
Currently we have two issues against mounting filesystems by systemd. 1. If any failure in sysroot.mount, initrd.target won't be reached. 2. If any failure in mounting /etc/fstab, initrd.target won't be reached Our kdump.sh is in dracut-pre-pivot hook which is ordered after initrd.target. That means if systemd doesn't reach initrd.target, pre-pivot service will not run. Based on above, we can conclude that in order to run kdump.sh, initrd.target must be reached. To fix issue 1), we can add rootflags=nofail to 2nd kernel cmdline, so that initrd.target will not require sysroot.mount. initrd.target wouldn't care about the failures in sysroot.mount. That means initrd.target can always be reached whether or not sysroot.mount fails. So when initrd.target is reached, kdump.sh can be run. To fix issue 2), we can append "nofail" mount options to every entry in /etc/fstab. It has almost the same affects as to sysroot.mount. initrd.target can be reached whether or not mount /etc/fstab fails. So when initrd.target is reached, kdump.sh can be run. If the mount failures block kdump from working properly (for example, the dump target isn't mounted), the error handling will be done by "default" action specified in /etc/kdump.conf. Otherwise kdump will ignore the mount failures and dump as expected. Signed-off-by: WANG Chao <chaowang@redhat.com> Acked-by: Vivek Goyal <vgoyal@redhat.com> Acked-by: Dave Young <dyoung@redhat.com>
38 lines
1.4 KiB
Plaintext
38 lines
1.4 KiB
Plaintext
# Kernel Version string for the -kdump kernel, such as 2.6.13-1544.FC5kdump
|
|
# If no version is specified, then the init script will try to find a
|
|
# kdump kernel with the same version number as the running kernel.
|
|
KDUMP_KERNELVER=""
|
|
|
|
# The kdump commandline is the command line that needs to be passed off to
|
|
# the kdump kernel. This will likely match the contents of the grub kernel
|
|
# line. For example:
|
|
# KDUMP_COMMANDLINE="ro root=LABEL=/"
|
|
# Dracut depends on proper root= options, so please make sure that appropriate
|
|
# root= options are copied from /proc/cmdline. In general it is best to append
|
|
# command line options using "KDUMP_COMMANDLINE_APPEND=".
|
|
# If a command line is not specified, the default will be taken from
|
|
# /proc/cmdline
|
|
KDUMP_COMMANDLINE=""
|
|
|
|
# This variable lets us append arguments to the current kdump commandline
|
|
# As taken from either KDUMP_COMMANDLINE above, or from /proc/cmdline
|
|
KDUMP_COMMANDLINE_APPEND="irqpoll maxcpus=1 noirqdistrib reset_devices cgroup_disable=memory numa=off udev.children-max=2 ehea.use_mcs=0 panic=10 rootflags=nofail"
|
|
|
|
# Any additional kexec arguments required. In most situations, this should
|
|
# be left empty
|
|
#
|
|
# Example:
|
|
# KEXEC_ARGS="--elf32-core-headers"
|
|
KEXEC_ARGS=""
|
|
|
|
#Where to find the boot image
|
|
KDUMP_BOOTDIR="/boot"
|
|
|
|
#What is the image type used for kdump
|
|
KDUMP_IMG="vmlinuz"
|
|
|
|
#What is the images extension. Relocatable kernels don't have one
|
|
KDUMP_IMG_EXT=""
|
|
|
|
#Specify the action after failure
|