Read this before performing the upgrade to Fedora 17, if possible: it will save you time, frustration, and likely prevent you from committing some blunders that may corrupt your Fedora installation.
To begin with, this is the first time since preupgrading from F7 to F8 that I encountered any serious issues with preupgrade. There were two common issues, however, when preupgrading to F17 (updated June 5, 2012: the second issue is apparently now fixed, so people preupgrading to Fedora 17 now should not be experiencing it unless they choose upgrading from the DVD):
Issue I. The anaconda installer may hang during installation of certain packages (one such culprit is the sbcl package which is a dependency of the maxima package)
See, e.g. https://bugzilla.redhat.com/show_bug.cgi?id=822008
Issue II. (updated June 5, 2012: apparently this issue has been fixed, and one should not be experiencing it any more when preupgrading to Fedora 17; one will encounter it however if deciding to upgrade from the DVD)
After completing the preupgrade process the computer reboots into kernel-3.3.7-1.fc16.
Normally that would not be a problem — due to the "/usr move", however, booting into any kernel with extension fc16 will later result in aborted shutdown with error messages thrown by /shutdown about non-existent files, etc. Executing
Code:
rpm -qa|grep kernel-
will likely show kernel-3.3.7-1.fc17 to have been installed too. However, that kernel does not show up in the GRUB menu.
See, e.g., http://fedoraproject.org/wiki/Common_F17_bugs , and https://bugzilla.redhat.com/bugzilla....cgi?id=820351
Numerous 'fixes' were offered in this forum and elsewhere. Unfortunately, it seems that many would cause more problems than they were supposed to solve.
The purpose of this thread is to offer safe and clean solutions to both issues, especially that the "solution" to the second problem offered at the "Common F17 bugs" page is not specific enough (worse, I find it even misleading when it is talking about enabling the Updates repository: I was using precisely that repo, not the DVD, and the problem was still there).
I. If you notice that the anaconda installer hangs with a message "installing <the-name-of-a-package>", record the name of that package and open a console (Ctrl-Alt-F2 should work). Next, use, e.g., ps -ef, in order to locate the process that hangs. In my case it was
Code:
/usr/bin/sbcl --core /usr/lib/sbcl/sbcl-dist.core --noinform --sysinit /etc/sbcl.rc --userinit /dev/null --load /usr/lib/sbcl/install-clc.lis
Kill the process using, e.g., killall -KILL sbcl (replace sbcl by the process' name).
This should allow anaconda to continue the installation process.
Notes.
a) Due to an oversight in anaconda, when one returns from the Linux console to the anaconda installer screen (in my case I did this by pressing Ctrl-Alt-F6), one is presented with a blank screen (probably milky-grey in appearance). This is due to anaconda not refreshing the installation screen other than by sending to it a new message. So, be aware of this and do not panic: when anaconda resumes, it will refresh the screen and you will be able to continue monitoring the progress of the installation.
b) During the final cleanup stage the anaconda installer may appear hanging with a message like
Code:
Cleaning up rootfiles
Just be patient -- on my small Toshiba NB205 netbook it took a long time before the next message appeared on the anaconda installer screen.
II.
First solution
Preupgrade is a process that runs in two stages:
1) it downloads required packages and verifies them,
2) after completing stage 1), it presents the user with an option to reboot the machine; after the reboot, if you select the anaconda installer from the GRUB menu, it starts the installer.
Before executing preupgrade from the command line or, at the very latest, before rebooting the computer after stage 1) of preupgrade, execute
Code:
rpm -qa|grep kernel-
On one of my computers the output was
Code:
kernel-3.3.4-1.fc16.x86_64
kernel-headers-3.3.7-1.fc16.x86_64
kernel-3.3.5-2.fc16.x86_64
kernel-3.3.7-1.fc16.x86_64
Next, remove the latest kernel package. In my case I executed (as root)
Code:
yum erase kernel-3.3.7-1.fc16
Now proceed with preupgrade.
If you failed to do the above before proceeding to the second stage of preupgrade, then you must use the second solution.
Second solution
When the anaconda installer finishes, it restarts the machine, and if everything goes well (in my case it did), you will be presented with a login screen. Log in. Execute yum update (as root), then shut down the system. The shutdown will most likely stall. Use the power button to force shutting the computer.
On restart, choose from the GRUB menu not the latest kernel. In my case, I had two choices:
Code:
3.3.7-1.fc16
3.3.0-4.fc16
I selected 3.3.0-4.fc16. After logging in, use rpm -qa|grep kernel- to check which kernels are installed. On one of the computers where I was performing preupgrade, I found I had the following three kernels installed:
Code:
kernel-3.3.0-4.fc16.i686
kernel-3.3.7-1.fc16.i686
kernel-3.3.7-1.fc17.i686
Execute (as root)
Code:
yum erase kernel-3.3.7-1.fc16
yum erase kernel-3.3.7-1.fc17
This removes the last kernel installed before preupgrade, and the same-version kernel installed by the anaconda installer.
Now, execute
Code:
yum install kernel-3.3.7-1.fc17
This installs kernel-3.3.7-1 from the Fedora 17 repo.
Note.
Code:
yum reinstall kernel-3.3.7-1.fc17
will not work since that kernel package is tagged as having been installed by anaconda, not from the Fedora 17 repo.
Restart the computer (when the shutdown stalls as expected throwing up error messages, you will have to resort to the power button again since you booted into a kernel installed before preupgrade). From now on you should be booting into the newly installed kernel.
Third solution (I didn't have an opportunity to test it myself but I am told it would have worked too)
When the anaconda installer finishes, it restarts the machine, and if everything goes well (in my case it did), you will be presented with a login screen. Log in, and use rpm -qa|grep kernel- to check which kernels are installed. On one of the computers where I was performing preupgrade, I found I had the following three kernels installed:
Code:
kernel-3.3.0-4.fc16.i686
kernel-3.3.7-1.fc16.i686
kernel-3.3.7-1.fc17.i686
Execute (as root)
Code:
yum erase kernel-3.3.7-1.fc17
This removes the last kernel installed before preupgrade, and the same-version kernel installed by the anaconda installer.
Now, execute
Code:
yum install kernel-3.3.7-1.fc17
This installs kernel-3.3.7-1 from the Fedora 17 repo.
Note.
Code:
yum reinstall kernel-3.3.7-1.fc17
will not work since that kernel package is tagged as having been installed by anaconda, not from the Fedora 17 repo.
Restart the computer (when the shutdown stalls as expected throwing up error messages, you will have to resort to the power button since you booted into a kernel installed before preupgrade). From now on you should be booting into the newly installed kernel.
If you experienced Problem I, now it is time to check that the programs installed by the package whose installation hang, are properly operating. If not, reinstall that package. In my case I verified that maxima seemed to be functional, and had the right version of sbcl package installed, so I did not have to do anything.
From now on the preupgrade issues addressed in this post should be resolved.