FC1 to F18

From AN!Wiki
Jump to: navigation, search

 AN!Wiki :: How To :: FC1 to F18

This is my adventure of installing Fedora Core 1 and then upgrading it through every version up to Fedora 18.

Why?

Because.

Contents

General Notes

Take 2: I ran into a problem initially where the VM kept jumping to 100% CPU and got totally unresponsive. This started happening even when booting off the FC1, FC2 and FC3 install media. So I decided to try a new approach and start over. Last time, I defined the VM once for Fedora Core 1. This required optimizing for Kernel 2.4 and full virtualization. This time, I plan to undefine the VM and create a new VM for each upgrade, optimized for that version. This will be like taking the hard drive out of the old computer, sticking it in a new computer and running the OS upgrade. So lets see how this goes.

Fedora Core 1

This proved a little challenging. I opted to use a virtual machine as I didn't have any hardware old enough to support it. I used a Fedora 18 machine to do the install. The installation was done using a 50 GiB image file for storage and connected to the standard libvirtd Default network. The actual install of the OS was done as a Desktop system with default packages. The network used an emulated rtl8139 network card.

The biggest trick was to get the installer detect the CD-ROM and disk. In the end, I had to emulate a SCSI bus for both. I couldn't get virt-manager to set the options, so I had to use the virt-install command line tools. Also, most interestingly, I could not get the install to proceed until I made it fully virtualized.

The installation was kicked off with the following command;

virt-install --connect=qemu:///system \
  -n FC1 \
  --ram 512 \
  --vcpus 2 \
  --disk path=/mnt/usb/VMs/fcu.img,device=disk,bus=scsi,size=50 \
  --disk path=/mnt/usb/ISOs/Fedora/Core1/yarrow-x86_64-disc1.iso,device=cdrom,bus=scsi \
  --disk path=/mnt/usb/ISOs/Fedora/Core1/yarrow-x86_64-disc2.iso,device=cdrom,bus=scsi \
  --os-type=linux \
  --os-variant generic24 \
  --network network=default,model=rtl8139,mac=52:54:00:E6:62:96 \
  -v
Template note icon.png
Note: These are from the first run. In the second run, I changed the file system structure to use /boot as a 512 MiB ext3 partition. Then I used LVM on the rest of the free space with a VG called fcu_vg0. On that, I created three LVs; lv_swap at 2 GiB, lv_home at 10 GiB and the balance of the space in lv_root. The lv_home and lv_root LVs were formatted as ext3.

Install

Installation of Fedora Core 1 begins!
I'd actually like this screen back...
Basic desktop install.
Only real change from stock is that I disabled the firewall.
After "swapping" CD 1 for CD 2, install completed!
First-boot has been around from the beginning.
Login screen.
Le desktop!

I was pleased to find that I could create a 4095 byte RSA SSH key, even back on FC1.

To bring the OS up to date, as it would have been before a real user would have upgraded, I needed to tweak yum.conf to point at the Fedora Hosted archive FTP site. To do this, I backed up /etc/yum.conf to /etc/yum.conf.fc1_orig. For anyone playing along at home, the diff is:

--- yum.conf.fc1_orig	2013-05-19 14:25:17.000000000 -0400
+++ yum.conf	2013-05-19 14:32:28.000000000 -0400
@@ -8,14 +8,14 @@
 exactarch=1
 retries=20
 
-[base]
-name=Fedora Core $releasever - $basearch - Base
-baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/$releasever/$basearch/os/
+#[base]
+#name=Fedora Core $releasever - $basearch - Base
+#baseurl=http://archives.fedoraproject.org/pub/archive/fedora/linux/core/$releasever/$basearch/os/
 
 [updates-released]
 name=Fedora Core $releasever - $basearch - Released Updates
-baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/updates/$releasever/$basearch/
+baseurl=http://archives.fedoraproject.org/pub/archive/fedora/linux/core/updates/$releasever/$basearch/
 
 #[updates-testing]
 #name=Fedora Core $releasever - $basearch - Unreleased Updates
-#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/updates/testing/$releasever/$basearch/
+#baseurl=http://archives.fedoraproject.org/pub/archive/fedora/linux/core/updates/testing/$releasever/$basearch/

