Failed upgrade f36 to f37. Please help!


for some reason my upgrade from f36 to f37 failed, and when I try to boot I get the infamous


I am able to open a shell (by Ctrl+Alt+F2) and check a few things around.

> dnf distro-sync --skip-broken returns

gettext-runtime-0.21.1-1.fc37.x86_64 from @System requires gettext-libs(x86-64), but none of the providers can be installed and a line that gettext-libs-0.21.1-1.fc37.x86_64 from @System does not belong to a distupgrade repository

rpm -qa | grep gettext returns a list of both f36 and f37 packages.
If I try rpm -e gettext-libs-0.21-9.fc36, i get a error of failed dependencies.

If I try dnf remove --duplicates --allowerasing, after a long list of installed package .....fc37 not available, I get that the operation would result in removing protected package dnf, gnome-shell, grub2-efi-ia32 and more.

uname -a returns my last f36 kernel, but cat /usr/lib/os-release shows VERSION=37 (Workstation Edition)

ALSO Even worse, if I try dnf install mesa-vdpau-drivers I get a segmentation fault. I have not an idea why.

it seems I am stuck.
I am just a Fedora user, I am not sure what I need/can do. Help is very welcome.

You should try to use the dnf system-upgrade tool from the cli. You will also have to skip F37 and go to F38 I think.
sudo dnf system-upgrade reboot --releasever=38

try ‘gsettings set disable-user-extensions true’ sometimes new gnome shell doesn’t like old extensions with this command you will disable it cross fingers :crossed_fingers:

This alone makes no sense. If you want to go to F38, you need to download the F38 packages beforehand: sudo dnf system-upgrade download --releasever=38, only after you initiate the upgrade on reboot.

What you get when you run sudo dnf remove gettext-runtime? What do you see when you run sudo dnf distro-sync?

Right you are

After it complained that At least 280MB more space needed on the / filesystem.
I freed 3,5G by journalctl --vacuum-size=100M. When I tried again dnf system-upgrade download --releasever=38 --allowerasing, it seemed to go thru fine.

But when I tried dnf system-upgrade reboot, it did not seem to do anything. After a while it was back to my Grub without any new entry, and if I login within f36, I am back to the OhNo page. :frowning:

This tells me you really need to consider doing the following.

  1. sudo dnf clean all
  2. sudo dnf clean packages
  3. df -h
    If df does not show at least 5G of free space in the root file system (/) then you really need to free up more space or to consider getting a larger drive (or a larger partition on the existing drive) to allow for growth that is inevitable in the future.

@JeffV Thanks for your help.

df -h / is dev/mapper/fedora_localhost--live-root 69G 54G 12G 83%
df -h /home/mynane is dev/mapper/fedora_localhost--live-home 143G 127G 9G 94%

It should be fine.
Why is dnf broken? and how do I fix it? dnf reinstall dnf returns a segmentation fault too.

Also dnf list installed --showdupicates | grep 36 | wc -l returns 7568, with 37 returns 3981.

You have not specified the hardware, but I would need to ask if you have Nvidia drivers installed?

kernel driver in use: nvidia kernel modules: nouveau, nvidia_drm, nvidia
so, I would say yes. Is it the culprit?

Does not seem right, wouldn’t nouveau be blacklisted?

i guess that has been there for a while, should I remove it? how?

Reinstalling the driver should cover that for you, it uses grubby to do so. No need for a manual intervention here.

What is the current state of the machine? Are you still on the “Oh No!” screen ? Do you have a USB Live image ? If not, you might need to do an in place update from the command line to the version you need. We can help somewhat. If you have a LiveUSB, we can target dnf to fix the machine.

Anyway, I tried again dnf system-upgrade download --releasever=38 --allowerasing and dnf system-upgrade reboot. reboot takes a while and my two screens go in stand by. Eventually the OhNo page pops up. I may login to tty2. I am not sure where all the fc38 packages are stored rpm -qa | grep fc38 is empty; I still see mostly fc36, and some fc37. I am completely lost.

I have to leave, see you tomorrow, thanks for your help.

how do I use grubby? how do I target dnf from a liveUSB?

It looks like you pasted portions of 2 different comments I posted. So let me explain :

