Can't guix system init with grub-efi-bootloader from system that boots using grub-bootloader

  • Done
  • quality assurance status badge
Details
3 participants
  • pelzflorian (Florian Pelz)
  • Stefan
  • Zacchaeus Scheffer
Owner
unassigned
Submitted by
Zacchaeus Scheffer
Severity
normal
Z
Z
Zacchaeus Scheffer wrote on 15 Sep 2021 00:33
(address . bug-guix@gnu.org)
CAJejy7mYokNM0+aSHFBOFdoL99zwrTB3jXhyghGJJkyhGBdOgQ@mail.gmail.com
Hi Guix!

I'm trying to install guix to a new drive using my main machine which boots
using grub-bootloader (legacy bios). I want to put grub-efi-bootloader
(EFI) on the new drive install (for use on another computer). However, the
install fails when running grub-install. The full output at the end is:

copying to '/mnt/jake'...
populating '/mnt/jake'...
guix system: error:
'/gnu/store/w8v5d1i6xfqlpj78w89jg1x7f8dchh4k-grub-efi-2.06/sbin/grub-install
--boot-directory /mnt/jake/boot --bootloader-id=Guix --efi-directory
/boot/efi' exited with status 1; output follows:


/gnu/store/w8v5d1i6xfqlpj78w89jg1x7f8dchh4k-grub-efi-2.06/sbin/grub-install:
error:
/gnu/store/w8v5d1i6xfqlpj78w89jg1x7f8dchh4k-grub-efi-2.06/lib/grub/i386-pc/modinfo.sh
doesn't exist. Please specify --target or --directory.

I'm not sure if the fact that I'm currently booted in legacy bios mode is
important, but the problem persists after a guix pull && guix
system reconfigure, and I doubt grub-efi is broken for everyone.

Thanks,
zacchae
Attachment: file
Z
Z
Zacchaeus Scheffer wrote on 15 Sep 2021 00:43
Re: bug#50592: Acknowledgement (Can't guix system init with grub-efi-bootloader from system that boots using grub-bootloader)
(address . 50592@debbugs.gnu.org)
CAJejy7nZxySRYwJ3Uw8Ootz8oiSaamQT39qLts036iP+WDVx2g@mail.gmail.com
I should probably give some more details. Here is the bootloader config
I'm using

(bootloader
(bootloader-configuration
(bootloader grub-efi-bootloader)
(targets (list "/boot/efi"))
(keyboard-layout keyboard-layout)))

My mounts look like:
/dev/mapper/jake /mnt/jake # with -o subvol=guix
/dev/mapper/jake /mnt/jake/swap # with -o subvol=swap
/dev/sdb2 /mnt/jake/boot/efi

I've been using the same system config without problem, and just changed
the bootloader config to the above

-zacchaeus

On Tue, Sep 14, 2021 at 6:34 PM GNU bug Tracking System <
help-debbugs@gnu.org> wrote:

Toggle quote (22 lines)
> Thank you for filing a new bug report with debbugs.gnu.org.
>
> This is an automatically generated reply to let you know your message
> has been received.
>
> Your message is being forwarded to the package maintainers and other
> interested parties for their attention; they will reply in due course.
>
> Your message has been sent to the package maintainer(s):
> bug-guix@gnu.org
>
> If you wish to submit further information on this problem, please
> send it to 50592@debbugs.gnu.org.
>
> Please do not send mail to help-debbugs@gnu.org unless you wish
> to report a problem with the Bug-tracking system.
>
> --
> 50592: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=50592
> GNU Bug Tracking System
> Contact help-debbugs@gnu.org with problems
>
Attachment: file
P
P
pelzflorian (Florian Pelz) wrote on 15 Sep 2021 10:25
Re: bug#50592: Can't guix system init with grub-efi-bootloader from system that boots using grub-bootloader
(name . Zacchaeus Scheffer)(address . zaccysc@gmail.com)(address . 50592@debbugs.gnu.org)
20210915082521.7secruly2z7rwwod@pelzflorian.localdomain
Hello Zacchaeus.

On Tue, Sep 14, 2021 at 06:33:17PM -0400, Zacchaeus Scheffer wrote:
Toggle quote (3 lines)
> I want to put grub-efi-bootloader
> (EFI) on the new drive install (for use on another computer).

With ordinary configuration, I believe installing GRUB EFI for use on
another computer is impossible, because grub install for EFI wants to
store boot information on the main board’s NVRAM, not on the disk.
Except when installing on a USB flash drive using the --removable
option, that is.

You could try manually executing the command

On Tue, Sep 14, 2021 at 06:33:17PM -0400, Zacchaeus Scheffer wrote:
Toggle quote (4 lines)
> '/gnu/store/w8v5d1i6xfqlpj78w89jg1x7f8dchh4k-grub-efi-2.06/sbin/grub-install
> --boot-directory /mnt/jake/boot --bootloader-id=Guix --efi-directory
> /boot/efi'

as if you were installing to a USB flash drive, by adding --removable
and otherwise using exactly the same command. It might work, since
you already have installed the system successfully except for the
bootloader.

This is in imitation of what the GRUB manual says:
Toggle quote (4 lines)
> For removable installs you have to use --removable and specify both --boot-directory and --efi-directory:
>
> # grub-install --efi-directory=/mnt/usb --boot-directory=/mnt/usb/boot --removable

I’m not sure enough of what can be done, but I believe this bug is a
WONTFIX. What do others think?

Regards,
Florian
S
S
Stefan wrote on 26 Sep 2021 20:34
Can't guix system init with grub-efi-bootloader from system that boots using grub-bootloader
(address . 50592@debbugs.gnu.org)
70A07E42-50AC-45D2-8570-FD455A2C8CBF@vodafonemail.de
Hi!

The solution for this is already available in the patch series in http://issues.guix.gnu.org/48314. The new grub-efi-netboot-removable-bootloader can be used for this.

Technically there is no big difference between an installation to boot from network or from local storage. For booting from network two symlinks are needed, which can’t be created on an EFI System Partition with its FAT file system. In the later case a small intermediate grub.cfg is created, which allows booting from local storage.


Bye

Stefan
P
P
pelzflorian (Florian Pelz) wrote on 23 Oct 2021 16:05
(address . 50592-done@debbugs.gnu.org)
20211023140540.qhmpxcm76u2e2p7h@pelzflorian.localdomain
The original wish to install to EFI NVRAM without EFI
NVRAM is impossible; workarounds have been described. Closing.

Regards,
Florian
Closed
?