F29 Unable to boot..?

Hiya peeps, (a new community forum user here),

I’ve been using Fedora since F26 as my daily-distro-driver, and I was actually really looking forward to the upcoming F30 stable release.

Now after some DNF updates yesterday I seem to have lost my Fedora grand unified bootloader kernel menu entries…

#gutted

Luckily I’m Penta operating system multi-booting, 4x Linux and 1x Windows, so my machine is still usable.

I would really like to get my beloved Fedora working again, I know that if I can boot it successfully and get back in to it that all is fine within. Unfortunately due to my current OS complexity and the level of my Fedora’s customisation reinstallation is pretty much out of the question.

I’ll be happy to supply any screenshots and/or information that could possibly help with the diagnosis and repair.

Any ideas?

Just to add some more information on this dilemma, it currently only has one grub entry. Which boots in to rescue emergency mode with a really old kernel version that doesn’t seem to be able to do anything.

Tried playing with dracut but the kernel version is like 4…ouch…omg.

Now from the grub menu I have tried the following commands which is the closest that I’ve got to booting the correct/latest kernel with my saved home configuation.

insmod xfs
insmod lvm
ls
ls (hd0,gpt4)/
set root=(hd0,gpt4)
linux (hd0,gpt4)/vmlinuz-5.0.8-200.fc29.x86_64 root=/dev/sda4 rhgb quiet selinux=0
initrd (hd0,gpt4)/initramfs-5.0.8-200.fc29.x86_64-nouveau.img
boot

The thought was that once I regained login access that I could…

grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

But alas It boots and then hangs on:

Generating "/run/initramfs/rdsosreport.txt"

F30 was the start of Fedora following the Boot Loader Spec, and is possibly involved in some of your issues. Take a look at this link about the BLS introduction https://fedoramagazine.org/setting-kernel-command-line-arguments-with-fedora-30/
Maybe something there for you.

1 Like

Many thanks for the reply mate, very much appreciated.

But I have never used or installed F30, neither Rawhide or Beta versions. So I don’t really think that article relating to BLS is applicable.

My problem seems to have developed after downloading repository DNF updates for F29.

I was eagerly awaiting the stable F30 release later this month/may.

As an avid reader of Fedora Magazine I can actually remember already reading that article.

Long shot question…Can I install any newer version of Fedora or perhaps Silverblue and still retain my current home/configuration?

I understand that OS build upgrades are ordinarily handled through the gnome software update application. But can’t I upgrade via stand-alone installation media?

systemctl start NetworkManager
DNF distro-sync

That gave me no joy either…

My current F29 Live/CD install media is well out of kernel sync and seems to offer little help to my current predicament.

I’ve lost my favourite daily desktop and my only Fedora/RHEL installed distro.

#feelingblue

You are welcome, and thanks for coming by to ask the question of the community.
By using the dnf plugin system-upgrade with sudo dnf install 'dnf-command system-upgrade' then upgrade with sudo dnf system-upgrade you should be able to do an upgrade from a running system. This would require a network connection to work, or you would to point to a local repo you had stored the upgrade in and made dnf aware by adding it to dnf’s repo configuration. Silverblue’s core components of the OS are immutable since it is based on ostree with the added flexibility of layering via rpm-ostree, and this means the only writable areas in a Silverblue install are /var and /etc. Hence, your home becomes /var/home for example. This complicates things for multi-boot as you can imagine since /boot resides in the immutable section.I think it is doable after extensive reading, I’m just not sure who is doing it yet, or if you would find a complete guide to follow. With the upgrade using dnf on a normal workstation install, everything in your home dir is left intact, as well as your installed packages too. Even though you haven’t yet installed F30, I would bet dollars to doughnuts that dnf has been changed to allow for the BLS move, as would installers, etc… In any case to upgrade to the latest using dnf at the CLI you would use the system-upgrade plugin. Also, any newer version you install over an existing installation should allow you to retain your current storage configuration, with the caveat that you would need the available space in the storage location, without rewriting the GPT and leave your home dir intact. Usually, I can get away with just picking the storage location and using automatic setup for this. I think the only caveat would be the space requirements of Anaconda for the installation.

1 Like

Again many thanks for the information @jakfrost.

