summaryrefslogtreecommitdiff
path: root/gnu/system/grub.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2016-09-09 23:27:00 +0200
committerLudovic Courtès <ludo@gnu.org>2016-09-09 23:54:43 +0200
commit44d5f54e31039d78f156bd9562dca293124eaa76 (patch)
tree2650e88b54721a2e50d3bd27019fac41bbdd8c78 /gnu/system/grub.scm
parenta9e5e92f940381e3a4ee828c6d8ff22a73067e17 (diff)
downloadpatches-44d5f54e31039d78f156bd9562dca293124eaa76.tar
patches-44d5f54e31039d78f156bd9562dca293124eaa76.tar.gz
system: grub: Allow arbitrary kernel file names in 'menu-entry'.
Fixes <http://bugs.gnu.org/20067>. Reported by Tomáš Čech <sleep_walker@suse.cz>. * gnu/system.scm (system-linux-image-file-name) (operating-system-kernel-file): New procedures. (operating-system-grub.cfg): Use 'operating-system-kernel-file' for the 'kernel' field of 'menu-entry'. (operating-system-parameters-file): Likewise for the 'kernel' entry. (read-boot-parameters): Adjust 'kernel' field so that it contains the absolute file name of the image. * gnu/system/grub.scm (grub-configuration-file)[linux-image-name]: Remove. [entry->gexp]: Assume LINUX is the absolute file name of the kernel image. * doc/guix.texi (GRUB Configuration): Add an example, and adjust 'kernel' field documentation accordingly.
Diffstat (limited to 'gnu/system/grub.scm')
-rw-r--r--gnu/system/grub.scm13
1 files changed, 3 insertions, 10 deletions
diff --git a/gnu/system/grub.scm b/gnu/system/grub.scm
index aa93c0f454..4592747083 100644
--- a/gnu/system/grub.scm
+++ b/gnu/system/grub.scm
@@ -243,11 +243,6 @@ code."
<grub-configuration> object, and where the store is available at STORE-FS, a
<file-system> 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)))
@@ -256,14 +251,12 @@ corresponding to old generations of the system."
(($ <menu-entry> label linux arguments initrd)
#~(format port "menuentry ~s {
~a
- linux ~a/~a ~a
+ linux ~a ~a
initrd ~a
}~%"
#$label
- #$(grub-root-search store-fs
- #~(string-append #$linux "/"
- #$linux-image-name))
- #$linux #$linux-image-name (string-join (list #$@arguments))
+ #$(grub-root-search store-fs linux)
+ #$linux (string-join (list #$@arguments))
#$initrd))))
(mlet %store-monad ((sugar (eye-candy config store-fs system #~port)))