After the OS update completed and I rebooted, I was greeted by a very unhappy Gnome2;

Gnome2 gtk2 oopsie

This is probably because the Fedora Archive didn't have the header.info file in http://archives.fedoraproject.org/pub/archive/fedora/linux/core/1/x86_64/os/headers/. So only the Updates repo still worked. I fixed this by creating a local archive on the FC1 machine. This was pretty easy; just mount the three ISOs as loopback devices, copy their contents to /root/fedora/linux/core/1/x86_64/ and then generated the missing header/header.info file by running yum-arch /root/fedora/linux/core/1/x86_64/os/. Next, I added this to /etc/yum.conf;

[dvd]
name=Fedora Core $releasever - ISOs
baseurl=file:///root/fedora/linux/core/1/x86_64/os/

With this, I cleared the old yum cache with yum clean all, uninstalled gtk2 (which yanked out gnome2), and the reinstalled it and all the ripped-out packages;

yum install rhn-applet openssh-askpass-gnome gnome-media usermode-gtk desktop-printing \
  redhat-config-kickstart nautilus-cd-burner gnome-themes redhat-config-services magicdev \
  libgail-gnome libgsf eel2 gdm evolution gconf-editor gpdf redhat-config-securitylevel eog \
  hwbrowser gnome-python2-gtkhtml2 redhat-config-soundcard gftp pygtk2 libgnomeprintui \
  gnome-applets printman pygtk2-libglade gnome-python2 ggv redhat-config-users xsri rhgb \
  mrproject gnome-terminal gnome-python2-bonobo redhat-config-rootpassword mozilla authconfig-gtk \
  nautilus-media gnome-utils gnome-desktop gnome-vfs2 xchat libwnck vte redhat-config-network \
  gok gtk2 gtk2 gtkhtml2 openoffice.org redhat-config-language pan control-center \
  redhat-config-xfree86 libgnomecanvas freeciv gstreamer-plugins xscreensaver firstboot \
  redhat-config-packages xsane libgnomeprintui22 openoffice.org-libs gthumb gnome-python2-canvas \
  metacity GConf2 libgal2 mozilla-mail yelp gedit gnome-system-monitor sound-juicer gnome-pilot \
  gaim redhat-config-printer-gui gnome-spell up2date-gnome dia gnome-vfs2-extras libgnome \
  rhythmbox libgnomeui gnome-session nautilus libbonoboui at-spi redhat-logviewer libcroco \
  file-roller gnome-panel gnome-mag gtk2-engines gnome-games gail librsvg2 gtkhtml3 \
  gtksourceview libmrproject

That looks daunting, but it was just a quick copy of the terminal output when it removed the packages, modified in vim and turned into that install command. Once this finished, gnome2 was back in fine form.

I doubt an actual user of Fedora Core 1 would have had this issue back in the day as the repositories would have been working back then.

Some fun issues;

  • On first reboot, the OS tried to boot off of the SMP kernel and immediately fell back to the boot loader. The UP kernel booted though. This was true for the updated 2.4.22-1.2199 kernel as well.
  • Opening Mozilla v1.4.1 and clicking on the "Red Hat, Inc." bookmark crashed the browser, but the "Red Hat Network" bookmark worked... Sort of.
  • Our own website didn't crash, but I can't say it degraded too gracefully, either. Our AN!Wiki actually rendered quite well, so kudos to the MediaWiki devs! Our RoundCube webmail didn't crash, but it did refuse to run.

Some Apps

The GIMP v1.2.5
Preferences screen
Mozilla v1.4.1
Default webpage
Red Hat, Inc. website crashed the browser. The Red Hat Network didn't crash, but didn't degrade well, either.
... Not that we can brag much, either. Our Joomla page didn't degrade very well, either.
... At least the text could be read when you scrolled down a page or three.
MediaWiki degraded amazingly well!
RoundCube webmail doesn't work, but it tells you so instead of just blowing up.
Who remembers how awesome this screensaver was back in the day?
Default desktop install fits into 2.0 GiB.
One of the gnome menus expanded

Fedora Core 2

The virtual server rebuilt using the following command;

