Fedora 23 has been released yesterday, and as a big fan and a long time user I had to upgrade my laptop (from Fedora 22) immediately. Or at least try.
Usually, the process is quite simple and doesn’t take much figuring out. This time it was somewhat different though. At first, the recommended upgrade command changed slightly from the nice and simple fedup to dnf system-upgrade.
The first attempt downloaded all packages, ended with a cryptic error along the lines of “No updates for kernel packages were found“. Hmm, weird. I thought maybe this was caused by me forgetting to run “dnf update” before the upgrade process. So I did. Some updates were installed, but there were no kernel packages among them. I rebooted the laptop just in case.
The second attempt for some reason failed to find any of the previously downloaded packages, so I had to wait until the almost 2 GB get pulled down again. Result – same error about missing kernel updates. Hmm, again.
After poking around for a bit, I realized that I had previously configured yum to exclude some packages from updates (kernel, kmod-wl, kmod-VirtualBox, and VirtualBox). These settings were picked up by dnf. Editing both /etc/yum.conf and /etc/dnf/dnf.conf to disable the exclude fixed the issue. “dnf update” now pulled some updates to the kernel. Another reboot.
The third attempt once again lost all the downloaded packages and I had to wait some more. This was annoying, especially at 1am now. The process of downloading finished OK and this time there was no errors. So “dnf system-upgrade reboot” should do the trick now, right? Wrong!
Surprisingly, there was no boot menu for system upgrade upon reboot. So I went with Fedora 22 boot option. Which resulted in a brief screen saying “Preparing for upgrade“. Which then disappeared and the system booted back into Fedora 22. Now that was interesting.
It took me a while to find the issue. The problem was that my Fedora 22 laptop wasn’t a clean install, but an upgrade from Fedora 21. That shouldn’t be a problem, but it is, due to this bug. My /etc/os-release file didn’t have the VARIANT and VARIANT_ID variables (thanks to this blog). So after adding these lines:
VARIANT="Workstation Edition" VARIANT_ID=workstation
I’ve rebooted once again, and started the fourth attempt. Downloaded packages were gone once again, so I had to wait a bit more. This time the faster office Internet connection helped to save some time. Download finished OK. Another reboot. Once again, there is no option to upgrade Fedora, so I’m going into Fedora 22 boot. Finally, now there is the upgrade screen! After some preparation time, the packages were installed, the machine rebooted, and now I’m Fedora 23 user.
Checking my /etc/os-release file I see that both variant variables are gone now. This feels weird, but hopefully won’t cause issues in the future. If it will, I’ll probably Google for three hours before finding this very blog post.