But because I can’t get past the rescue emergency mode I can’t access the terminal and seem to be unable to get any connectivity from where I am.

#facepalm

My next question…Would I be able to edit Fedora’s grub.cfg manually from one of my other linux distro’s?

menuentry 'Fedora (5.0.8-200.fc29.x86_64) 29 (Workstation Edition)' --class fedora --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-5.0.8-200.fc29.x86_64-advanced-8bbf8fb6-4994-4ada-b12c-cf2bc1b993ee' { load_video set gfxpayload=keep insmod gzio insmod part_gpt insmod ext2 set root='hd0,gpt4' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt4 --hint-efi=hd0,gpt4 --hint-baremetal=ahci0,gpt4 114b214c-192c-496d-9632-026490658242 else search --no-floppy --fs-uuid --set=root 114b214c-192c-496d-9632-026490658242 fi linux /vmlinuz-5.0.8-200.fc29.x86_64 root=/dev/mapper/fedora-root ro rd.lvm.lv=fedora/root rd.luks.uuid=luks-2f3b5ac2-5394-4383-b8a0-9813a7bcb786 rd.lvm.lv=fedora/swap rhgb quiet }

I’m thinking that I need to get this menu entry in to Fedora’s efi grub.cfg?

/boot/efi/EFI/fedora/grub.cfg

Maybe try here https://fedoramagazine.org/initramfs-dracut-and-the-dracut-emergency-shell/. GLB has written a pretty solid article about Dracuts emergency shell and of particular interest in this case would be finishing the boot into the desired image when things go awry.

1 Like

Yeah I’ve already played around with the dracut root a bit sadly to no avail.

But that grub menu entry looks correct for my encrypted/fedora/kernel installation. So surely I can add a new entry manually with the above parameters directly in to grub? I’m thinking that I just need to get that to load from grub.

Then once I’ve booted successfully I can automatically generate a new one?

With:

grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

I’m going to try that, I’ll be back either way lol…

/kudos

Try using the Grubby tool (grubby) it is the tool for that task. Of course, I mean after getting it booted.

1 Like

w00t…

I got it to boot again after I made a custom bodge/temp grub entry in grub it-self.

But…I daren’t turn it back off again just yet as it looks like I’m missing the corresponding initrd .img.

Looks as if I was missing kernel initrd .img files?

I need at least two complete kernels to generate my new efi grub.cfg.

Any help would be very much appreciated?

It shows the kernel package as installed. The initrd is the initramfs file ending in img. The kernel is the other file (begins with vmlinuz), both should be in /boot/grub2 I thought on a workstation, I am running F30 Silverblue so it’s a bit different because of the BLS. You should be able to make an entry by using grubby, (grubby --help), which you can further modify if needed before running grub2mkcfg. I’ll do a bit more checking later, right now I got to get going.
Heres the link to grubby use https://docs.fedoraproject.org/en-US/fedora/f29/system-administrators-guide/kernel-module-driver-configuration/Working_with_the_GRUB_2_Boot_Loader/#sec-Making_Persistent_Changes_to_a_GRUB_2_Menu_Using_the_grubby_Tool

1 Like

Right, I switched it back off after running:

grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

I then ran in to exactly the same problem and it wouldn’t boot.

I then done the same manual grub bodge entry as before.

Booted back in…and as I suspected my initramfs were in fact completely missing.

dracut --regenerate-all --force

After running the above all initramfs were regenerated.

Then:

grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

All kernels are now booting fine again…

#shenanigans

All fixed now buddy, many thanks for your help @jakfrost.

/kudos

That’s great to hear! Glad I was able to help you get out of the jam, but it sounds like you already know your way around the nix’s. \o/

1 Like

So I know this has already been solved, but one thing worth noting is that I’ve sometimes seen multiple GRUB installs step over each other in weird ways, so if you have 4 Linux distros it may be worthwhile to e.g. add a second layer bootloader (sd-boot, rEFInd, even your native firmware bootloader) that calls into each distro’s GRUB.

1 Like

Thanks @refi64, yeah I completely agree, and it can be quite risky/scary when adding another new distro.

I will definitely have to look in to that, as I’m already itching to add a sixth.

Another new OS installed yesterday. Sextuple booting ftw, it was a little bit dicey though lol.

1 Like