Re: Upgrade to Fedora 34 broke the boot menu.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, May 8, 2021 at 6:52 AM Björn Persson <Bjorn@rombobjörn.se> wrote:
>
> I used yum system-upgrade to upgrade from Fedora 32 to Fedora 34. Now
> Grub complains about not finding some theme files, and then displays a
> menu with two kernels from Fedora 29 and a rescue entry from Fedora 28.

Does /etc/default/grub contain
GRUB_ENABLE_BLSCFG=false
?

> If I choose one of the Fedora 29 entries, then Grub unsurprisingly
> fails to find the kernel. The rescue entry actually boots to some kind
> of shell, after printing lots of timeout messages, but getting from
> there to a working system will be a major research project for me.

The rescue entry points to a "no host-only" initramfs that has more
kernel and dracut modules baked in than the usual "host only"
initramfs. This kernel+initramfs pair are created during a clean
install. There is no automatic mechanism to ever update them. By
design they go stale. Once the /usr modules are removed, this rescue
entry almost certainly cannot complete a startup and you get dropped
to a dracut shell.

You can delete the pair, and at next kernel installation time, they'll
be recreated and based on the kernel being installed.

A worthwhile feature would be to enhance the rescue entry:
* pin this kernel's rpm, so that the /usr modules stick around for a
release lifecycle; or
* make the initramfs even bigger so that it contains everything
plausibly needed to do graphical boot
* include the overlayfs, and LiveOS dracut modules (possibly
themselves needing some enhancement) so that we can boot a read-only
sysroot with a read-write overlay using /run (it'd be a volatile
overlay just like a LiveOS boot)

But this hypothetical rescue feature should get it's own thread for discussion.


> The menu also has entries for "advanced flags" (or something like that;
> not sure what it would be in English) and "tboot". Both lead to other
> menus with boot entries from Fedora 25.
>
> The boot partition contains three sets of vmlinuz, initramfs, config
> and System.map files – one fc34 set and two fc32 sets as expected – but
> Grub has apparently reverted to a years-old boot menu program.

There have been two big GRUB changes and if you followed them without
any intervention or customizations, you get upgraded correctly. If you
make customizations or opt out, then those are pretty much not tested
by anyone. So you've probably discovered a bug.

If you have BLS disabled, enable it. Recreate /boot/grub2/grub.cfg
(this is now the correct location on UEFI and BIOS). If you've
accidentally stepped on the forwarding /boot/efi/EFI/fedora/grub.cfg
then right now you have to manually recreate it. There isn't a script
to fix this once it's been obliterated. Fortunately it's simple:

search --no-floppy --fs-uuid --set=dev $UUID
set prefix=($dev)/grub2
export $prefix
configfile $prefix/grub.cfg

Use lsblk -f to find the UUID for /boot and substitute that UUID for
$UUID above. This assumes a dedicated ext4 volume for /boot, which is
the Fedora default. If you have a different configuration you might
need to specify a different UUID for the file system containing
/boot/grub2/grub.cfg which might also need a modified line 2 to point
to a boot directory, i.e. ($dev)/boot/grub2



-- 
Chris Murphy
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux