import CS kexec-tools-2.0.29-5.el9
This commit is contained in:
parent
4895d8186b
commit
9676235850
4
.gitignore
vendored
4
.gitignore
vendored
@ -1,3 +1,3 @@
|
|||||||
SOURCES/eppic-e8844d3.tar.gz
|
SOURCES/eppic-e8844d3.tar.gz
|
||||||
SOURCES/kexec-tools-2.0.27.tar.xz
|
SOURCES/kexec-tools-2.0.29.tar.xz
|
||||||
SOURCES/makedumpfile-1.7.4.tar.gz
|
SOURCES/makedumpfile-1.7.6.tar.gz
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
80ac3f5e77d3c79883edadf14428734db4720009 SOURCES/eppic-e8844d3.tar.gz
|
80ac3f5e77d3c79883edadf14428734db4720009 SOURCES/eppic-e8844d3.tar.gz
|
||||||
ed15f191adee22ab0721ba62af1cae67eb981670 SOURCES/kexec-tools-2.0.27.tar.xz
|
b05e53b8f63ca039a06b0f8cb8a175b0f447449e SOURCES/kexec-tools-2.0.29.tar.xz
|
||||||
98cae2b1062871905795918c32b6d46ccd115074 SOURCES/makedumpfile-1.7.4.tar.gz
|
0182de2145780593639b4e0b4a573af0595b8988 SOURCES/makedumpfile-1.7.6.tar.gz
|
||||||
|
4
SOURCES/99-kdump.conf
Normal file
4
SOURCES/99-kdump.conf
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
dracutmodules=''
|
||||||
|
add_dracutmodules=' kdumpbase '
|
||||||
|
omit_dracutmodules=' plymouth resume ifcfg earlykdump '
|
||||||
|
omit_drivers+=' nouveau amdgpu '
|
@ -15,6 +15,8 @@ fi
|
|||||||
|
|
||||||
KDUMP_PATH="/var/crash"
|
KDUMP_PATH="/var/crash"
|
||||||
KDUMP_LOG_FILE="/run/initramfs/kexec-dmesg.log"
|
KDUMP_LOG_FILE="/run/initramfs/kexec-dmesg.log"
|
||||||
|
KDUMP_TEST_ID=""
|
||||||
|
KDUMP_TEST_STATUS=""
|
||||||
CORE_COLLECTOR=""
|
CORE_COLLECTOR=""
|
||||||
DEFAULT_CORE_COLLECTOR="makedumpfile -l --message-level 7 -d 31"
|
DEFAULT_CORE_COLLECTOR="makedumpfile -l --message-level 7 -d 31"
|
||||||
DMESG_COLLECTOR="/sbin/vmcore-dmesg"
|
DMESG_COLLECTOR="/sbin/vmcore-dmesg"
|
||||||
@ -141,7 +143,12 @@ dump_fs()
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
if [ -z "$KDUMP_TEST_ID" ]; then
|
||||||
_dump_fs_path=$(echo "$1/$KDUMP_PATH/$HOST_IP-$DATEDIR/" | tr -s /)
|
_dump_fs_path=$(echo "$1/$KDUMP_PATH/$HOST_IP-$DATEDIR/" | tr -s /)
|
||||||
|
else
|
||||||
|
_dump_fs_path=$(echo "$1/$KDUMP_PATH/" | tr -s /)
|
||||||
|
fi
|
||||||
|
|
||||||
dinfo "saving to $_dump_fs_path"
|
dinfo "saving to $_dump_fs_path"
|
||||||
|
|
||||||
# Only remount to read-write mode if the dump target is mounted read-only.
|
# Only remount to read-write mode if the dump target is mounted read-only.
|
||||||
@ -388,7 +395,12 @@ dump_ssh()
|
|||||||
{
|
{
|
||||||
_ret=0
|
_ret=0
|
||||||
_ssh_opt="-i $1 -o BatchMode=yes -o StrictHostKeyChecking=yes"
|
_ssh_opt="-i $1 -o BatchMode=yes -o StrictHostKeyChecking=yes"
|
||||||
|
if [ -z "$KDUMP_TEST_ID" ]; then
|
||||||
_ssh_dir="$KDUMP_PATH/$HOST_IP-$DATEDIR"
|
_ssh_dir="$KDUMP_PATH/$HOST_IP-$DATEDIR"
|
||||||
|
else
|
||||||
|
_ssh_dir="$KDUMP_PATH"
|
||||||
|
fi
|
||||||
|
|
||||||
if is_ipv6_address "$2"; then
|
if is_ipv6_address "$2"; then
|
||||||
_scp_address=${2%@*}@"[${2#*@}]"
|
_scp_address=${2%@*}@"[${2#*@}]"
|
||||||
else
|
else
|
||||||
@ -572,6 +584,48 @@ fence_kdump_notify()
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
kdump_test_set_status() {
|
||||||
|
_status="$1"
|
||||||
|
|
||||||
|
[ -n "$KDUMP_TEST_STATUS" ] || return
|
||||||
|
|
||||||
|
case "$_status" in
|
||||||
|
success|fail) ;;
|
||||||
|
*)
|
||||||
|
derror "Unknown test status $_status"
|
||||||
|
return 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if is_ssh_dump_target; then
|
||||||
|
_ssh_opts="-i $SSH_KEY_LOCATION -o BatchMode=yes -o StrictHostKeyChecking=yes"
|
||||||
|
_ssh_host=$(echo "$DUMP_INSTRUCTION" | awk '{print $3}')
|
||||||
|
|
||||||
|
ssh -q $_ssh_opts "$_ssh_host" "mkdir -p ${KDUMP_TEST_STATUS%/*}" \
|
||||||
|
|| return 1
|
||||||
|
ssh -q $_ssh_opts "$_ssh_host" "echo $_status kdump_test_id=$KDUMP_TEST_ID > $KDUMP_TEST_STATUS" \
|
||||||
|
|| return 1
|
||||||
|
else
|
||||||
|
_target=$(echo "$DUMP_INSTRUCTION" | awk '{print $2}')
|
||||||
|
|
||||||
|
mkdir -p "$_target/$KDUMP_PATH" || return 1
|
||||||
|
echo "$_status kdump_test_id=$KDUMP_TEST_ID" > "$_target/$KDUMP_TEST_STATUS"
|
||||||
|
sync -f "$_target/$KDUMP_TEST_STATUS"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
kdump_test_init() {
|
||||||
|
is_raw_dump_target && return
|
||||||
|
|
||||||
|
KDUMP_TEST_ID=$(getarg kdump_test_id=)
|
||||||
|
[ -z "$KDUMP_TEST_ID" ] && return
|
||||||
|
|
||||||
|
KDUMP_PATH="$KDUMP_PATH/kdump-test-$KDUMP_TEST_ID"
|
||||||
|
KDUMP_TEST_STATUS="$KDUMP_PATH/vmcore-creation.status"
|
||||||
|
|
||||||
|
kdump_test_set_status 'fail'
|
||||||
|
}
|
||||||
|
|
||||||
if [ "$1" = "--error-handler" ]; then
|
if [ "$1" = "--error-handler" ]; then
|
||||||
get_kdump_confs
|
get_kdump_confs
|
||||||
do_failure_action
|
do_failure_action
|
||||||
@ -597,6 +651,7 @@ if [ -z "$DUMP_INSTRUCTION" ]; then
|
|||||||
DUMP_INSTRUCTION="dump_fs $NEWROOT"
|
DUMP_INSTRUCTION="dump_fs $NEWROOT"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
kdump_test_init
|
||||||
if ! do_kdump_pre; then
|
if ! do_kdump_pre; then
|
||||||
derror "kdump_pre script exited with non-zero status!"
|
derror "kdump_pre script exited with non-zero status!"
|
||||||
do_final_action
|
do_final_action
|
||||||
@ -615,4 +670,5 @@ if [ $DUMP_RETVAL -ne 0 ]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
kdump_test_set_status "success"
|
||||||
do_final_action
|
do_final_action
|
||||||
|
@ -319,7 +319,27 @@ Advanced Setups & Failure action:
|
|||||||
Kdump and fadump exhibit similar behavior in terms of setup & failure action.
|
Kdump and fadump exhibit similar behavior in terms of setup & failure action.
|
||||||
For fadump advanced setup related information see section "Advanced Setups" in
|
For fadump advanced setup related information see section "Advanced Setups" in
|
||||||
"kexec-kdump-howto.txt" document. Refer to "Failure action" section in "kexec-
|
"kexec-kdump-howto.txt" document. Refer to "Failure action" section in "kexec-
|
||||||
kdump-howto.txt" document for fadump failure action related information.
|
kdump-howto.txt" document for fadump failure action related information. Note
|
||||||
|
that the below options from /etc/sysconfig/kdump have no relevance to fadump
|
||||||
|
owing to the way it operates:
|
||||||
|
|
||||||
|
-KDUMP_BOOTDIR
|
||||||
|
-KDUMP_IMG
|
||||||
|
-KDUMP_IMG_EXT
|
||||||
|
-KEXEC_ARGS
|
||||||
|
-KDUMP_KERNELVER
|
||||||
|
-KDUMP_COMMANDLINE
|
||||||
|
-KDUMP_COMMANDLINE_REMOVE
|
||||||
|
-KDUMP_COMMANDLINE_APPEND
|
||||||
|
|
||||||
|
Passing additional parameters to fadump capture kerenl
|
||||||
|
|
||||||
|
-FADUMP_COMMANDLINE_APPEND
|
||||||
|
|
||||||
|
If a powerpc system supports passing additional parameters, it would have the
|
||||||
|
sysfs node '/sys/kernel/fadump/bootargs_append'. FADUMP_COMMANDLINE_APPEND
|
||||||
|
allows us to append arguments to fadump capture kernel, further to parameters
|
||||||
|
passed via the bootloader.
|
||||||
|
|
||||||
Compression and filtering
|
Compression and filtering
|
||||||
|
|
||||||
@ -331,11 +351,7 @@ Notes on rootfs mount:
|
|||||||
Dracut is designed to mount rootfs by default. If rootfs mounting fails it
|
Dracut is designed to mount rootfs by default. If rootfs mounting fails it
|
||||||
will refuse to go on. So fadump leaves rootfs mounting to dracut currently.
|
will refuse to go on. So fadump leaves rootfs mounting to dracut currently.
|
||||||
We make the assumtion that proper root= cmdline is being passed to dracut
|
We make the assumtion that proper root= cmdline is being passed to dracut
|
||||||
initramfs for the time being. If you need modify "KDUMP_COMMANDLINE=" in
|
initramfs for the time being.
|
||||||
/etc/sysconfig/kdump, you will need to 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=" instead of replacing
|
|
||||||
the original command line completely.
|
|
||||||
|
|
||||||
How to disable FADump:
|
How to disable FADump:
|
||||||
|
|
||||||
|
@ -101,15 +101,14 @@ get_fs_type_from_target()
|
|||||||
|
|
||||||
get_mntpoint_from_target()
|
get_mntpoint_from_target()
|
||||||
{
|
{
|
||||||
local SOURCE TARGET
|
local _mntpoint
|
||||||
findmnt -k --pairs -o SOURCE,TARGET "$1" | while read line; do
|
# get the first TARGET when SOURCE doesn't end with ].
|
||||||
eval "$line"
|
# In most cases, a SOURCE ends with ] when fsroot or subvol exists.
|
||||||
# omit sources that are bind mounts i.e. they contain a [/path/to/subpath].
|
_mntpoint=$(get_mount_info TARGET,SOURCE source "$1" | grep -v "\]$" | awk 'NR==1 { print $1 }')
|
||||||
if [[ ! "$SOURCE" =~ \[ ]]; then
|
|
||||||
echo $TARGET
|
# fallback to the old way when _mntpoint is empty.
|
||||||
break
|
[[ -n "$_mntpoint" ]] || _mntpoint=$(get_mount_info TARGET source "$1" -f )
|
||||||
fi
|
echo $_mntpoint
|
||||||
done
|
|
||||||
}
|
}
|
||||||
|
|
||||||
is_ssh_dump_target()
|
is_ssh_dump_target()
|
||||||
@ -156,9 +155,14 @@ is_nfs_dump_target()
|
|||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fs_dump_target()
|
||||||
|
{
|
||||||
|
kdump_get_conf_val "ext[234]\|xfs\|btrfs\|minix\|virtiofs"
|
||||||
|
}
|
||||||
|
|
||||||
is_fs_dump_target()
|
is_fs_dump_target()
|
||||||
{
|
{
|
||||||
[ -n "$(kdump_get_conf_val "ext[234]\|xfs\|btrfs\|minix\|virtiofs")" ]
|
[ -n "$(fs_dump_target)" ]
|
||||||
}
|
}
|
||||||
|
|
||||||
is_lvm2_thinp_device()
|
is_lvm2_thinp_device()
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
|
|
||||||
FADUMP_ENABLED_SYS_NODE="/sys/kernel/fadump/enabled"
|
FADUMP_ENABLED_SYS_NODE="/sys/kernel/fadump/enabled"
|
||||||
FADUMP_REGISTER_SYS_NODE="/sys/kernel/fadump/registered"
|
FADUMP_REGISTER_SYS_NODE="/sys/kernel/fadump/registered"
|
||||||
|
FADUMP_APPEND_ARGS_SYS_NODE="/sys/kernel/fadump/bootargs_append"
|
||||||
|
|
||||||
is_uki()
|
is_uki()
|
||||||
{
|
{
|
||||||
|
@ -2,10 +2,10 @@
|
|||||||
Description=Crash recovery kernel arming
|
Description=Crash recovery kernel arming
|
||||||
After=network.target network-online.target remote-fs.target basic.target
|
After=network.target network-online.target remote-fs.target basic.target
|
||||||
DefaultDependencies=no
|
DefaultDependencies=no
|
||||||
ConditionKernelCommandLine=crashkernel
|
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Type=oneshot
|
Type=oneshot
|
||||||
|
ExecCondition=/bin/sh -c 'grep -q -e "crashkernel" -e "fadump" /proc/cmdline'
|
||||||
ExecStart=/usr/bin/kdumpctl start
|
ExecStart=/usr/bin/kdumpctl start
|
||||||
ExecStop=/usr/bin/kdumpctl stop
|
ExecStop=/usr/bin/kdumpctl stop
|
||||||
ExecReload=/usr/bin/kdumpctl reload
|
ExecReload=/usr/bin/kdumpctl reload
|
||||||
|
@ -39,6 +39,10 @@ KDUMP_IMG="vmlinuz"
|
|||||||
#What is the images extension. Relocatable kernels don't have one
|
#What is the images extension. Relocatable kernels don't have one
|
||||||
KDUMP_IMG_EXT=""
|
KDUMP_IMG_EXT=""
|
||||||
|
|
||||||
|
# Enable vmcore creation notification by default, disable by setting
|
||||||
|
# VMCORE_CREATION_NOTIFICATION=""
|
||||||
|
VMCORE_CREATION_NOTIFICATION="yes"
|
||||||
|
|
||||||
# Logging is controlled by following variables in the first kernel:
|
# Logging is controlled by following variables in the first kernel:
|
||||||
# - @var KDUMP_STDLOGLVL - logging level to standard error (console output)
|
# - @var KDUMP_STDLOGLVL - logging level to standard error (console output)
|
||||||
# - @var KDUMP_SYSLOGLVL - logging level to syslog (by logger command)
|
# - @var KDUMP_SYSLOGLVL - logging level to syslog (by logger command)
|
||||||
|
@ -39,6 +39,10 @@ KDUMP_IMG="vmlinuz"
|
|||||||
#What is the images extension. Relocatable kernels don't have one
|
#What is the images extension. Relocatable kernels don't have one
|
||||||
KDUMP_IMG_EXT=""
|
KDUMP_IMG_EXT=""
|
||||||
|
|
||||||
|
# Enable vmcore creation notification by default, disable by setting
|
||||||
|
# VMCORE_CREATION_NOTIFICATION=""
|
||||||
|
VMCORE_CREATION_NOTIFICATION="yes"
|
||||||
|
|
||||||
#Specify the action after failure
|
#Specify the action after failure
|
||||||
|
|
||||||
# Logging is controlled by following variables in the first kernel:
|
# Logging is controlled by following variables in the first kernel:
|
||||||
|
@ -23,6 +23,10 @@ KDUMP_COMMANDLINE_REMOVE="hugepages hugepagesz slub_debug quiet log_buf_len swio
|
|||||||
# after processed by KDUMP_COMMANDLINE_REMOVE
|
# after processed by KDUMP_COMMANDLINE_REMOVE
|
||||||
KDUMP_COMMANDLINE_APPEND="irqpoll nr_cpus=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"
|
KDUMP_COMMANDLINE_APPEND="irqpoll nr_cpus=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"
|
||||||
|
|
||||||
|
# This variable lets us append arguments to fadump (powerpc) capture kernel,
|
||||||
|
# further to the parameters passed via the bootloader.
|
||||||
|
FADUMP_COMMANDLINE_APPEND="nr_cpus=16 numa=off cgroup_disable=memory cma=0 kvm_cma_resv_ratio=0 hugetlb_cma=0 transparent_hugepage=never novmcoredd udev.children-max=2"
|
||||||
|
|
||||||
# Any additional kexec arguments required. In most situations, this should
|
# Any additional kexec arguments required. In most situations, this should
|
||||||
# be left empty
|
# be left empty
|
||||||
#
|
#
|
||||||
@ -39,6 +43,10 @@ KDUMP_IMG="vmlinuz"
|
|||||||
#What is the images extension. Relocatable kernels don't have one
|
#What is the images extension. Relocatable kernels don't have one
|
||||||
KDUMP_IMG_EXT=""
|
KDUMP_IMG_EXT=""
|
||||||
|
|
||||||
|
# Enable vmcore creation notification by default, disable by setting
|
||||||
|
# VMCORE_CREATION_NOTIFICATION=""
|
||||||
|
VMCORE_CREATION_NOTIFICATION="yes"
|
||||||
|
|
||||||
#Specify the action after failure
|
#Specify the action after failure
|
||||||
|
|
||||||
# Logging is controlled by following variables in the first kernel:
|
# Logging is controlled by following variables in the first kernel:
|
||||||
|
@ -42,6 +42,10 @@ KDUMP_IMG="vmlinuz"
|
|||||||
#What is the images extension. Relocatable kernels don't have one
|
#What is the images extension. Relocatable kernels don't have one
|
||||||
KDUMP_IMG_EXT=""
|
KDUMP_IMG_EXT=""
|
||||||
|
|
||||||
|
# Enable vmcore creation notification by default, disable by setting
|
||||||
|
# VMCORE_CREATION_NOTIFICATION=""
|
||||||
|
VMCORE_CREATION_NOTIFICATION="yes"
|
||||||
|
|
||||||
# Logging is controlled by following variables in the first kernel:
|
# Logging is controlled by following variables in the first kernel:
|
||||||
# - @var KDUMP_STDLOGLVL - logging level to standard error (console output)
|
# - @var KDUMP_STDLOGLVL - logging level to standard error (console output)
|
||||||
# - @var KDUMP_SYSLOGLVL - logging level to syslog (by logger command)
|
# - @var KDUMP_SYSLOGLVL - logging level to syslog (by logger command)
|
||||||
|
@ -39,6 +39,10 @@ KDUMP_IMG="vmlinuz"
|
|||||||
#What is the images extension. Relocatable kernels don't have one
|
#What is the images extension. Relocatable kernels don't have one
|
||||||
KDUMP_IMG_EXT=""
|
KDUMP_IMG_EXT=""
|
||||||
|
|
||||||
|
# Enable vmcore creation notification by default, disable by setting
|
||||||
|
# VMCORE_CREATION_NOTIFICATION=""
|
||||||
|
VMCORE_CREATION_NOTIFICATION="yes"
|
||||||
|
|
||||||
# Logging is controlled by following variables in the first kernel:
|
# Logging is controlled by following variables in the first kernel:
|
||||||
# - @var KDUMP_STDLOGLVL - logging level to standard error (console output)
|
# - @var KDUMP_STDLOGLVL - logging level to standard error (console output)
|
||||||
# - @var KDUMP_SYSLOGLVL - logging level to syslog (by logger command)
|
# - @var KDUMP_SYSLOGLVL - logging level to syslog (by logger command)
|
||||||
|
207
SOURCES/kdumpctl
207
SOURCES/kdumpctl
@ -18,6 +18,7 @@ KDUMP_INITRD=""
|
|||||||
TARGET_INITRD=""
|
TARGET_INITRD=""
|
||||||
#kdump shall be the default dump mode
|
#kdump shall be the default dump mode
|
||||||
DEFAULT_DUMP_MODE="kdump"
|
DEFAULT_DUMP_MODE="kdump"
|
||||||
|
VMCORE_CREATION_STATUS="/var/lib/kdump/vmcore-creation.status"
|
||||||
image_time=0
|
image_time=0
|
||||||
|
|
||||||
standard_kexec_args="-p"
|
standard_kexec_args="-p"
|
||||||
@ -41,8 +42,10 @@ if ! dlog_init; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
KDUMP_TMPDIR=$(mktemp --tmpdir -d kdump.XXXX)
|
KDUMP_TMPDIR=$(mktemp --tmpdir -d kdump.XXXX)
|
||||||
|
TMPMNT="$KDUMP_TMPDIR/target"
|
||||||
trap '
|
trap '
|
||||||
ret=$?;
|
ret=$?;
|
||||||
|
is_mounted $TMPMNT && umount -f $TMPMNT;
|
||||||
rm -rf "$KDUMP_TMPDIR"
|
rm -rf "$KDUMP_TMPDIR"
|
||||||
exit $ret;
|
exit $ret;
|
||||||
' EXIT
|
' EXIT
|
||||||
@ -142,6 +145,8 @@ rebuild_kdump_initrd()
|
|||||||
|
|
||||||
rebuild_initrd()
|
rebuild_initrd()
|
||||||
{
|
{
|
||||||
|
local _ret
|
||||||
|
|
||||||
if [[ ! -w $(dirname "$TARGET_INITRD") ]]; then
|
if [[ ! -w $(dirname "$TARGET_INITRD") ]]; then
|
||||||
derror "$(dirname "$TARGET_INITRD") does not have write permission. Cannot rebuild $TARGET_INITRD"
|
derror "$(dirname "$TARGET_INITRD") does not have write permission. Cannot rebuild $TARGET_INITRD"
|
||||||
return 1
|
return 1
|
||||||
@ -152,6 +157,11 @@ rebuild_initrd()
|
|||||||
else
|
else
|
||||||
rebuild_kdump_initrd
|
rebuild_kdump_initrd
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
_ret=$?
|
||||||
|
|
||||||
|
set_vmcore_creation_status 'clear'
|
||||||
|
return $_ret
|
||||||
}
|
}
|
||||||
|
|
||||||
#$1: the files to be checked with IFS=' '
|
#$1: the files to be checked with IFS=' '
|
||||||
@ -932,8 +942,24 @@ check_dump_feasibility()
|
|||||||
check_kdump_feasibility
|
check_kdump_feasibility
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fadump_bootargs_append()
|
||||||
|
{
|
||||||
|
if [[ -f "$FADUMP_APPEND_ARGS_SYS_NODE" ]]; then
|
||||||
|
output=$( { echo "${FADUMP_COMMANDLINE_APPEND}" > "$FADUMP_APPEND_ARGS_SYS_NODE" ; } 2>&1)
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
output=$(cat "$FADUMP_APPEND_ARGS_SYS_NODE")
|
||||||
|
dinfo "fadump: additional parameters for capture kernel: '$output'"
|
||||||
|
else
|
||||||
|
dwarn "WARNING: failed to setup additional parameters for fadump capture kernel: '$output'"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
dwarn "WARNING: this kernel does not support passing additional parameters to fadump capture kernel."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
start_fadump()
|
start_fadump()
|
||||||
{
|
{
|
||||||
|
fadump_bootargs_append
|
||||||
echo 1 > "$FADUMP_REGISTER_SYS_NODE"
|
echo 1 > "$FADUMP_REGISTER_SYS_NODE"
|
||||||
if ! is_kernel_loaded "fadump"; then
|
if ! is_kernel_loaded "fadump"; then
|
||||||
derror "fadump: failed to register"
|
derror "fadump: failed to register"
|
||||||
@ -1120,6 +1146,7 @@ stop_kdump()
|
|||||||
|
|
||||||
reload_fadump()
|
reload_fadump()
|
||||||
{
|
{
|
||||||
|
fadump_bootargs_append
|
||||||
if echo 1 > "$FADUMP_REGISTER_SYS_NODE"; then
|
if echo 1 > "$FADUMP_REGISTER_SYS_NODE"; then
|
||||||
dinfo "fadump: re-registered successfully"
|
dinfo "fadump: re-registered successfully"
|
||||||
return 0
|
return 0
|
||||||
@ -1756,6 +1783,179 @@ if [[ ! -f $KDUMP_CONFIG_FILE ]]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
set_kdump_test_id()
|
||||||
|
{
|
||||||
|
local _id=$1
|
||||||
|
|
||||||
|
KDUMP_COMMANDLINE_APPEND+=" $_id "
|
||||||
|
|
||||||
|
if ! reload >& /dev/null; then
|
||||||
|
derror "Set kdump test id fail."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# $1: success/fail/pending/manual/clear
|
||||||
|
# $2: test id
|
||||||
|
set_vmcore_creation_status()
|
||||||
|
{
|
||||||
|
local _status=$1
|
||||||
|
local _kdump_test_id
|
||||||
|
_dir=$(dirname "$VMCORE_CREATION_STATUS")
|
||||||
|
|
||||||
|
[[ -d "$_dir" ]] || mkdir -p "$_dir"
|
||||||
|
[[ -w "$_dir" ]] || chmod +w "$_dir"
|
||||||
|
|
||||||
|
case "$_status" in
|
||||||
|
pending)
|
||||||
|
_kdump_test_id="kdump_test_id=$(date +%s-%N)"
|
||||||
|
set_kdump_test_id "$_kdump_test_id"
|
||||||
|
echo "$_status $_kdump_test_id" > "$VMCORE_CREATION_STATUS"
|
||||||
|
;;
|
||||||
|
success | fail | manual)
|
||||||
|
sed -E -i "s/^\w+/$_status/" "$VMCORE_CREATION_STATUS"
|
||||||
|
;;
|
||||||
|
clear)
|
||||||
|
rm -f "$VMCORE_CREATION_STATUS"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
return
|
||||||
|
esac
|
||||||
|
sync -f "$_dir"
|
||||||
|
}
|
||||||
|
|
||||||
|
fetch_status()
|
||||||
|
{
|
||||||
|
local _test_id="$1" _mnt
|
||||||
|
local _status _target
|
||||||
|
|
||||||
|
is_raw_dump_target && return 2
|
||||||
|
|
||||||
|
_status="$(get_save_path)/kdump-test-$_test_id/vmcore-creation.status"
|
||||||
|
|
||||||
|
if is_nfs_dump_target || is_fs_dump_target; then
|
||||||
|
if is_fs_dump_target; then
|
||||||
|
_target=$(fs_dump_target)
|
||||||
|
else
|
||||||
|
_target=$(kdump_get_conf_val nfs)
|
||||||
|
fi
|
||||||
|
_mnt=$(get_mntpoint_from_target "$_target")
|
||||||
|
if [[ -z "$_mnt" ]] || ! is_mounted "$_mnt"; then
|
||||||
|
mkdir -p "$TMPMNT"
|
||||||
|
mount "$_target" "$TMPMNT" -o defaults || \
|
||||||
|
{ dwarn "Failed to mount $_target" && return 2; }
|
||||||
|
_mnt="$TMPMNT"
|
||||||
|
fi
|
||||||
|
_status="$_mnt/$_status"
|
||||||
|
elif is_ssh_dump_target; then
|
||||||
|
local _scp_address
|
||||||
|
|
||||||
|
if is_ipv6_address "${OPT[_target]}"; then
|
||||||
|
_scp_address="${OPT[_target]%@*}@[${OPT[_target]#*@}]"
|
||||||
|
else
|
||||||
|
_scp_address="${OPT[_target]}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
scp -q -i "${OPT[sshkey]}" -o BatchMode=yes \
|
||||||
|
"$_scp_address:$_status" \
|
||||||
|
"$KDUMP_TMPDIR"
|
||||||
|
case "$?" in
|
||||||
|
0)
|
||||||
|
# success
|
||||||
|
;;
|
||||||
|
1)
|
||||||
|
# file not found
|
||||||
|
return 1
|
||||||
|
;;
|
||||||
|
255)
|
||||||
|
# no connection to host
|
||||||
|
return 2
|
||||||
|
esac
|
||||||
|
_status="$KDUMP_TMPDIR/vmcore-creation.status"
|
||||||
|
fi
|
||||||
|
[[ -f "$_status" ]] || return 1
|
||||||
|
grep -q "success" "$_status" && return 0 || return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
check_vmcore_creation_status()
|
||||||
|
{
|
||||||
|
local _status _test_id _timestamp _status_date
|
||||||
|
|
||||||
|
[[ ${VMCORE_CREATION_NOTIFICATION,,} == "yes" ]] || return
|
||||||
|
|
||||||
|
[[ "$DEFAULT_DUMP_MODE" == "kdump" ]] || return
|
||||||
|
|
||||||
|
if [[ ! -s "$VMCORE_CREATION_STATUS" ]]; then
|
||||||
|
dwarn "Notice: No vmcore creation test performed!"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
read -r _status _test_id < "$VMCORE_CREATION_STATUS"
|
||||||
|
_test_id=${_test_id#*=}
|
||||||
|
_timestamp=${_test_id%-*}
|
||||||
|
_status_date=$(date -d "@$_timestamp")
|
||||||
|
|
||||||
|
if [[ "$_status" == "pending" ]]; then
|
||||||
|
fetch_status "$_test_id"
|
||||||
|
case "$?" in
|
||||||
|
0)
|
||||||
|
_status="success"
|
||||||
|
;;
|
||||||
|
1)
|
||||||
|
_status="fail"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
_status="manual"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
set_vmcore_creation_status "$_status"
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "$_status" in
|
||||||
|
success)
|
||||||
|
dinfo "Notice: Last successful vmcore creation on $_status_date"
|
||||||
|
;;
|
||||||
|
fail)
|
||||||
|
dwarn "Notice: Last NOT successful vmcore creation on $_status_date"
|
||||||
|
;;
|
||||||
|
manual)
|
||||||
|
dwarn "Notice: Require manual check for kdump test of $_status_date"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
derror "Unknown test status: $_status"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
kdump_test()
|
||||||
|
{
|
||||||
|
if ! is_kernel_loaded "$DEFAULT_DUMP_MODE"; then
|
||||||
|
derror "Kdump needs be operational before test."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ! "$DEFAULT_DUMP_MODE" == "kdump" ]]; then
|
||||||
|
derror "Only kdump is supported for test."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ! "$1" == "--force" ]]; then
|
||||||
|
read -r -p "DANGER!!! Will perform a kdump test by crashing the system, proceed? (y/N): " input
|
||||||
|
case $input in
|
||||||
|
[Yy] )
|
||||||
|
dinfo "Start kdump test..."
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
dinfo "Operation cancelled."
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
set_vmcore_creation_status 'pending'
|
||||||
|
echo c > /proc/sysrq-trigger
|
||||||
|
}
|
||||||
|
|
||||||
main()
|
main()
|
||||||
{
|
{
|
||||||
# Determine if the dump mode is kdump or fadump
|
# Determine if the dump mode is kdump or fadump
|
||||||
@ -1786,6 +1986,7 @@ main()
|
|||||||
EXIT_CODE=3
|
EXIT_CODE=3
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
check_vmcore_creation_status
|
||||||
exit $EXIT_CODE
|
exit $EXIT_CODE
|
||||||
;;
|
;;
|
||||||
reload)
|
reload)
|
||||||
@ -1816,6 +2017,10 @@ main()
|
|||||||
shift
|
shift
|
||||||
reset_crashkernel "$@"
|
reset_crashkernel "$@"
|
||||||
;;
|
;;
|
||||||
|
test)
|
||||||
|
shift
|
||||||
|
kdump_test "$@"
|
||||||
|
;;
|
||||||
_reset-crashkernel-after-update)
|
_reset-crashkernel-after-update)
|
||||||
if [[ $(kdump_get_conf_val auto_reset_crashkernel) != no ]]; then
|
if [[ $(kdump_get_conf_val auto_reset_crashkernel) != no ]]; then
|
||||||
reset_crashkernel_after_update
|
reset_crashkernel_after_update
|
||||||
@ -1827,7 +2032,7 @@ main()
|
|||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
dinfo $"Usage: $0 {estimate|start|stop|status|restart|reload|rebuild|reset-crashkernel|propagate|showmem}"
|
dinfo $"Usage: $0 {estimate|start|stop|status|restart|reload|rebuild|reset-crashkernel|propagate|showmem|test}"
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
@ -70,7 +70,16 @@ Note: The memory requirements for kdump varies heavily depending on the
|
|||||||
used hardware and system configuration. Thus the recommended
|
used hardware and system configuration. Thus the recommended
|
||||||
crashkernel might not work for your specific setup. Please test if
|
crashkernel might not work for your specific setup. Please test if
|
||||||
kdump works after resetting the crashkernel value.
|
kdump works after resetting the crashkernel value.
|
||||||
|
.TP
|
||||||
|
.I test [--force]
|
||||||
|
Test the kdump by actually trigger the system crash & dump, and check if a
|
||||||
|
vmcore can really be generated successfully based on current config and
|
||||||
|
environment. After system reboot back to normal, check the test result
|
||||||
|
by "kdumpctl status". Note, fadump is not supported.
|
||||||
|
|
||||||
|
If the optional parameter [--force] is provided, there will be no confirmation
|
||||||
|
before triggering the system crash. Dangerous though, this option is meant
|
||||||
|
for automation testing.
|
||||||
.SH "SEE ALSO"
|
.SH "SEE ALSO"
|
||||||
.BR kdump.conf (5),
|
.BR kdump.conf (5),
|
||||||
.BR mkdumprd (8)
|
.BR mkdumprd (8)
|
||||||
|
@ -1,39 +0,0 @@
|
|||||||
From bd0200c47c45dd420244b39ddabcecdab1fb9a8e Mon Sep 17 00:00:00 2001
|
|
||||||
From: Hari Bathini <hbathini@linux.ibm.com>
|
|
||||||
Date: Wed, 20 Sep 2023 17:29:27 +0530
|
|
||||||
Subject: [PATCH] kexec: update manpage with explicit mention of clean kexec
|
|
||||||
|
|
||||||
While the manpage does mention about kexec boot with a clean shutdown,
|
|
||||||
it is not explicit about it. Make it explicit.
|
|
||||||
|
|
||||||
Signed-off-by: Hari Bathini <hbathini@linux.ibm.com>
|
|
||||||
Signed-off-by: Simon Horman <horms@kernel.org>
|
|
||||||
---
|
|
||||||
kexec/kexec.8 | 11 +++++++++--
|
|
||||||
1 file changed, 9 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/kexec/kexec.8 b/kexec/kexec.8
|
|
||||||
index 3a344c5..179dcf2 100644
|
|
||||||
--- a/kexec/kexec.8
|
|
||||||
+++ b/kexec/kexec.8
|
|
||||||
@@ -95,8 +95,15 @@ then you would use the following command to load the kernel:
|
|
||||||
.RB "\-\-append=" "root=/dev/hda1" "\ \-\-initrd=" /boot/initrd
|
|
||||||
.RE
|
|
||||||
.PP
|
|
||||||
-After this kernel is loaded, it can be booted to at any time using the
|
|
||||||
-command:
|
|
||||||
+After this kernel is loaded, assuming the user-space supports kexec-based
|
|
||||||
+rebooting, it can be booted to, with a clean shutdown, using the command:
|
|
||||||
+
|
|
||||||
+.RS
|
|
||||||
+.BR reboot
|
|
||||||
+.RE
|
|
||||||
+.PP
|
|
||||||
+Alternatively, it can also be booted to, without calling shutdown(8), with
|
|
||||||
+the command:
|
|
||||||
|
|
||||||
.RS
|
|
||||||
.BR kexec \ \-e
|
|
||||||
--
|
|
||||||
2.41.0
|
|
||||||
|
|
@ -1,44 +0,0 @@
|
|||||||
From 9d9cf8de8b2ad8273861a30476a46f34cd34871a Mon Sep 17 00:00:00 2001
|
|
||||||
From: Baoquan He <bhe@redhat.com>
|
|
||||||
Date: Tue, 14 Nov 2023 23:20:30 +0800
|
|
||||||
Subject: [PATCH] kexec_file: add kexec_file flag to support debug printing
|
|
||||||
Content-type: text/plain
|
|
||||||
|
|
||||||
This add KEXEC_FILE_DEBUG to kexec_file_flags so that it can be passed
|
|
||||||
to kernel when '-d' is added with kexec_file_load interface. With that
|
|
||||||
flag enabled, kernel can enable the debugging message printing.
|
|
||||||
|
|
||||||
Signed-off-by: Baoquan He <bhe@redhat.com>
|
|
||||||
Signed-off-by: Simon Horman <horms@kernel.org>
|
|
||||||
---
|
|
||||||
kexec/kexec-syscall.h | 1 +
|
|
||||||
kexec/kexec.c | 1 +
|
|
||||||
2 files changed, 2 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/kexec/kexec-syscall.h b/kexec/kexec-syscall.h
|
|
||||||
index 2559bffb93da..73e52543e1b0 100644
|
|
||||||
--- a/kexec/kexec-syscall.h
|
|
||||||
+++ b/kexec/kexec-syscall.h
|
|
||||||
@@ -119,6 +119,7 @@ static inline long kexec_file_load(int kernel_fd, int initrd_fd,
|
|
||||||
#define KEXEC_FILE_UNLOAD 0x00000001
|
|
||||||
#define KEXEC_FILE_ON_CRASH 0x00000002
|
|
||||||
#define KEXEC_FILE_NO_INITRAMFS 0x00000004
|
|
||||||
+#define KEXEC_FILE_DEBUG 0x00000008
|
|
||||||
|
|
||||||
/* These values match the ELF architecture values.
|
|
||||||
* Unless there is a good reason that should continue to be the case.
|
|
||||||
diff --git a/kexec/kexec.c b/kexec/kexec.c
|
|
||||||
index 9d0ec46e5657..222f79e3112e 100644
|
|
||||||
--- a/kexec/kexec.c
|
|
||||||
+++ b/kexec/kexec.c
|
|
||||||
@@ -1477,6 +1477,7 @@ int main(int argc, char *argv[])
|
|
||||||
return 0;
|
|
||||||
case OPT_DEBUG:
|
|
||||||
kexec_debug = 1;
|
|
||||||
+ kexec_file_flags |= KEXEC_FILE_DEBUG;
|
|
||||||
break;
|
|
||||||
case OPT_NOIFDOWN:
|
|
||||||
skip_ifdown = 1;
|
|
||||||
--
|
|
||||||
2.41.0
|
|
||||||
|
|
@ -27,7 +27,7 @@ SAVE_PATH=$(get_save_path)
|
|||||||
OVERRIDE_RESETTABLE=0
|
OVERRIDE_RESETTABLE=0
|
||||||
|
|
||||||
extra_modules=""
|
extra_modules=""
|
||||||
dracut_args=(--add kdumpbase --quiet --hostonly --hostonly-cmdline --hostonly-i18n --hostonly-mode strict --hostonly-nics '' -o "plymouth resume ifcfg earlykdump")
|
dracut_args=(--quiet --hostonly --hostonly-cmdline --hostonly-i18n --hostonly-mode strict --hostonly-nics '')
|
||||||
|
|
||||||
MKDUMPRD_TMPDIR="$(mktemp -d -t mkdumprd.XXXXXX)"
|
MKDUMPRD_TMPDIR="$(mktemp -d -t mkdumprd.XXXXXX)"
|
||||||
[ -d "$MKDUMPRD_TMPDIR" ] || perror_exit "dracut: mktemp -p -d -t dracut.XXXXXX failed."
|
[ -d "$MKDUMPRD_TMPDIR" ] || perror_exit "dracut: mktemp -p -d -t dracut.XXXXXX failed."
|
||||||
@ -474,6 +474,15 @@ if [[ -d /sys/module/nvme ]]; then
|
|||||||
add_dracut_arg "--add-drivers" "nvme"
|
add_dracut_arg "--add-drivers" "nvme"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Use kdump managed dracut profile.
|
||||||
|
[[ $kdump_dracut_confdir ]] || kdump_dracut_confdir=/lib/kdump/dracut.conf.d
|
||||||
|
if [[ "$(dracut --help)" == *--add-confdir* ]] && [[ -d "$kdump_dracut_confdir" ]]; then
|
||||||
|
dracut_args+=("--add-confdir" "$kdump_dracut_confdir")
|
||||||
|
else
|
||||||
|
dracut_args+=(--add kdumpbase)
|
||||||
|
dracut_args+=(--omit "plymouth resume ifcfg earlykdump")
|
||||||
|
fi
|
||||||
|
|
||||||
dracut "${dracut_args[@]}" "$@"
|
dracut "${dracut_args[@]}" "$@"
|
||||||
|
|
||||||
_rc=$?
|
_rc=$?
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
%global eppic_ver e8844d3793471163ae4a56d8f95897be9e5bd554
|
%global eppic_ver e8844d3793471163ae4a56d8f95897be9e5bd554
|
||||||
%global eppic_shortver %(c=%{eppic_ver}; echo ${c:0:7})
|
%global eppic_shortver %(c=%{eppic_ver}; echo ${c:0:7})
|
||||||
%global mkdf_ver 1.7.4
|
%global mkdf_ver 1.7.6
|
||||||
%global mkdf_shortver %(c=%{mkdf_ver}; echo ${c:0:7})
|
%global mkdf_shortver %(c=%{mkdf_ver}; echo ${c:0:7})
|
||||||
|
|
||||||
Name: kexec-tools
|
Name: kexec-tools
|
||||||
Version: 2.0.27
|
Version: 2.0.29
|
||||||
Release: 15%{?dist}
|
Release: 5%{?dist}
|
||||||
License: GPLv2
|
License: GPLv2
|
||||||
Summary: The kexec/kdump userspace component
|
Summary: The kexec/kdump userspace component
|
||||||
|
|
||||||
@ -46,6 +46,7 @@ Source35: kdump-migrate-action.sh
|
|||||||
Source36: kdump-restart.sh
|
Source36: kdump-restart.sh
|
||||||
Source37: 60-fadump.install
|
Source37: 60-fadump.install
|
||||||
Source38: supported-kdump-targets.txt
|
Source38: supported-kdump-targets.txt
|
||||||
|
Source39: 99-kdump.conf
|
||||||
|
|
||||||
#######################################
|
#######################################
|
||||||
# These are sources for mkdumpramfs
|
# These are sources for mkdumpramfs
|
||||||
@ -113,8 +114,6 @@ Requires: systemd-udev%{?_isa}
|
|||||||
#
|
#
|
||||||
# Patches 601 onward are generic patches
|
# Patches 601 onward are generic patches
|
||||||
#
|
#
|
||||||
Patch601: kexec-update-manpage-with-explicit-mention-of-clean-.patch
|
|
||||||
Patch602: kexec_file-add-kexec_file-flag-to-support-debug-prin.patch
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
kexec-tools provides /sbin/kexec binary that facilitates a new
|
kexec-tools provides /sbin/kexec binary that facilitates a new
|
||||||
@ -130,9 +129,6 @@ mkdir -p -m755 kcp
|
|||||||
tar -z -x -v -f %{SOURCE9}
|
tar -z -x -v -f %{SOURCE9}
|
||||||
tar -z -x -v -f %{SOURCE19}
|
tar -z -x -v -f %{SOURCE19}
|
||||||
|
|
||||||
%patch601 -p1
|
|
||||||
%patch602 -p1
|
|
||||||
|
|
||||||
%ifarch ppc
|
%ifarch ppc
|
||||||
%define archdef ARCH=ppc
|
%define archdef ARCH=ppc
|
||||||
%endif
|
%endif
|
||||||
@ -184,7 +180,7 @@ mkdir -p -m755 $RPM_BUILD_ROOT%{_udevrulesdir}
|
|||||||
mkdir -p $RPM_BUILD_ROOT%{_unitdir}
|
mkdir -p $RPM_BUILD_ROOT%{_unitdir}
|
||||||
mkdir -p -m755 $RPM_BUILD_ROOT%{_bindir}
|
mkdir -p -m755 $RPM_BUILD_ROOT%{_bindir}
|
||||||
mkdir -p -m755 $RPM_BUILD_ROOT%{_libdir}
|
mkdir -p -m755 $RPM_BUILD_ROOT%{_libdir}
|
||||||
mkdir -p -m755 $RPM_BUILD_ROOT%{_prefix}/lib/kdump
|
mkdir -p -m755 $RPM_BUILD_ROOT%{_prefix}/lib/kdump/dracut.conf.d
|
||||||
mkdir -p -m755 $RPM_BUILD_ROOT%{_sharedstatedir}/kdump
|
mkdir -p -m755 $RPM_BUILD_ROOT%{_sharedstatedir}/kdump
|
||||||
install -m 755 %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/kdumpctl
|
install -m 755 %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/kdumpctl
|
||||||
|
|
||||||
@ -206,6 +202,7 @@ install -m 644 %{SOURCE25} $RPM_BUILD_ROOT%{_mandir}/man8/kdumpctl.8
|
|||||||
install -m 755 %{SOURCE20} $RPM_BUILD_ROOT%{_prefix}/lib/kdump/kdump-lib.sh
|
install -m 755 %{SOURCE20} $RPM_BUILD_ROOT%{_prefix}/lib/kdump/kdump-lib.sh
|
||||||
install -m 755 %{SOURCE23} $RPM_BUILD_ROOT%{_prefix}/lib/kdump/kdump-lib-initramfs.sh
|
install -m 755 %{SOURCE23} $RPM_BUILD_ROOT%{_prefix}/lib/kdump/kdump-lib-initramfs.sh
|
||||||
install -m 755 %{SOURCE31} $RPM_BUILD_ROOT%{_prefix}/lib/kdump/kdump-logger.sh
|
install -m 755 %{SOURCE31} $RPM_BUILD_ROOT%{_prefix}/lib/kdump/kdump-logger.sh
|
||||||
|
install -m 644 %{SOURCE39} $RPM_BUILD_ROOT%{_prefix}/lib/kdump/dracut.conf.d/99-kdump.conf
|
||||||
%ifarch ppc64 ppc64le
|
%ifarch ppc64 ppc64le
|
||||||
install -m 755 %{SOURCE32} $RPM_BUILD_ROOT/usr/sbin/mkfadumprd
|
install -m 755 %{SOURCE32} $RPM_BUILD_ROOT/usr/sbin/mkfadumprd
|
||||||
install -m 755 %{SOURCE35} $RPM_BUILD_ROOT%{_prefix}/lib/kdump/kdump-migrate-action.sh
|
install -m 755 %{SOURCE35} $RPM_BUILD_ROOT%{_prefix}/lib/kdump/kdump-migrate-action.sh
|
||||||
@ -410,6 +407,35 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Jan 17 2025 Tao Liu <ltao@redhat.com> - 2.0.29-5
|
||||||
|
- 99-kdump.conf: Omit nouveau and amdgpu module
|
||||||
|
|
||||||
|
* Fri Jan 10 2025 Tao Liu <ltao@redhat.com> - 2.0.29-4
|
||||||
|
- kdump.service: Replace ConditionKernelCommandLine with ExecCondition
|
||||||
|
|
||||||
|
* Fri Dec 13 2024 Tao Liu <ltao@redhat.com> - 2.0.29-3
|
||||||
|
- fadump: fix passing additional parameters for capture kernel
|
||||||
|
- fadump: pass additional parameters for capture kernel
|
||||||
|
|
||||||
|
* Fri Dec 6 2024 Tao Liu <ltao@redhat.com> - 2.0.29-2
|
||||||
|
- Re-introduce vmcore creation notification to kdump
|
||||||
|
- Revert "Introduce vmcore creation notification to kdump"
|
||||||
|
- Add kdump dracut config
|
||||||
|
- kdump-lib-initramfs: Improve mount point retrieval logic
|
||||||
|
|
||||||
|
* Wed Nov 6 2024 Tao Liu <ltao@redhat.com> - 2.0.29-1
|
||||||
|
- Release 2.0.29-1
|
||||||
|
- Rebase makedumpfile to v1.7.6
|
||||||
|
|
||||||
|
* Mon Oct 21 2024 Tao Liu <ltao@redhat.com> - 2.0.27-18
|
||||||
|
- Return the correct exit code of rebuild initrd
|
||||||
|
|
||||||
|
* Tue Oct 8 2024 Tao Liu <ltao@redhat.com> - 2.0.27-17
|
||||||
|
- Introduce vmcore creation notification to kdump
|
||||||
|
|
||||||
|
* Tue Sep 10 2024 Tao Liu <ltao@redhat.com> - 2.0.27-16
|
||||||
|
- Revert "lib: Ensure we don't find bind mounts for device target"
|
||||||
|
|
||||||
* Wed Aug 7 2024 Tao Liu <ltao@redhat.com> - 2.0.27-15
|
* Wed Aug 7 2024 Tao Liu <ltao@redhat.com> - 2.0.27-15
|
||||||
- Support setting up Open vSwitch (Ovs) Bridge network
|
- Support setting up Open vSwitch (Ovs) Bridge network
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user