4.3 upgrade failed during the Stage 3 dnf distro-sync due to old kernel-qubes-vm

While upgrading from 4.2 to 4.3, Stage 3 failed because I had an old appVM qube that had a hard-coded dependency on an old kernel-qubes-vm version. The Stage 3 dnf distro-sync step failed with Error: Transaction failed. The terminal output showed that many packages were successfully Upgraded, Installed, and Removed but that this one kernel-qubes-vm version could not be removed.

This forum post helped me track down the cause. I then configured that old appVM qube to use a newer kernel.

After updating the app qube’s kernel, I retried Stage 3. That caused my sys-net to start since the first Stage 3 attempt shut it down. My sys-net, which uses Ethernet, no longer could connect to the network. I see the Ethernet controller with lspci inside of sys-net. I see the sys-net NetworkManager icon (in a disconnected state) in the dom0 system tray. When I check the Services tab for sys-net’s Qube Settings in the Qubes Manager, I only see clocksync. The dropdown to add new services is empty and only lists (custom...) as a dropdown item. I think a network-manager service is normally enabled in the Services list.

When I retry Stage 3, it tries to refresh the Fedora repository metadata and that doesn’t work for me since my sys-net doesn’t connect.

I wanted to see if the first attempt of dnf distro-sync completed, even with the Stage 3 error. When I run rpm -qa | grep -v fc41, I see 35 results. My dom0 has more than 1500 packages installed with fc41 in the version. When I run the dnf distro-sync command from qubes-dist-upgrade-r4.3.sh, it shows an error about the /var/lib/qubes/updates/repodata/repomd.xml can’t be read. It does still show it would remove a single package, which is the old kernel-qubes-vm version. Does this mean the dnf distro-sync command was successful enough to continue past Stage 3?

How should I proceed?

  1. Should I restore networking in my sys-net so I can retry Stage 3? How do I do that?

  2. Should I comment out the qubes-dom0-update commands (lines 360 and 364) and the dnf distro-sync commands (lines 383 and 385) in Stage 3 in qubes-dist-upgrade-r4.3.sh and force the upgrade to proceed? Did the dnf distro-sync command update enough to move forward?

1 Like

I re-ran the dnf distro-sync command from qubes-dist-upgrade-r4.3.sh to remove the old kernel-qubes-vm version. I then manually ran more commands from Stage 3, basically what was described in Qubes-dist-upgrade stage 3 grub2-efi install failed - #4 by vwrto and Qubes-dist-upgrade stage 3 grub2-efi install failed - #5 by vwrto.

I ran these commands and saved the screensaver package swap for later.

After this, I was able to reboot into Qubes 4.3 but I encountered a new issue: 4.3 upgrade Error: Check of pool qubes_dom0/vm-pool failed. I don’t believe the new issue is related to this Stage 3 failure, so I created a separate thread.