~ruther/guix-local

6c777cf88c84c164e825f6e875bb4d2812892ed9 — Ludovic Courtès 11 years ago 5c5e7bd
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'.
1 files changed, 6 insertions(+), 8 deletions(-)

M gnu/system/grub.scm
M gnu/system/grub.scm => gnu/system/grub.scm +6 -8
@@ 209,11 209,14 @@ entries corresponding to old generations of the system."
    (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 @@ entries corresponding to old generations of the system."
            #$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)