#!/bin/sh # # SPDX-License-Identifier: LGPL-2.1+ # # Copyright (c) 2021 Valve # Maintainer: Guilherme G. Piccoli # # Configuration settings for kdump/pstore. After _any_ change in this # file, it's required to re-create the kdump minimal initramfs by running: # /usr/lib/kdump/kdump-load.sh initrd # # # Pstore-RAM settings # If USE_PSTORE_RAM is set to 1, 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 # PSTORE_MEM_AMOUNT (decimal, in MB) in size. Also, kernel must be able to # allocate a contiguous memory amount of PSTORE_RECORD_SZ (decimal, MB). USE_PSTORE_RAM=1 PSTORE_MEM_AMOUNT=5242880 PSTORE_RECORD_SZ=2097152 # # # Mount-related options # MOUNT_DEVNODE is the desired mount-point unique link in the /dev/disk # directory link; this is used to derive the numerical devnode for kdump, # since the link is not present so early in the system boot. MOUNT_FOLDER # should live in the filesystem of the devnode (and will be created if # doesn't exist); this is the place in which both pstore and kdump logs # will be stored, as well as the kdump initrd and some ancillary data. # Finally, MNT_TMP is just a temporary file that carries the full path # of the mounted folder across boot-time scripts. MOUNT_DEVNODE="/dev/disk/by-partsets/shared/home" MOUNT_FOLDER="/.steamos/offload/var/kdump" MNT_TMP="/tmp/.kdump_load.mnt" # # # Kdump controlling settings # Currently we only do local storage log collection (no network/iscsi dumps). # If FULL_COREDUMP is !=0, we collect a full compressed vmcore, which might # require a lot of disk space. The MAKEDUMPFILE_*_CMD settings refer to # tunings on makedumpfile - we rely on zstd compression and maximum page # exclusion for the full vmcore, mimic'ing Debian kdump FULL_COREDUMP=0 MAKEDUMPFILE_COREDUMP_CMD="-z -d 31" MAKEDUMPFILE_DMESG_CMD="--dump-dmesg" # # # GRUB-related settings # GRUB_AUTOSET determines if the pstore/kdump tooling 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). GRUB_BOOT_FILE is the full path of # grub.cfg file - this is used in the config update step plus for syncing # purposes. GRUB_CFG_FILE is the config file we edit in order to add/remove # the crashkernel parameter. Finally, GRUB_CMDLINE holds the change to be # made in the grub config file, specially the crashkernel memory reservation # (notice that a trailing space is required in this line, so we avoid # messing with other kernel parameters). GRUB_AUTOSET=1 GRUB_BOOT_FILE="/efi/EFI/steamos/grub.cfg" GRUB_CFG_FILE="/etc/default/grub" GRUB_CMDLINE="crashkernel=256M crash_kexec_post_notifiers "