This is a pretty big refactor in the logic / goals of this kdump implementation. * WHY? We want to decouple completely the log submission mechanism from the kdump tooling, for mainly two reasons: reuse this submission API/mechanism in other log collection tools, and to allow upstreaming the kdump tooling for Arch Linux generically, not embedding SteamOS particulars to it. * HOW: First of all, we dropped the log submission bits from this codebase. We also deleted the particulars of SteamOS/Deck in the log naming, like collecting the serial of the device if "Jupiter" model is found in the DMI info or getting the Steam user account via the VDF file. All of that will happen in a later stage of the log processing, done by *another tool* that shall rename the logs and transmit them to the Valve servers. While at it, we've done other small changes in the logic to make this kdump tool more generic and reliable, like allowing the collection of kdump *AND* pstore logs (not choosing one of them). * CAVEATS / TODO: More to come in this front, we still definitely need to remove more references to SteamOS and clear a bit the code from its particulars. Important also is to update the README to reflect the changes made by the upstreaming effort. Mea culpa: these changes are invasive, switch some logic and expectations around the package, so making them fully bisectable would be way harder than not. Hence, please take that into account: this series should be tested/merged as a whole, it's not guaranteed that individual patches work correctly in a standalone fashion. Signed-off-by: Guilherme G. Piccoli <gpiccoli@igalia.com>
42 lines
1.8 KiB
Bash
42 lines
1.8 KiB
Bash
#!/bin/sh
|
|
#
|
|
# SPDX-License-Identifier: LGPL-2.1+
|
|
#
|
|
# Copyright (c) 2021 Valve
|
|
# Maintainer: Guilherme G. Piccoli <gpiccoli@igalia.com>
|
|
#
|
|
# Configuration settings for SteamOS kdump. After _any_ change in this
|
|
# file, it's required to create the kdump minimal initramfs by running:
|
|
# /usr/lib/kdump/kdump-load.sh initrd
|
|
#
|
|
|
|
# Mount-related options - the DEVNODE points to the /home directory link;
|
|
# this is used to derive the numerical devnode for kdump, since the link
|
|
# is not present so early in the system boot. The KDUMP_FOLDER will be
|
|
# created if doesn't exist. The KDUMP_MNT is just a temporary file that
|
|
# carries the mounted folder path across boot-time scripts.
|
|
|
|
MOUNT_DEVNODE="/dev/disk/by-partsets/shared/home"
|
|
KDUMP_FOLDER="/.steamos/offload/var/kdump"
|
|
KDUMP_MNT="/tmp/kdump.mnt"
|
|
|
|
# Kdump controlling settings - for now we don't have network/iscsi dumps, only
|
|
# local storage dumps. If FULL_COREDUMP is !=0, we collect a full compressed
|
|
# vmcore, which might require a lot of disk space. The *_CMD settings refer
|
|
# to tunings on makedumpfile - we rely on zstd compression and maximum page
|
|
# exclusion for the full vmcore, mimic'ing Debian kdump. Finally, GRUB_AUTOSET
|
|
# determines if kdump-steamos should try to automatically set grub.cfg in
|
|
# order to reserve memory for kdump (if needed, i.e., when pstore is not in
|
|
# use) - keep it as '1' for enabling the mechanism (this is the default).
|
|
|
|
FULL_COREDUMP=0
|
|
MAKEDUMPFILE_COREDUMP_CMD="-z -d 31"
|
|
MAKEDUMPFILE_DMESG_CMD="--dump-dmesg"
|
|
GRUB_AUTOSET=1
|
|
|
|
# Pstore-RAM setting - if enabled, Kdump won't be loaded, instead the Pstore
|
|
# RAM backend will be configured. In order to have success, this operation
|
|
# relies in having an available RAM buffer on /proc/iomem with at least 5MiB
|
|
# in size.
|
|
USE_PSTORE_RAM=1
|