summary refs log tree commit diff
path: root/gnu/system/grub.scm
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2017-05-14 17:21:46 +0200
committerMarius Bakke <mbakke@fastmail.com>2017-05-14 17:21:46 +0200
commit61b1df6f2791a2afa291b56708d73a5264ca70eb (patch)
tree314ddb96391b25e83e9a31637be0f1a7f52cc249 /gnu/system/grub.scm
parentbdb8267680f14ee5d3df9d029f23279c1457c211 (diff)
parent4be014128e1c422f37b56f9a6b3420b4e85c4302 (diff)
downloadguix-61b1df6f2791a2afa291b56708d73a5264ca70eb.tar.gz
Merge branch 'master' into staging
Diffstat (limited to 'gnu/system/grub.scm')
-rw-r--r--gnu/system/grub.scm20
1 files changed, 15 insertions, 5 deletions
diff --git a/gnu/system/grub.scm b/gnu/system/grub.scm
index cde4b9e23a..58096429fe 100644
--- a/gnu/system/grub.scm
+++ b/gnu/system/grub.scm
@@ -144,15 +144,15 @@ denoting a file name."
                     (with-imported-modules '((gnu build svg))
                       #~(begin
                           ;; We need these two libraries.
-                          (add-to-load-path (string-append #$guile-rsvg
+                          (add-to-load-path (string-append #+guile-rsvg
                                                            "/share/guile/site/"
                                                            (effective-version)))
-                          (add-to-load-path (string-append #$guile-cairo
+                          (add-to-load-path (string-append #+guile-cairo
                                                            "/share/guile/site/"
                                                            (effective-version)))
 
                           (use-modules (gnu build svg))
-                          (svg->png #$svg #$output
+                          (svg->png #+svg #$output
                                     #:width #$width
                                     #:height #$height)))))
 
@@ -267,6 +267,16 @@ code."
         (#f
          #~(format #f "search --file --set ~a" #$file)))))
 
+(define (boot-parameters->menu-entry conf)
+  "Convert a <boot-parameters> instance to a corresponding <menu-entry>."
+  (menu-entry
+   (label (boot-parameters-label conf))
+   (device (boot-parameters-store-device conf))
+   (device-mount-point (boot-parameters-store-mount-point conf))
+   (linux (boot-parameters-kernel conf))
+   (linux-arguments (boot-parameters-kernel-arguments conf))
+   (initrd (boot-parameters-initrd conf))))
+
 (define* (grub-configuration-file config entries
                                   #:key
                                   (system (%current-system))
@@ -276,7 +286,7 @@ code."
 <file-system> object.  OLD-ENTRIES is taken to be a list of menu entries
 corresponding to old generations of the system."
   (define all-entries
-    (append entries
+    (append (map boot-parameters->menu-entry entries)
             (grub-configuration-menu-entries config)))
 
   (define entry->gexp
@@ -323,7 +333,7 @@ set timeout=~a~%"
             #$@(if (pair? old-entries)
                    #~((format port "
 submenu \"GNU system, old configurations...\" {~%")
-                      #$@(map entry->gexp old-entries)
+                      #$@(map entry->gexp (map boot-parameters->menu-entry old-entries))
                       (format port "}~%"))
                    #~()))))