virt-install --connect=qemu:///system \
  -n FC2 \
  --ram 1024 \
  --vcpus 2 \
  --disk path=/mnt/usb/ISOs/Fedora/Core2/FC2-x86_64-DVD.iso,device=cdrom \
  --disk path=/mnt/usb/VMs/fcu.img,device=disk \
  --os-type=linux \
  --os-variant generic26 \
  --network network=default,model=rtl8139,mac=52:54:00:E6:62:96

This is sort of like taking a hard drive out of an old machine and putting it into a new computer and then booting off the Fedora Core 2 install disk and doing an OS upgrade.

Template note icon.png
Note: These are screenshots from the first attempt. They are identical to try #2.

Upgrade

Shutting down FC1
FC2 Install begins
Choosing to update
Updating the bootloader
Starting the update!
A Thank You to the early Fedora community
Upgrade complete!
This time, the SMP kernel booted! (yes, the UP kernel is selected here, ignore that...)
Boot Screen
Kudzu sees a new keyboard
Login screen
Gnome 2.6, but wait, not all is right...
The desktop works, though we've got a stacked icon
 

Upgrade issues;

  • I hit this bug where the Xfree86 to Xorg migration didn't go perfectly.
  • The new "Computer" icon was hidden under the old "Start Here" icon.
  • The mouse was much more sensitive.

The fix was to update xorg-x11, which meant fixing yum.conf to look at the Fedora Core 2 updates archive.

To bring the OS up to date, as it would have been before a real user would have upgraded, I needed to tweak yum.conf to point at the Fedora Hosted archive FTP site. To do this, I backed up /etc/yum.conf to /etc/yum.conf.fc1_orig. For anyone playing along at home, the diff is:

This wasn't too hard as the old yum.conf was still there and already pointing at the proper archive repos. All I had to do was back it up, uncomment the base repo as it works in FC2 and delete the dvd repo I created for FC1.

--- yum.conf.fc1_orig	2013-05-19 14:25:17.000000000 -0400
+++ yum.conf	2013-05-19 14:32:28.000000000 -0400
@@ -8,14 +8,14 @@
 exactarch=1
 retries=20
 
-[base]
-name=Fedora Core $releasever - $basearch - Base
-baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/$releasever/$basearch/os/
+#[base]
+#name=Fedora Core $releasever - $basearch - Base
+#baseurl=http://archives.fedoraproject.org/pub/archive/fedora/linux/core/$releasever/$basearch/os/
 
 [updates-released]
 name=Fedora Core $releasever - $basearch - Released Updates
-baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/updates/$releasever/$basearch/
+baseurl=http://archives.fedoraproject.org/pub/archive/fedora/linux/core/updates/$releasever/$basearch/
 
 #[updates-testing]
 #name=Fedora Core $releasever - $basearch - Unreleased Updates
-#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/updates/testing/$releasever/$basearch/
+#baseurl=http://archives.fedoraproject.org/pub/archive/fedora/linux/core/updates/testing/$releasever/$basearch/

The update failed initially because of conflicts;

/etc/security/selinux/file_contexts: No such file or directory
Errors reported doing trial run
file /usr/share/applications/mozilla-mail.desktop from install of mozilla-mail-1.7.6-1.2.5 conflicts with file from package mozilla-mail-1.4.1-18
file /usr/bin/mozilla from install of mozilla-1.7.6-1.2.5 conflicts with file from package mozilla-1.4.1-18
file /usr/share/man/man1/mozilla.1.gz from install of mozilla-1.7.6-1.2.5 conflicts with file from package mozilla-1.4.1-18

Uninstalling mozilla and mozilla-mail allowed the update to complete. Once done, I reinstalled mozilla and mozilla-mail.

After a reboot, the errors were gone and things looked a-ok! ... But they weren't, really.

For reasons I couldn't put my finger on, the system kept pinning the CPU cores at 100% and becoming totally unresponsive. Maybe it's because of the virtualization/emulation? Who knows. This was the case after the second try, too. So I tried to move on the the FC3 update, but that kept crashing with 100% CPU use as well. Finally, on the third attempt, I did not update the full FC2 install and it stayed stable. Go figure.

The websites I tried to load rendered pretty much exactly as before. Red Hat's main page still crashed the browser but their Red Hat Network page rendered better. Otherwise, it was the same as FC1.

Some Apps

