#560 Fedora 33 grub.cfg (the Grub menu)
Closed 2 years ago by pbokoc. Opened 2 years ago by lsatenstein.

If an individual has any btrfs based Linux system (Fedora 33kde, Fedora33 gnome), the grub menu from one will not include menus for the other.

When the Fedora 33 grub menu includes the ext type of Fedora 32, the only two ways to launch the Fedora 32 system is to use the Fedora 32 recovery entry within the extras.

Alternatively, use the computer bios to launch the other Installed Distribution.

This is a reference to this bug:

I don't think it needs to be a separate release note item. I'll see whether it makes sense to incorporate in the release notes for #530.

When the Fedora 33 grub menu includes the ext type of Fedora 32, the only two ways to launch the Fedora 32 system is to use the Fedora 32 recovery entry within the extras.

I'm not sure if this is correct. I don't see anything changed with this regard in F33. If it is the case, it should be also the case for previous versions: e.g. F32 unable to boot F31.

Anyway, I think this can be part of Common Bugs rather than release notes, or as @chrismurphy said, part of #530.
Although, the second part is probably not related to BTRFS at all. It can be a bug, and probably not something new to F33.

I have two fedora btrfs systems on my computer. One grub.cfg menu does not see the other.
grub2-mkconfig does see the other system but does not create entries. Valid issue for Fedora 32/33.

Each self version of grub.cfg (to boot itself) works.
And as stated, for ext4 systems, we have to invoke the recovery option. If we try to boot a non-fedora ext4 system, again we have to invoke that system's recovery.

What I did not try is pasting in the menu portion of the other grub.cfg into the current one to see if that works.

My testing over a few days tells me that stand alone, btrfs is just fine. But if a person needs to multiboot fedora systems (at different update levels), he best not use btrfs.

This is what I think:

  1. IIRC, Fedora since F31 has moved to using BLS (at least, if not upgrading from non-BLS config). BLS is there to eliminate the need for OS discovery and something like os-prober. So, it is probably safe to say that the expected method to boot multiple Fedora systems >= F31 is using BLS entry files rather than discovery using grub2-mkconfig/os-prober. Although for F31/F32, you need to manually edit BLS entry files and replace $kernelopts with actual value of $kernelopts for that system (from its own grub.cfg or grubenv file). So, to use multiple Fedoras, one should use a shared /boot partition with all BLS entries in the loader/entries directory. This is what should be fixed to work out of the box with no manual steps.

  2. os-prober tries to find proper kernel cmdline args from grub config files, but it doesn't support BLS files. So, grub2-mkconfig/os-prober is unable to create completely correct entries for BLS systems, which include F31/F32. And if BLS works fine, it is not needed too. So, there is no need to try to support this case in os-prober. It should actually try to skip BLS OSes entirely!

  3. grub2-mkconfig/os-prober should generate usable entries for other non-BLS distros, either on BTRFS or ext4/.. file systems. If it doesn't, each case needs a bug report against os-prober. If there is, it most likely affects F32/F31/... too, so nothing new in F33.

OK so we'll either (a) fix it for F33 (b) CommonBugs (c) incorporate in #530 if it's truly btrfs specific somehow. Release notes folks can close this issue when convenient.

The bug could/should be mentioned in the release notes. Forget Fedora 32 above. The problem exists with Fedora 33's grub2-mkconfig not picking up ANY OTHER btrfs based system (where / is a btrfs partition or /boot is a btrfs partition.

Since the bug is now closed, I think this can be closed too.

Metadata Update from @pbokoc:
- Issue status updated to: Closed (was: Open)

2 years ago

Login to comment on this ticket.