Back in November, I made a hopelessly failed attempt to upgrade my main Linux workstation from Fedora Core 4 to Fedora Core 6. This is a machine that I built myself – 2GHz AMD64 CPU, dual 160Gb SATA drives with software RAID 1 (mainly to protect my photos), NVIDIA graphics. The problem was that the upgrade process rendered the box unbootable – unable to find a kernel, and once I’d hacked at grub it was unable to load the relevant modules… I had to give up on it through lack of time.
This week I finally had some time to play. I was surprised to find that I hadn’t really missed the machine in 5 months, apart from the lack of access to my address book and quite a large number of photos. I knew that the data was at least safe, I just couldn’t get to it.
On Thursday I managed to get the system booting again. There had been two fundamental issues with the upgrade. The first was that the bootloader was broken. I had to boot into rescue mode, reinstall grub on both SATA drives, and hack the menu.lst file like this:
title RAID partition 1 Fedora Core (2.6.18-1.2798.fc6)
kernel (hd0,0)/vmlinuz-2.6.18-1.2798.fc6 ro root=/dev/md3 rhgb quiet
Now, this has the disadvantage that it is targetting a particular RAID drive – I need to look at making it disk-independent as it was before, but at least this is letting me load the kernel.
The second problem was that once it found the kernel image, it failed to load various modules (like via_sata, for example, which was fairly critical to the whole boot process). To fix this, I had to rebuild the initial RAM disk using mkinitrd… in the process discovering that I had obsolete options in modprobe.conf, like stuff telling scsi_mod to scan max_scsi_luns of 127, so I removed those.
Once I got the thing to boot, I had to clean up the networking, and then install months of Fedora updates.
The most important thing (!) about the whole process was that I wanted to get Beryl running for full GL-enhanced desktop goodness. I managed to do that this morning, although I had to reinstall the NVIDIA driver in order to prevent it from complaining about the GLcore module not being found, and then install the glx-utils package to get hold of all the glx programs like glxinfo and glxgears.
The final problem I’m faced with is overheating. It turns out that if the CPU runs at 1.6GHz or 2GHz it immediately heats up to ~75C and the system shuts itself down. This is despite having a fan+heatsink on the processor itself, and several fans in the machine… clearly not good enough. I’m currently running at 800MHz, which at least works. I need to find a better method of getting the machine cooled.