unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#56582: Installer does not detect or allow detection of other bootable partitions
@ 2022-07-15 20:10 Peter
  2022-07-16  5:46 ` Julien Lepiller
  0 siblings, 1 reply; 6+ messages in thread
From: Peter @ 2022-07-15 20:10 UTC (permalink / raw)
  To: 56582

[-- Attachment #1: Type: text/plain, Size: 978 bytes --]

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

[-- Attachment #2: Type: text/html, Size: 1144 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#56582: Installer does not detect or allow detection of other bootable partitions
  2022-07-15 20:10 bug#56582: Installer does not detect or allow detection of other bootable partitions Peter
@ 2022-07-16  5:46 ` Julien Lepiller
  2022-07-16  9:59   ` Josselin Poiret via Bug reports for GNU Guix
  0 siblings, 1 reply; 6+ messages in thread
From: Julien Lepiller @ 2022-07-16  5:46 UTC (permalink / raw)
  To: Peter, 56582

[-- Attachment #1: Type: text/plain, Size: 1761 bytes --]

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@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

[-- Attachment #2: Type: text/html, Size: 2297 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#56582: Installer does not detect or allow detection of other bootable partitions
  2022-07-16  5:46 ` Julien Lepiller
@ 2022-07-16  9:59   ` Josselin Poiret via Bug reports for GNU Guix
  2022-07-16 10:31     ` Julien Lepiller
  0 siblings, 1 reply; 6+ messages in thread
From: Josselin Poiret via Bug reports for GNU Guix @ 2022-07-16  9:59 UTC (permalink / raw)
  To: Julien Lepiller, Peter, 56582

Hello both of you,

Julien Lepiller <julien@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




^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#56582: Installer does not detect or allow detection of other bootable partitions
  2022-07-16  9:59   ` Josselin Poiret via Bug reports for GNU Guix
@ 2022-07-16 10:31     ` Julien Lepiller
  2022-07-16 20:44       ` Peter
  0 siblings, 1 reply; 6+ messages in thread
From: Julien Lepiller @ 2022-07-16 10:31 UTC (permalink / raw)
  To: Josselin Poiret, Peter, 56582

[-- Attachment #1: Type: text/plain, Size: 701 bytes --]

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@jpoiret.xyz> a écrit :
>Hello both of you,
>
>Julien Lepiller <julien@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

[-- Attachment #2: Type: text/html, Size: 1145 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#56582: Installer does not detect or allow detection of other bootable partitions
  2022-07-16 10:31     ` Julien Lepiller
@ 2022-07-16 20:44       ` Peter
  2022-07-21 16:01         ` Josselin Poiret via Bug reports for GNU Guix
  0 siblings, 1 reply; 6+ messages in thread
From: Peter @ 2022-07-16 20:44 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: Josselin Poiret, 56582

[-- Attachment #1: Type: text/plain, Size: 3647 bytes --]

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@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@jpoiret.xyz>
> a écrit :
>>
>> Hello both of you,
>>
>> Julien Lepiller <julien@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
>>
>>

[-- Attachment #2: Type: text/html, Size: 4558 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#56582: Installer does not detect or allow detection of other bootable partitions
  2022-07-16 20:44       ` Peter
@ 2022-07-21 16:01         ` Josselin Poiret via Bug reports for GNU Guix
  0 siblings, 0 replies; 6+ messages in thread
From: Josselin Poiret via Bug reports for GNU Guix @ 2022-07-21 16:01 UTC (permalink / raw)
  To: Peter, Julien Lepiller; +Cc: 56582

Hi Peter,

Peter <sunspark@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




^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-07-21 16:14 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-15 20:10 bug#56582: Installer does not detect or allow detection of other bootable partitions Peter
2022-07-16  5:46 ` Julien Lepiller
2022-07-16  9:59   ` Josselin Poiret via Bug reports for GNU Guix
2022-07-16 10:31     ` Julien Lepiller
2022-07-16 20:44       ` Peter
2022-07-21 16:01         ` Josselin Poiret via Bug reports for GNU Guix

Code repositories for project(s) associated with this inbox:

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).