GNU bug report logs - #56582
Installer does not detect or allow detection of other bootable partitions

Previous Next

Package: guix;

Reported by: Peter <sunspark <at> gmail.com>

Date: Fri, 15 Jul 2022 20:28:02 UTC

Severity: normal

To reply to this bug, email your comments to 56582 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#56582; Package guix. (Fri, 15 Jul 2022 20:28:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Peter <sunspark <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Fri, 15 Jul 2022 20:28:03 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Peter <sunspark <at> gmail.com>
To: bug-guix <at> gnu.org
Subject: Installer does not detect or allow detection of other bootable
 partitions
Date: Fri, 15 Jul 2022 16:10:46 -0400
[Message part 1 (text/plain, inline)]
Hi,

This is a particularly AWFUL user experience bug. Installing GUIX to a
partition only lists GUIX in the grub boot menu afterward despite the
existence of other bootable OSes on the drive.

Ok fine thinks I, I will just need to manually run grub's mkconfig to force
re-detection. But this command does not exist in GUIX. Installing grub did
not create grub2-mkconfig. Installing osprober wasn't helpful.

I did not see documentation on how to make GUIX detect and add other
operating systems to the boot menu from userland. After much time wasted, I
needed to download another distro, install it so it would repair the boot
menu, and then be able to boot into my main partition.

Recommendation:
Installer needs to detect and add to the menu the other OSes.
Documentation needs to show how to do it manually via a different method if
GUIX does not include grub2-mkconfig otherwise it needs to warn upfront
that this distro should not be used on multi-boot PCs.

