summary refs log tree commit diff
path: root/gnu/system
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2024-04-08 00:15:39 +0200
committerLudovic Courtès <ludo@gnu.org>2024-04-08 00:17:57 +0200
commit49f82fca4130ffcfb16aa0cf89750ab56fb99ad7 (patch)
tree43893f83819cf22e75f7476ea22e82c97c278fb4 /gnu/system
parent6062339156ecc42cac59af0d34e22fcc7da3aa4a (diff)
downloadguix-49f82fca4130ffcfb16aa0cf89750ab56fb99ad7.tar.gz
mapped-devices: luks: Specify modules needed at the top-level.
Fixes <https://issues.guix.gnu.org/70266>.

* gnu/system/mapped-devices.scm (luks-device-mapping)[modules]: New
field.
(open-luks-device): Remove non-top-level ‘use-modules’ form.
* gnu/system/linux-initrd.scm (raw-initrd): Remove modules that were
added specifically for ‘luks-device-mapping’.

Change-Id: I4253c3dd5e3cbcee41ec84fd57227abd428d1bd6
Diffstat (limited to 'gnu/system')
-rw-r--r--gnu/system/linux-initrd.scm7
-rw-r--r--gnu/system/mapped-devices.scm11
2 files changed, 4 insertions, 14 deletions
diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm
index 7868ff5723..561cfe2fd0 100644
--- a/gnu/system/linux-initrd.scm
+++ b/gnu/system/linux-initrd.scm
@@ -252,13 +252,6 @@ upon error."
                       (srfi srfi-1)           ;for lvm-device-mapping
                       (srfi srfi-26)
 
-                      ;; FIXME: The following modules are for
-                      ;; LUKS-DEVICE-MAPPING.  We should instead propagate
-                      ;; this info via gexps.
-                      ((gnu build file-systems)
-                       #:select (find-partition-by-luks-uuid))
-                      (rnrs bytevectors))
-
                       ;; Load extra modules needed by the mapped device code.
                       #$@(append-map (compose mapped-device-kind-modules
                                               mapped-device-type)
diff --git a/gnu/system/mapped-devices.scm b/gnu/system/mapped-devices.scm
index 4e135772a9..e56ead9e5e 100644
--- a/gnu/system/mapped-devices.scm
+++ b/gnu/system/mapped-devices.scm
@@ -206,12 +206,6 @@ option of @command{guix system}.\n")
                              (uuid-bytevector source)
                              source))
                (keyfile #$key-file))
-           ;; XXX: 'use-modules' should be at the top level.
-           (use-modules (rnrs bytevectors) ;bytevector?
-                        ((gnu build file-systems)
-                         #:select (find-partition-by-luks-uuid
-                                   system*/tty))
-                        ((guix build utils) #:select (mkdir-p)))
 
            ;; Create '/run/cryptsetup/' if it does not exist, as device locking
            ;; is mandatory for LUKS2.
@@ -287,7 +281,10 @@ option of @command{guix system}.\n")
   (mapped-device-kind
    (open open-luks-device)
    (close close-luks-device)
-   (check check-luks-device)))
+   (check check-luks-device)
+   (modules '((rnrs bytevectors)                  ;bytevector?
+              ((gnu build file-systems)
+               #:select (find-partition-by-luks-uuid system*/tty))))))
 
 (define* (luks-device-mapping-with-options #:key key-file)
   "Return a luks-device-mapping object with open modified to pass the arguments