GNU bug report logs - #75808
[PATCH] [PATCH] gnu: system: Disable EFI pstore backend by default

Previous Next

Package: guix-patches;

Reported by: Roman Riabenko <roman <at> riabenko.com>

Date: Fri, 24 Jan 2025 16:10:01 UTC

Severity: normal

Tags: patch

Done: Leo Famulari <leo <at> famulari.name>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Roman Riabenko <roman <at> riabenko.com>
Subject: bug#75808: closed (Re: [PATCH] gnu: system: Disable EFI pstore
 backend by default)
Date: Mon, 03 Feb 2025 21:26:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#75808: [PATCH] [PATCH] gnu: system: Disable EFI pstore backend by default

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 75808 <at> debbugs.gnu.org.

-- 
75808: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=75808
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Leo Famulari <leo <at> famulari.name>
To: 75808-done <at> debbugs.gnu.org
Subject: Re: [PATCH] gnu: system: Disable EFI pstore backend by default
Date: Mon, 3 Feb 2025 16:25:09 -0500
I pushed this fix as commit 616ae36e0f557cecb4abe58c5b0973b9428d25e0.

I decided to effect the change using the Guile
'default-extra-linux-options' interface to the build-time kernel
configuration.

Thanks to everyone involved for helping debug and suggest fixes.

[Message part 3 (message/rfc822, inline)]
From: Roman Riabenko <roman <at> riabenko.com>
To: guix-patches <at> gnu.org
Cc: Roman Riabenko <roman <at> riabenko.com>
Subject: [PATCH] [PATCH] gnu: system: Disable EFI pstore backend by default
Date: Fri, 24 Jan 2025 18:01:54 +0200
* gnu/system.scm (%default-kernel-arguments): Add efi_pstore.pstore_disable=1.

Change-Id: Id0294fa90ccbf3bacbb55a22aeb4f0a863efe22c
---

This patch 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 removing the option from 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>.

Disclosure: I have ran into this issue recently. I am a guix user who researched
the topic but not a developer.

To be sure, I reconfigured the system with this patch and it worked as expected
by adding the kernel argument.

 gnu/system.scm | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/gnu/system.scm b/gnu/system.scm
index 8df871f255..5785cfdd9a 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -761,6 +761,9 @@ (define %default-kernel-arguments
   ;; Default arguments passed to the kernel.
   (list (string-append "modprobe.blacklist="
                        (string-join %default-modprobe-blacklist ","))
+        ;; Avoiding susceptible UEFIs failures from efivars used for pstore, see
+        ;; <https://lists.gnu.org/archive/html/help-guix/2025-01/msg00173.html>.
+        "efi_pstore.pstore_disable=1"
         "quiet"))
 
 (define* (operating-system-directory-base-entries os)

base-commit: 13367c6c47f5a4962dde6fab480ea14cd0ac536c
-- 
2.47.1




This bug report was last modified 157 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.