On Sat, Sep 10, 2016 at 12:03:38AM +0200, Ludovic Courtès wrote:
Good news!
Good news indeed!
l...@gnu.org (Ludovic Courtès) skribis:Tomáš Čech <sleep_wal...@suse.cz> skribis:Grub configuration interpretes `linux' as directory where is located bzImage. If I enter file name instead, result configuration will be wrong.The solution will be to not automatically append “/bzImage” (and likewise for the initrd.) We could change places where ‘menu-entry’ is instantiated to: #~(string-append #$kernel "/bzImage") However, there’s the problem that the image name appears in the ‘parameters’ file of the system (as seen in the output of ‘guix system build foo.scm’), where it is unevaluated. If we use ‘string-append’ as above, a raw (string-append …) sexp will appear in there, which is not nice. To address this, an idea is to add “expanders” for gexps: gexps already have “compilers”, and expanders would be similar except that they would produce something possibly different from just the derivation’s output file name. For instance, we could write: (file-append kernel "/bzImage") and that would expand directly to: "/gnu/store/…/bzImage"AFAICS this is finally fixed! expanders in commit ebdfd776f4504c456d383ee8afa59fc6fdfc6756 ‘file-append’ in commit a9e5e92f940381e3a4ee828c6d8ff22a73067e17 kernel file name in commit 44d5f54e31039d78f156bd9562dca293124eaa76 Please let me know how it goes! In particular, does it work for the dual-boot scenario you were interested in?
It is almost perfect. Configuration excerpt... (bootloader (grub-configuration (device "/dev/sda") (menu-entries (list (menu-entry (label "openSUSE") (linux "(hd0,msdos1)/vmlinuz") (linux-arguments (list "root=/dev/venom/opensuse" "init=/usr/lib/systemd/systemd")) (initrd "(hd0,msdos1)/initrd")))))) ...transforms into menuentry "openSUSE" { search --file --set (hd0,msdos1)/vmlinuz linux (hd0,msdos1)/vmlinuz root=/dev/venom/opensuse init=/usr/lib/systemd/systemd initrd (hd0,msdos1)/initrd } I think that if linux contains prefix '(.*)/', there should be no search for kernel. Thank you very much for fixing this bug (especially when I wasn't able). I believe that fixing this bug is big step in more friendly behavior to other OS. Best regards, S_W
signature.asc
Description: Digital signature