summary refs log tree commit diff
path: root/gnu/system/grub.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-12-13 21:28:12 +0100
committerLudovic Courtès <ludo@gnu.org>2014-12-13 22:13:57 +0100
commit6c777cf88c84c164e825f6e875bb4d2812892ed9 (patch)
treefa2d21c073b4955273ca289e3c474c96173030ed /gnu/system/grub.scm
parent5c5e7bdafd38e2bed2c4e0b0f64fefb16855aded (diff)
downloadguix-6c777cf88c84c164e825f6e875bb4d2812892ed9.tar.gz
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'.
Diffstat (limited to 'gnu/system/grub.scm')
-rw-r--r--gnu/system/grub.scm14
1 files changed, 6 insertions, 8 deletions
diff --git a/gnu/system/grub.scm b/gnu/system/grub.scm
index 00e09f9736..76fde20896 100644
--- a/gnu/system/grub.scm
+++ b/gnu/system/grub.scm
@@ -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)