guix/gnu
Leo Famulari b57cdccc7c
gnu: system: Disable EFI pstore backend by default
This commit disables one of the backends for the persistent storage driver
pstore in the Linux kernel, in particular the backend which allows it to save
data to EFI variables storage in UEFI NVRAM, such as error log "dump" files.

This reduces writes to UEFI to reduce the chances of it wearing out or
malfunctioning for other reasons, as well as prevents situations when the efivar
is full and cannot take new variables, which is known to cause "Could not
prepare Boot variable: No space left on device" errors on computers with some
UEFI implementations which are susceptible to such problems, typically on
relatively older machines. The user is confronted by the issue at the later
stages of guix system reconfiguration when the new boot entry is created. It may
be difficult to recover from because the exact cause depends on UEFI. Sometimes
it is enough to remove dumps from efivars. Disabling the EFI pstore backend is
expected to reduce the chances of unaware users running into issues with UEFI
and failing to boot their Guix Systems.

Sophisticated users may still enable the backend by changing the option via the
kernel arguments, either in the system configuration or in GRUB.

The above is my summary of what was previously discussed in guix-help mailing
list: <https://lists.gnu.org/archive/html/help-guix/2025-01/msg00173.html>.

* gnu/packages/linux.scm (default-extra-linux-options): Enable the kernel
build-time configuration option CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE.

Change-Id: Id0294fa90ccbf3bacbb55a22aeb4f0a863efe22c
Signed-off-by: Leo Famulari <leo@famulari.name>
2025-01-28 13:52:48 -05:00
..
bootloader bootloader/grub: Create grub background image with ungrafted inputs. 2025-01-26 09:32:59 +02:00
build linux-container: Ignore EPERM when attempting to mount /sys. 2025-01-27 14:42:41 +01:00
home home: services: shepherd: Add ‘transient’ and ‘timer’ services. 2025-01-26 22:09:27 +01:00
installer
machine
packages gnu: system: Disable EFI pstore backend by default 2025-01-28 13:52:48 -05:00
services services: dico: Add symbols to help users configure FreeDict with dicod. 2025-01-26 22:09:28 +01:00
system
tests
artwork.scm
bootloader.scm
ci.scm
compression.scm
home.scm home: services: Add ‘transient’ and ‘timer’ to ‘%base-home-services’. 2025-01-26 22:09:27 +01:00
image.scm
installer.scm
local.mk gnu: python-optree: Update to 0.14.0. 2025-01-27 14:42:40 +01:00
machine.scm
packages.scm
services.scm
system.scm Revert "gnu: system: Disable EFI pstore backend by default" 2025-01-28 13:52:48 -05:00
tests.scm