Roman Scherer writes: Hello, I think I figured it out. In commit a9acbf919a7668e26863d2d26d48c5fd41b57fcd the name of the efi-bootloader-chain bootloader was changed to the string "efi-bootloader-chain". I believe this this should be a symbol, like in all other bootloaders. The `(lookup-bootloader-by-name name)` procedure uses this form (eq? name (bootloader-name bootloader)) to find the bootloader by name, but fails. I submitted a patch that changes the name of the efi-bootloader-chain bootloader to be a symbol. With this I can roll-back and switch generations again on my system. The patch is here: https://lists.gnu.org/archive/html/guix-patches/2024-10/msg01009.html I put Stefan on CC, who authored that commit. Could someone please review this patch? Thanks, Roman. > Hi Efraim, > > thanks for helping me! > > This is what I see when I run `which -a guix` as a user, and when run via > sudo. I do reconfigure the system with `sudo guix ...`. I used to as root. Not > sure if that matters. > > [roman@m1 guix]$ which -a guix > /home/roman/.config/guix/current/bin/guix > /run/current-system/profile/bin/guix > /home/roman/.config/guix/current/bin/guix > /run/current-system/profile/bin/guix > > [roman@m1 guix]$ sudo which -a guix > /home/roman/.config/guix/current/bin/guix > /run/current-system/profile/bin/guix > /home/roman/.config/guix/current/bin/guix > /run/current-system/profile/bin/guix > > I have no idea if this is good or bad. :) > > I don't think I have any `guix` package installed in my profiles. I checked > this with: > > guix package -I | grep guix > sudo guix package -I | grep guix > > Both profiles also seem to have a recent version of the `guix` cli. > > [roman@m1 guix]$ guix --version > guix (GNU Guix) 68edde635d7f60fb48b2b664e55118fdc3021a73 > > [roman@m1 guix]$ sudo guix --version > guix (GNU Guix) 68edde635d7f60fb48b2b664e55118fdc3021a73 > > Was your thinking that I may got so far back in time somehow that the `guix` > package I was using did not contain the `efi-bootloader-chain` variable, and > thus `lookup-bootloader-by-name` could not find it? > > Good idea, I haven't even thought of that. :) > > But I think that's not the case here, isn't it? > > Do you have any other ideas? > > Thanks, Roman. > > Efraim Flashner writes: > >> On Fri, Sep 27, 2024 at 08:16:16AM +0200, Roman Scherer wrote: >>> >>> Hello Guix, >>> >>> I'm using a Guix system with the efi-bootloader-chain [1]. The chain >>> loads m1n1 (the Asahi Linux boot loader), u-boot and then grub. >>> >>> A system roll-back used to work fine, but it stopped to work a while >>> ago. I'm not sure when that happened, because I rarley needed to >>> roll-back. But now that I don't have it anymore, I'm a bit nervous. >>> >>> When I do a roll-back, this is what happens: >>> >>> ``` >>> $ sudo guix system roll-back >>> Password: >>> guix system: error: efi-bootloader-chain: no such bootloader >>> ``` >>> >>> It looks like the efi-bootloader-chain can't be found in the >>> %bootloaders variable of the (gnu bootloader) module. But that seems >>> strange, since it is defined in the same file (just a bit later). >>> >>> Any ideas? >>> >>> Thanks, Roman. >>> >>> [1] https://github.com/asahi-guix/channel/blob/main/modules/asahi/guix/bootloader/m1n1.scm >> >> What do you get from `which -a guix`? Make sure you haven't installed >> guix (the package) into a profile and are slowly making your way >> backwards in time each time you reconfigure.