Subject: regression?: grub-configuration for grub-efi does not return a bootloader-configuration

From: "pelzflorian (Florian Pelz)" <[email-masked]>
Date: Sun, 4 Jun 2017 12:47:02 +0200

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 [email-masked] 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))>>

I ‘guix pull’ed before reconfiguring.

I used this:

  (bootloader (grub-configuration (device "/dev/sda")
                                  (grub grub-efi)))

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.

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. Using a syntax rule for grub-configuration seems complicated to
me anyway, but I’m still a Guile newbie.

Regards,
Florian