summary refs log tree commit diff
path: root/gnu/system/grub.scm
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2015-08-19 16:30:02 -0400
committerLudovic Courtès <ludo@gnu.org>2015-10-27 21:44:46 +0100
commitc448bf7443dcfbc44f525526a43ac52754a0cd87 (patch)
treee258008662418c05ca3a86d005c0d0bb2f35a3ee /gnu/system/grub.scm
parent08dcff47445b4029f7f4b4a42750b29a2a184131 (diff)
downloadguix-c448bf7443dcfbc44f525526a43ac52754a0cd87.tar.gz
system: grub: On MIPS, the linux image name is vmlinuz, not bzImage.
* gnu/system/grub.scm (grub-configuration-file): Add 'linux-image-name'
  internal procedure.  Use it from 'entry->gexp'.
Diffstat (limited to 'gnu/system/grub.scm')
-rw-r--r--gnu/system/grub.scm12
1 files changed, 9 insertions, 3 deletions
diff --git a/gnu/system/grub.scm b/gnu/system/grub.scm
index e49b6dbe54..7f85adf065 100644
--- a/gnu/system/grub.scm
+++ b/gnu/system/grub.scm
@@ -206,6 +206,11 @@ fi~%"
   "Return the GRUB configuration file corresponding to CONFIG, a
 <grub-configuration> object.  OLD-ENTRIES is taken to be a list of menu
 entries corresponding to old generations of the system."
+  (define linux-image-name
+    (if (string-prefix? "mips" system)
+        "vmlinuz"
+        "bzImage"))
+
   (define all-entries
     (append entries (grub-configuration-menu-entries config)))
 
@@ -214,13 +219,14 @@ entries corresponding to old generations of the system."
      (($ <menu-entry> label linux arguments initrd)
       #~(format port "menuentry ~s {
   # Set 'root' to the partition that contains the kernel.
-  search --file --set ~a/bzImage~%
+  search --file --set ~a/~a~%
 
-  linux ~a/bzImage ~a
+  linux ~a/~a ~a
   initrd ~a
 }~%"
                 #$label
-                #$linux #$linux (string-join (list #$@arguments))
+                #$linux #$linux-image-name
+                #$linux #$linux-image-name (string-join (list #$@arguments))
                 #$initrd))))
 
   (mlet %store-monad ((sugar (eye-candy config #~port)))