[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#27231: regression?: grub-configuration for grub-efi does not return
From: |
Alex Kost |
Subject: |
bug#27231: regression?: grub-configuration for grub-efi does not return a bootloader-configuration |
Date: |
Sun, 04 Jun 2017 16:38:11 +0300 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) |
pelzflorian (Florian Pelz) (2017-06-04 12:47 +0200) wrote:
> Hello,
>
> My GuixSD configuration (see attachment) for UEFI got broken some
> three weeks ago but I’ve only now caught up with my e-mail and “fixed”
> it.
>
> address@hidden ~# guix system reconfigure /home/florian/keep/guixsd-asus.scm
> Backtrace:
> 9 (apply-smob/1 #<catch-closure 22dba40>)
> In ice-9/boot-9.scm:
> 713:2 8 (call-with-prompt _ _ #<procedure default-prompt-handle…>)
> In ice-9/eval.scm:
> 619:8 7 (_ #(#(#<directory (guile-user) 235e140>)))
> In ice-9/boot-9.scm:
> 2316:4 6 (save-module-excursion _)
> 3823:12 5 (_)
> In guix/ui.scm:
> 1311:8 4 (run-guix-command _ . _)
> In ice-9/boot-9.scm:
> 837:9 3 (catch _ _ #<procedure 7f55cc0669a8 at guix/ui.scm:450…> …)
> 837:9 2 (catch _ _ #<procedure 7f55cc0669c0 at guix/ui.scm:511…> …)
> In guix/scripts/system.scm:
> 1006:8 1 (_)
> 885:27 0 (process-action _ _ _)
>
> guix/scripts/system.scm:885:27: In procedure process-action:
> guix/scripts/system.scm:885:27: In procedure bootloader-configuration-device:
> Wrong type argument: #<<grub-configuration> grub: #<package address@hidden
> gnu/packages/bootloaders.scm:142 314cb40> device: "/dev/sda" menu-entries: ()
> default-entry: 0 timeout: 5 theme: #<<grub-theme> images: (#<<grub-image>
> aspect-ratio: 4/3 file: #<<file-append> base: #<origin #<<git-reference> url:
> "git://git.savannah.gnu.org/guix/guix-artwork.git" commit: "6998d30"
> recursive?: #f> gjomvsacge5nz76kqiyzbpiin32l7nn672voskuo7ahz3za56jga ()
> 3a4d300> suffix: ("/grub/GuixSD-fully-black-4-3.svg")>>) color-normal: ((fg .
> light-gray) (bg . black)) color-highlight: ((fg . yellow) (bg . black))>>
Oops, Guix breaks backward compatibility sometimes :-)
This is a limitation of 'grub-configuration' macro: that backtrace
happened because you have 'grub' field *not* in the first place of your
'grub-configuration'.
> I ‘guix pull’ed before reconfiguring.
>
> I used this:
>
> (bootloader (grub-configuration (device "/dev/sda")
> (grub grub-efi)))
Note that this will work if you put (grub grub-efi) in the first place:
(grub-configuration (grub grub-efi)
(device "/dev/sda"))
> Then ‘guix system reconfigure /home/florian/keep/guixsd-asus.scm’ kept
> failing. Debugging by (load)ing .guix-real in the Guile REPL and using
> breakpoints showed me that this was not a valid
> (bootloader-configuration?).
>
> Replacing the above by
>
> (bootloader (bootloader-configuration (bootloader grub-efi-bootloader)
> (device "/dev/sda")))
>
> fixed it today and I can ‘guix system reconfigure’ again.
You figured it out! I would stick to this variant instead of using
'grub-configuration' wrapper, but that's me :-)
> I don’t know why this broke and if it breaks for others too
> (apparently noone has filed a bug yet), which is why I’m filing a bug
> here.
I was affected as well, but I didn't consider it a bug, just a change in
the API. In the past, I had:
(grub-configuration (grub my-grub)
(device "/dev/sda")
(theme (grub-theme))))
And I replaced it with:
(bootloader-configuration
(bootloader (bootloader
(inherit grub-bootloader)
(name 'fake-grub)
(package my-grub)))
(device "/dev/sda")
(theme (grub-theme)))
--
Alex