system: Adjust 'grub.cfg' to work on systems with a separate /boot.

Fixes <http://bugs.gnu.org/19220>.
Reported by Nikita Karetnikov <nikita@karetnikov.org>.

* gnu/system/grub.scm (grub-configuration-file)[entry->gexp]: Add
  'search --file --set'.
  (grub-configuration-file)[builder]: Remove 'search.file'.
This commit is contained in:
Ludovic Courtès 2014-12-13 21:28:12 +01:00
parent 5c5e7bdafd
commit 6c777cf88c

View file

@ -209,11 +209,14 @@ (define entry->gexp
(match-lambda
(($ <menu-entry> label linux arguments initrd)
#~(format port "menuentry ~s {
# Set 'root' to the partition that contains the kernel.
search --file --set ~a/bzImage~%
linux ~a/bzImage ~a
initrd ~a
}~%"
#$label
#$linux (string-join (list #$@arguments))
#$linux #$linux (string-join (list #$@arguments))
#$initrd))))
(mlet %store-monad ((sugar (eye-candy config #~port)))
@ -223,14 +226,9 @@ (define builder
#$sugar
(format port "
set default=~a
set timeout=~a
search.file ~a/bzImage~%"
set timeout=~a~%"
#$(grub-configuration-default-entry config)
#$(grub-configuration-timeout config)
#$(any (match-lambda
(($ <menu-entry> _ linux)
linux))
all-entries))
#$(grub-configuration-timeout config))
#$@(map entry->gexp all-entries)
#$@(if (pair? old-entries)