grubby is the tool used to comment out, blacklist and other functions for the grub bootloader. You might have missed the part in a previous comment where i said :

So, moving on to your comment :

So beforehand, you still attempted to do a dnf system-upgrade download --releasever=38 --allowerasing, That will no longer work as your machine is in a incompatible state.
What we need to do is :

  1. cat /etc/os-release and cat /etc/fedora-release This will tell you what the system thinks is the current Release Version, will help is solving the inconsistent packages and how you should update the machine later.
  2. dnf clean all This does a lot of clean up of the dbcaches, cached data and metadata .
  3. dnf distro-sync --best --allowerasing This will sync up the OS with the repos you have in the system for the version you have (see # 1. )

After you have done this please report back, if there is more to do we can help you with it.

You did not run the commands I suggested and post the results.
For example the output of sudo dmesg | grep -iE "nvidia|secure|nouveau" should have returned something like this. We need to see the full output, not just the one line you think may be of interest for each of those commands.

$ sudo dmesg | grep -iE "nouveau|nvidia|secure"`
> `
[    0.000000] Command line: BOOT_IMAGE=(hd5,gpt2)/vmlinuz-6.7.9-200.fc39.x86_64 root=/dev/mapper/fedora_root-root ro amd_iommu=on iommu=pt kvm.ignore_msrs=1 nvidia-drm.modeset=1 rd.driver.blacklist=nouveau modprobe.blacklist=nouveau
[    0.000000] secureboot: Secure boot enabled
[    0.000000] Kernel is locked down from EFI Secure Boot mode; see man kernel_lockdown.7
[    0.003462] secureboot: Secure boot enabled
[    0.033786] Kernel command line: BOOT_IMAGE=(hd5,gpt2)/vmlinuz-6.7.9-200.fc39.x86_64 root=/dev/mapper/fedora_root-root ro amd_iommu=on iommu=pt kvm.ignore_msrs=1 nvidia-drm.modeset=1 rd.driver.blacklist=nouveau modprobe.blacklist=nouveau
[    7.008584] input: HDA NVidia HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:03.1/0000:06:00.1/sound/card0/input20
[    7.009057] input: HDA NVidia HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:03.1/0000:06:00.1/sound/card0/input21
[    7.009553] input: HDA NVidia HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:03.1/0000:06:00.1/sound/card0/input22
[    7.010052] input: HDA NVidia HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:03.1/0000:06:00.1/sound/card0/input23
[    7.604183] nvidia: module license 'NVIDIA' taints kernel.
[    7.604597] nvidia: module license taints kernel.
[    7.939476] nvidia-nvlink: Nvlink Core is being initialized, major device number 234
[    7.940556] nvidia 0000:06:00.0: vgaarb: VGA decodes changed: olddecodes=io+mem,decodes=none:owns=none
[    7.983475] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  550.67  Tue Mar 12 23:54:15 UTC 2024
[    8.027864] nvidia_uvm: module uses symbols nvUvmInterfaceDisableAccessCntr from proprietary module nvidia, inheriting taint.
[    8.112298] nvidia-uvm: Loaded the UVM driver, major device number 510.
[    8.151343] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms  550.67  Tue Mar 12 23:29:25 UTC 2024
[    8.156206] [drm] [nvidia-drm] [GPU ID 0x00000600] Loading driver
[    9.306864] [drm] Initialized nvidia-drm 0.0.0 20160202 for 0000:06:00.0 on minor 0
[    9.307391] nvidia 0000:06:00.0: vgaarb: deactivate vga console
[    9.430745] fbcon: nvidia-drmdrmfb (fb0) is primary device
[    9.515973] nvidia 0000:06:00.0: [drm] fb0: nvidia-drmdrmfb frame buffer device

I also note that those commands were run on the live image used to boot and have nothing to do with the actual installed system.

to 1. VERSION=37 (Workstation Edition).
to 3. (I tried before and after dnf clean all with the same result)
I get the operation would result in removing the following protected package NetworkManager, grub2-tools-minimal, systemd,systemd-udev. The same if I add --skip-broken too.

I hope you may read. I assume you know what they are.

dmesg | grep -iE "nvidia|secure|nouveau" outputs

Also, dnf list installed "nvidia" returns No matching Packages to list