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. > > root@floriannotebook ~# 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 grub-efi@2.02 > 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