diff options
author | Ludovic Courtès <ludo@gnu.org> | 2016-09-09 23:27:00 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2016-09-09 23:54:43 +0200 |
commit | 44d5f54e31039d78f156bd9562dca293124eaa76 (patch) | |
tree | 2650e88b54721a2e50d3bd27019fac41bbdd8c78 /gnu/system | |
parent | a9e5e92f940381e3a4ee828c6d8ff22a73067e17 (diff) | |
download | patches-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')
-rw-r--r-- | gnu/system/grub.scm | 13 |
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))) |