Best,
Peter
[Message part 2 (text/html, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#56582; Package guix. (Sat, 16 Jul 2022 05:49:02 GMT) Full text and rfc822 format available.

Message #8 received at 56582 <at> debbugs.gnu.org (full text, mbox):

From: Julien Lepiller <julien <at> lepiller.eu>
To: Peter <sunspark <at> gmail.com>, 56582 <at> debbugs.gnu.org
Subject: Re: bug#56582: Installer does not detect or allow detection of other bootable partitions
Date: Sat, 16 Jul 2022 07:46:18 +0200
[Message part 1 (text/plain, inline)]
Hi Peter,

This is indeed not nice. Guix does not provide a useful package that would reinstall boot configuratipn because boot configuration is managed together with the rest of the system configuration.

You need to update your /etc/config.scm to declare more entries, and reconfigure. Here are the relevant chapters in the manual:

https://guix.gnu.org/manual/devel/en/html_node/Bootloader-Configuration.html (in particular, see menu-entry)

https://guix.gnu.org/manual/devel/en/html_node/Invoking-guix-system.html (see reconfigure)

Of course this is only a workaround I'm proposing, we should fix the installer to detect other OSs.

HTH!

Le 15 juillet 2022 22:10:46 GMT+02:00, Peter <sunspark <at> gmail.com> a écrit :
>Hi,
>
>This is a particularly AWFUL user experience bug. Installing GUIX to a
>partition only lists GUIX in the grub boot menu afterward despite the
>existence of other bootable OSes on the drive.
>
>Ok fine thinks I, I will just need to manually run grub's mkconfig to force
>re-detection. But this command does not exist in GUIX. Installing grub did
>not create grub2-mkconfig. Installing osprober wasn't helpful.
>
>I did not see documentation on how to make GUIX detect and add other
>operating systems to the boot menu from userland. After much time wasted, I
>needed to download another distro, install it so it would repair the boot
>menu, and then be able to boot into my main partition.
>
>Recommendation:
>Installer needs to detect and add to the menu the other OSes.
>Documentation needs to show how to do it manually via a different method if
>GUIX does not include grub2-mkconfig otherwise it needs to warn upfront
>that this distro should not be used on multi-boot PCs.
>
>Best,
>Peter
[Message part 2 (text/html, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#56582; Package guix. (Sat, 16 Jul 2022 10:00:02 GMT) Full text and rfc822 format available.

Message #11 received at 56582 <at> debbugs.gnu.org (full text, mbox):

From: Josselin Poiret <dev <at> jpoiret.xyz>
To: Julien Lepiller <julien <at> lepiller.eu>, Peter <sunspark <at> gmail.com>,
 56582 <at> debbugs.gnu.org
Subject: Re: bug#56582: Installer does not detect or allow detection of
 other bootable partitions
Date: Sat, 16 Jul 2022 11:59:29 +0200
Hello both of you,

Julien Lepiller <julien <at> lepiller.eu> writes:
> Of course this is only a workaround I'm proposing, we should fix the installer to detect other OSs.
Just adding that we don't have any Guix bootloader entry field to
chainload into another bootloader, needed for some non-free system :)
this would need to be added as well.

I personally don't mind, and use my UEFI boot menu instead if I want to
boot into said non-free OS.

Best,
-- 
Josselin Poiret




Information forwarded to bug-guix <at> gnu.org:
bug#56582; Package guix. (Sat, 16 Jul 2022 10:33:02 GMT) Full text and rfc822 format available.

Message #14 received at 56582 <at> debbugs.gnu.org (full text, mbox):

From: Julien Lepiller <julien <at> lepiller.eu>
To: Josselin Poiret <dev <at> jpoiret.xyz>, Peter <sunspark <at> gmail.com>,
 56582 <at> debbugs.gnu.org
Subject: Re: bug#56582: Installer does not detect or allow detection of other bootable partitions
Date: Sat, 16 Jul 2022 12:31:18 +0200
[Message part 1 (text/plain, inline)]
If anything, you also need to chainload to boot on haiku, which is free software. So no reason not to implement it.

Le 16 juillet 2022 11:59:29 GMT+02:00, Josselin Poiret <dev <at> jpoiret.xyz> a écrit :
>Hello both of you,
>
>Julien Lepiller <julien <at> lepiller.eu> writes:
>> Of course this is only a workaround I'm proposing, we should fix the installer to detect other OSs.
>Just adding that we don't have any Guix bootloader entry field to
>chainload into another bootloader, needed for some non-free system :)
>this would need to be added as well.
>
>I personally don't mind, and use my UEFI boot menu instead if I want to
>boot into said non-free OS.
>
>Best,
>-- 
>Josselin Poiret
[Message part 2 (text/html, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#56582; Package guix. (Sat, 16 Jul 2022 20:45:01 GMT) Full text and rfc822 format available.

Message #17 received at 56582 <at> debbugs.gnu.org (full text, mbox):

From: Peter <sunspark <at> gmail.com>
To: Julien Lepiller <julien <at> lepiller.eu>
Cc: Josselin Poiret <dev <at> jpoiret.xyz>, 56582 <at> debbugs.gnu.org
Subject: Re: bug#56582: Installer does not detect or allow detection of other
 bootable partitions
Date: Sat, 16 Jul 2022 16:44:17 -0400
[Message part 1 (text/plain, inline)]
Hi,

My concern is that what is written in the manual for bootloader-config and
invoking-guix-system does not clearly communicate what needs to be done for
those who have no exposure to either Guix or Scheme. I did actually view
those entries at first, but it seemed theoretical at first glance and I
kept moving because I was looking for an expected binary.

To expand on this, Guix installs GRUB. This is undeniable, and this is
where the problem begins.. over many years users are accustomed to GRUB
working in a certain way with specific tools.. when they encounter a grub
installation without grub-mkconfig, etc. they are at a loss, because it's a
binary they expected to find and it's just not present. I think an argument
could be made here that this behaviour breaks user space because it's
established software, but changed to function differently as opposed to
being something entirely new. It's like wearing your shoes on the opposite
foot. You can do it, but it feels wrong.

The way Debian and other distros manage Grub is via mkconfig, and the boot
menu presented is very similar to Guix's, the only difference is that
there's an extra row entry in the grub menu for the Windows bootloader to
be launched.

Personally, I dislike Grub because I feel it complicates things. I would
love to use only UEFI and use only the bios boot menu to switch, but for
whatever reason in a single internal drive system, this isn't easily done.
Giving an example, awhile back, I tried installing a distro to an external
usb drive.. it worked.. but the problem is that it installed grub to the
internal drive.. and if you removed the usb drive from the pc, things would
break because now a device it was expecting to see wasn't there. A
workaround suggested was to disconnect the internal drive, do the setup,
this way Grub would be on the external drive, then reconnect the internal
drive and then I guess use the bios uefi menu to switch between, a lot of
bother for a tightly sealed unit.

The way MS's bootloader works is nice because one of the menu options it
has is to pick a physical device so you can actually boot from a valid
bootable USB flash drive device and it launches that device directly.

Maybe the solution is just to create an EFI partition at the front of all
drives including external as Apple does and then it doesn't matter what
bootloader you use or do not use, because you could always just use the
UEFI menu to point to a device. Not using a bootloader would reduce
complexity of maintenance.. if MS's bootloader is there, people can use it
if they want to point to the device, and if it is not there, then they can
use the uefi bios menu. In theory.

MBR folks would still need to continue using a bootloader of course.

Best,
Peter


On Sat, Jul 16, 2022 at 6:32 AM Julien Lepiller <julien <at> lepiller.eu> wrote:

> If anything, you also need to chainload to boot on haiku, which is free
> software. So no reason not to implement it.
>
> Le 16 juillet 2022 11:59:29 GMT+02:00, Josselin Poiret <dev <at> jpoiret.xyz>
> a écrit :
>>
>> Hello both of you,
>>
>> Julien Lepiller <julien <at> lepiller.eu> writes:
>>
>>> Of course this is only a workaround I'm proposing, we should fix the installer to detect other OSs.
>>>
>> Just adding that we don't have any Guix bootloader entry field to
>> chainload into another bootloader, needed for some non-free system :)
>> this would need to be added as well.
>>
>> I personally don't mind, and use my UEFI boot menu instead if I want to
>> boot into said non-free OS.
>>
>> Best,
>> --
>> Josselin Poiret
>>
>>
[Message part 2 (text/html, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#56582; Package guix. (Thu, 21 Jul 2022 16:02:02 GMT) Full text and rfc822 format available.

Message #20 received at 56582 <at> debbugs.gnu.org (full text, mbox):

From: Josselin Poiret <dev <at> jpoiret.xyz>
To: Peter <sunspark <at> gmail.com>, Julien Lepiller <julien <at> lepiller.eu>
Cc: 56582 <at> debbugs.gnu.org
Subject: Re: bug#56582: Installer does not detect or allow detection of
 other bootable partitions
Date: Thu, 21 Jul 2022 18:01:50 +0200
Hi Peter,

Peter <sunspark <at> gmail.com> writes:
> To expand on this, Guix installs GRUB. This is undeniable, and this is
> where the problem begins.. over many years users are accustomed to GRUB
> working in a certain way with specific tools.. when they encounter a grub
> installation without grub-mkconfig, etc. they are at a loss, because it's a
> binary they expected to find and it's just not present. I think an argument
> could be made here that this behaviour breaks user space because it's
> established software, but changed to function differently as opposed to
> being something entirely new. It's like wearing your shoes on the opposite
> foot. You can do it, but it feels wrong.

Those tools are unfortunately stateful, like grub-mkconfig using
osprober, so wouldn't be a good fit for Guix.  You could also argue that
the majority of people using GRUB don't even know how to use the grub
tools, or what they actually do.  I personally think that our GRUB
interface is elegant, while a bit incomplete.

> The way Debian and other distros manage Grub is via mkconfig, and the boot
> menu presented is very similar to Guix's, the only difference is that
> there's an extra row entry in the grub menu for the Windows bootloader to
> be launched.

If we had a way to add menu entries that chainload another bootloader,
then that would result in the same exact menu.  It shouldn't even be too
hard to add.

> Personally, I dislike Grub because I feel it complicates things. I would
> love to use only UEFI and use only the bios boot menu to switch, but for
> whatever reason in a single internal drive system, this isn't easily done.
> Giving an example, awhile back, I tried installing a distro to an external
> usb drive.. it worked.. but the problem is that it installed grub to the
> internal drive.. and if you removed the usb drive from the pc, things would
> break because now a device it was expecting to see wasn't there. A
> workaround suggested was to disconnect the internal drive, do the setup,
> this way Grub would be on the external drive, then reconnect the internal
> drive and then I guess use the bios uefi menu to switch between, a lot of
> bother for a tightly sealed unit.

You can (and should) specify which EFI partition you'd like to install
GRUB to.  You'd simply need to create a EFI partition on the removable
media, and add the --removable option as well so that GRUB is installed
in the default boot location (/EFI/BOOT/bootx64.efi) so that booting
from the drive actually boots that bootloader.

If you want to get rid of GRUB, you can also compile Linux with the EFI
stub, so that it can be started as a EFI application directly, and then
add a EFI boot entry for it.

> The way MS's bootloader works is nice because one of the menu options it
> has is to pick a physical device so you can actually boot from a valid
> bootable USB flash drive device and it launches that device directly.

Your UEFI boot menu should already do that, no need for that in a
bootloader IMO.

> Maybe the solution is just to create an EFI partition at the front of all
> drives including external as Apple does and then it doesn't matter what
> bootloader you use or do not use, because you could always just use the
> UEFI menu to point to a device. Not using a bootloader would reduce
> complexity of maintenance.. if MS's bootloader is there, people can use it
> if they want to point to the device, and if it is not there, then they can
> use the uefi bios menu. In theory.

Without the EFI stub, Linux needs a bootloader to load, and the windows
bootloader surely won't support booting Linux.

Best,
-- 
Josselin Poiret




This bug report was last modified 2 years and 334 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.