summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorAndy Wingo <wingo@igalia.com>2017-09-20 15:11:41 +0200
committerAndy Wingo <wingo@igalia.com>2017-09-20 15:40:32 +0200
commit96bc6518002c3b2ad9f15cf36991b20bebcbbe8a (patch)
treeaee86bb4240c7e131d257a4f0f072509db09c38c /gnu
parentc68c201fdd429140da1c606861c9296b9cb01265 (diff)
downloadguix-96bc6518002c3b2ad9f15cf36991b20bebcbbe8a.tar.gz
gnu: system: Fix computation of boot parameters for LUKS devices.
* gnu/system.scm (read-boot-parameters): Fix store-device computation for root
devices of type "device", like the LUKS partition described in the manual.
From a patch from https://debbugs.gnu.org/cgi/bugreport.cgi?bug=28445#23.

Signed-off-by: Andy Wingo <wingo@igalia.com>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/system.scm5
1 files changed, 3 insertions, 2 deletions
diff --git a/gnu/system.scm b/gnu/system.scm
index 88b5346797..b6c087a031 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -278,6 +278,8 @@ directly by the user."
 
       (store-device
        (match (assq 'store rest)
+         (('store ('device #f) _ ...)
+          root-device)
          (('store ('device device) _ ...)
           (device-sexp->device device))
          (_                                       ;the old format
@@ -909,8 +911,7 @@ listed in OS.  The C library expects to find it under
   "Given FS, a <file-system> object, return a value suitable for use as the
 device in a <menu-entry>."
   (case (file-system-title fs)
-    ((uuid) (file-system-device fs))
-    ((label) (file-system-device fs))
+    ((uuid label device) (file-system-device fs))
     (else #f)))
 
 (define (operating-system-boot-parameters os system.drv root-device)