This patch main goal is to "un-Debianize" the configuration file for kdump-steamos - thanks Emil (@xexaxo) for the discussions; it is with a bit of a heavy heart I do that, but let's comply with the modern distros ;-) We hereby put the config file in a more standard path: /usr/share. Usually users could override that with /etc/ file, but not in this case, or at least, not for now. Kdump/pstore is expected to work quietly, with no users' interference. Advanced users might want to play with the configs though; and those can just go ahead and edit the /usr/share/kdump/kdump.conf - it's all documented in the README. In the future we can improve that by having the override mechanism with the /etc file, let's see if we have a demand for that. Signed-off-by: Guilherme G. Piccoli <gpiccoli@igalia.com>
51 lines
1.3 KiB
Bash
51 lines
1.3 KiB
Bash
#!/bin/sh
|
|
#
|
|
# SPDX-License-Identifier: LGPL-2.1+
|
|
#
|
|
# Copyright (c) 2021 Valve.
|
|
#
|
|
# Kdump script that should effectively collect the core dump/dmesg from
|
|
# within a Dracut-generated initramfs on SteamOS kdump.
|
|
# The most fail-prone operations are guarded with conditionals to bail
|
|
# in case we indeed fail - worst thing here would be to have a bad condition
|
|
# and get stuck in this minimal initramfs with no output for the user.
|
|
#
|
|
|
|
. /usr/lib/kdump/kdump.conf
|
|
|
|
VMCORE="/proc/vmcore"
|
|
KDUMP_TIMESTAMP=$(date -u +"%Y%m%d%H%M")
|
|
KDUMP_FOLDER="/kdump_path/${KDUMP_FOLDER}/crash/${KDUMP_TIMESTAMP}"
|
|
|
|
# Bail out in case we don't have a vmcore, i.e. either we're not kdumping
|
|
# or something is pretty wrong and we wouldn't be able to progress.
|
|
#
|
|
if [ ! -f $VMCORE ]; then
|
|
reboot -f
|
|
fi
|
|
|
|
DEVN="$(cat /usr/lib/kdump/kdump.devnode)"
|
|
mkdir -p "/kdump_path"
|
|
|
|
if ! mount "${DEVN}" /kdump_path; then
|
|
reboot -f
|
|
fi
|
|
|
|
mkdir -p "${KDUMP_FOLDER}"
|
|
|
|
# we want to split on spaces, it's a set of parameters!
|
|
# shellcheck disable=SC2086
|
|
/usr/bin/makedumpfile ${MAKEDUMPFILE_DMESG_CMD} $VMCORE "${KDUMP_FOLDER}/dmesg.txt"
|
|
sync "${KDUMP_FOLDER}/dmesg.txt"
|
|
|
|
if [ "${FULL_COREDUMP}" -ne 0 ]; then
|
|
# shellcheck disable=SC2086
|
|
/usr/bin/makedumpfile ${MAKEDUMPFILE_COREDUMP_CMD} $VMCORE "${KDUMP_FOLDER}/vmcore.compressed"
|
|
sync "${KDUMP_FOLDER}/vmcore.compressed"
|
|
fi
|
|
|
|
umount "${DEVN}"
|
|
sync
|
|
|
|
reboot -f
|