Updating FC2
Rebooted and no more errors!
The GIMP ver. 2.0.5
Mozilla ver. 1.7.6
Default mozilla webpage
RHN renders a little better
Install is up to 2.6 GiB
The bare desktop
Hardware Browser
The menus are cleaner, I think

Fedora Core 3

Oh. My. Dear.

Let me tell you about Fedora Core 3...

First; The virtual server rebuilt using the following command;

virt-install --connect=qemu:///system \
  -n FC3 \
  --ram 2048 \
  --vcpus 2 \
  --disk path=/mnt/usb/ISOs/Fedora/Core3/FC3-x86_64-DVD.iso,device=cdrom \
  --disk path=/mnt/usb/VMs/fcu.img,device=disk \
  --os-type=linux \
  --os-variant rhel4 \
  --network network=default,mac=52:54:00:E6:62:96

First, notice that the --os-variant is rhel4. There wasn't an option for fedora3, but RHEL 4 was based on FC3, so it was close enough.

There seems to be a bug of some sort in the late FC2 kernel and in the kernel used by the FC3 installer. It would predictably pin one CPU core at 100% and stop responding entirely. This was the case with ACPI disabled, single-user mode and so on. I figure it has to do with the disk access as it would reliably hit when running the FC3 installer, once the RPM install started.

When I switched away from the SCSI bus emulation, the FC3 installer ISO would take over 15 minutes to start the install process. Lots of errors about losing hdc interrupts. However, it would eventually boot and the install would detect the previous FC2 install. However, when the install tried to start, it would complain that it could find the swap partition when it was directly formatted onto /dev/sda3, the default for stock FC1 installs.

When I started the install of FC1 over with LVM for /, /home and <swap>, the install would do the same 15 minutes delay and begin install. It would again see the FC2 install and offer to upgrade, but then complain that it couldn't see /boot, which was still directly on /dev/sda1 as it can't be on LVM.

In the end, I decided to let FC3 run a fresh install, preserving /home. This isn't the same as a straight upgrade, but it was the best I could do and having a separate /home partition or LV has been a long common practice to protect user data during upgrades.


Upgrade

Notice that /home is not set to be formatted.
No firewall, no SELinux. Complicated enough as it is...
Standard "Desktop" install
Install completed! (finally...)
Had to recreate my user via first-boot
Setting up your screen is now in first-boot as well
All done!
Login screen is the same as before

Fedora Core 3 introduced Firefox as a replacement to Mozilla. When I first tried to open the browser though, the "Broswer" icon still pointed to mozilla. Changing it to firefox fixed the problem. Other than that, the OS itself seems to have installed fine.

The base install is now up to 2.7 GiB.

The Red Hat website still crashes the browser. Otherwise, the RHN and various AN! websites render the same as before.

Some Apps

Darker wallpapaer
Menus are still pretty much unchanged
Desktop install uses 2.7 GIB
Firefox was installed, not mozilla, so the "Browser" button didn't work
A fairly easy fix. Just need to edit the icon's link
... and voila! The default FC3 webpage
Firefox 1.0, Preview Release
File:Fc3 apps 08.png
Hardware browser

Fedora Core 4

The virtual server rebuilt using the following command;

virt-install --connect=qemu:///system \
  -n FC4 \
  --ram 2048 \
  --vcpus 2 \
  --disk path=/mnt/usb/ISOs/Fedora/Core4/FC4-x86_64-DVD.iso,device=cdrom \
  --disk path=/mnt/usb/VMs/fcu.img,device=disk \
  --os-type=linux \
  --os-variant rhel4 \
  --network network=default,mac=52:54:00:E6:62:96

First, notice that the --os-variant is still rhel4. There wasn't an option for fedora4, either, so RHEL 4 was the closest match.

Upgrade

The base install is now up to xxx GiB.

The Red Hat website still crashes the browser. Otherwise, the RHN and various AN! websites render the same as before.

Some Apps

 

Any questions, feedback, advice, complaints or meanderings are welcome.
Us: Alteeve's Niche! Support: Mailing List IRC: #clusterlabs on Freenode   © Alteeve's Niche! Inc. 1997-2019
legal stuff: All info is provided "As-Is". Do not use anything here unless you are willing and able to take responsibility for your own actions.
Personal tools
Namespaces

Variants
Actions
Navigation
projects
Toolbox