file-system: Add efivarfs support.

Tools such as efibootmgr rely on the deprecated /sys/firmware/efi/vars API as
well as on the new /sys/firmware/efi/efivars API. The latter needs to be
mounted.

Reported by Keyhenge here:
https://lists.gnu.org/archive/html/bug-guix/2020-04/msg00274.html

Here is the efivarfs documentation:
https://www.kernel.org/doc/Documentation/filesystems/efivarfs.txt.

* gnu/system/file-systems.scm (%efivars-file-system): New exported variable,
(%base-file-systems): add it.
* gnu/system/install.scm (%efivars-file-system): Add it.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
This commit is contained in:
Mathieu Othacehe 2020-07-31 13:43:36 +02:00
parent 7c27bd115b
commit f94835a917
No known key found for this signature in database
GPG key ID: 8354763531769CA6
2 changed files with 13 additions and 0 deletions

View file

@ -70,6 +70,7 @@ (define-module (gnu system file-systems)
%fuse-control-file-system
%binary-format-file-system
%debug-file-system
%efivars-file-system
%shared-memory-file-system
%pseudo-terminal-file-system
%tty-gid
@ -382,6 +383,16 @@ (define %debug-file-system
(check? #f)
(create-mount-point? #t)))
(define %efivars-file-system
;; Support for EFI variables file system.
(file-system
(device "efivarfs")
(mount-point "/sys/firmware/efi/efivars")
(type "efivarfs")
(mount-may-fail? #t)
(needed-for-boot? #f)
(check? #f)))
(define %tty-gid
;; ID of the 'tty' group. Allocate it statically to make it easy to refer
;; to it from here and from the 'tty' group definitions.
@ -483,6 +494,7 @@ (define %base-file-systems
(list %pseudo-terminal-file-system
%debug-file-system
%shared-memory-file-system
%efivars-file-system
%immutable-store))
;; File systems for Linux containers differ from %base-file-systems in that

View file

@ -497,6 +497,7 @@ (define installation-os
;; elogind's cgroup file systems.
(list %pseudo-terminal-file-system
%shared-memory-file-system
%efivars-file-system
%immutable-store)))
(users (list (user-account