Files
kdumpst/kdump.conf
Guilherme G. Piccoli 48fb326733 kdump-load/save-logs: Log submission decoupling / major refactor
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>
2023-03-31 15:34:42 -03:00

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