(Please cc: the discussion list on any HOWTO-related issues so the community can benefit. Also check the list archives before asking a question as it may already have been covered.)
Last Updated: 8/22/2005
Aurora Release | RedHat/Fedora Release | Release Format |
---|---|---|
1.0 (Ansel) | RedHat 7.3 | RPMs, Anaconda installer, ISOs |
1.91 (Wombat) | Fedora Core 2 Test 2 | RPMs only |
1.92 (Tangerine) | Fedora Core 2 | RPMs only |
Since the two most recent Aurora releases are in RPM format only you must begin with a 1.0 installation and upgrade it to 1.91 or 1.92. Thankfully, the "Yellowdog Updater, Modified" tool (aka "yum") can be used to automate the process. There are some complications, though, due to the fact that essentially every package on the system will be replaced with a new version.
This HOWTO walks though the upgrade process. Since it is not possible to anticipate every possible package conflict, especially on aged 1.0 installations, you may encounter issues not addressed here. I have performed the upgrade starting from an "Everything" installation of 1.0 in order to ferret out as many details as possible.
Since you will be upgrading nearly every package on the system, do not spend any time configuring services. Configuration file formats often change between versions and you'll end up having to merge your old settings into the new config files, which is often much more painful than it sounds. If you already have some services configured, you might want to re familiarize yourself with the config details before you perform the upgrade in order to ease the burden of reconfiguring later.
To change the default boot environment, you need to edit /etc/inittab and set the default runlevel to '3' instead of '5'. Here is a snippet showing the modified line in bold:
... # Default runlevel. The runlevels used by RHS are: # 0 - halt (Do NOT set initdefault to this) # 1 - Single user mode # 2 - Multiuser, without NFS (The same as 3, if you do not have networking) # 3 - Full multiuser mode # 4 - unused # 5 - X11 # 6 - reboot (Do NOT set initdefault to this) # id:3:initdefault: ... |
# wget http://linux.duke.edu/projects/yum/download/1.0/yum-1.0.3-1_73.noarch.rpm # rpm -ivh yum-1.0.3-1_73.noarch.rpm |
Choose a mirror that has a yummified repository for the 1.0 updates and edit your /etc/yum.conf file to point to the directory that contains the "headers" subdirectory, like this (modified lines are shown in bold):
[main] cachedir=/var/cache/yum debuglevel=2 logfile=/var/log/yum.log pkgpolicy=newest [base] name=Aurora 1.0 Base baseurl=http://<yummified-mirror>/pub/mirrors/aurora/build-1.0/en/os/sparc/RedHat/RPMS [updates] name=Aurora 1.0 Updates baseurl=http://<yummified-mirror>/pub/mirrors/aurora/updates/1.0 |
Note: yum downloads all required RPM packages and stores them in the directory indicated by cachedir in yum.conf (/var/cache/yum by default). For a full Aurora 1.92 upgrade you will need a minimum of 2 GB of free space in the partition containing the cache directory (and another 500 MB or so in /usr). Many people partition their systems with a small /var partition and if you are one of them be sure to change the cachedir setting or make /var/cache/yum a symlink to somewhere with more space.
If you are certain you have plenty of free disk space, you can also set 'diskspacecheck=0' right after the pkgpolicy line. This will prevent yum from checking to make sure you have enough disk space and thereby save quite a bit of processing time. However, if yum runs out of disk space part way through you will be left with a partly upgraded (i.e. totally mangled) system, so beware!
Some of the orphaned packages are not needed in 1.92, not available (in RPM form), or have been superceded or moved into different packages. You can issue one giant 'yum remove' command to clean all of these out in one go. I have listed them in sections, roughly corresponding to the order in which I discovered them.
Note that you may not have all of these packages on your system and yum will complain if you ask it to remove a non-existent package. Using the -t switch tells yum to tolerate being asked to remove packages that don't exist.
When you issue the first command, yum will download the headers for all appropriate packages and store them in its cache. If your connection to the repository mirror is slow, this can take while. Subsequent runs will download only the headers that are not yet cached.
Not Available In 1.92
# yum -t remove kmail kde2-compat xine xine-devel qt1x-GL pine gnomeicu xalf pygnome-capplet # yum -t remove rpmfind rpm2html ical blt libgtop-examples abiword qtcups iscsi firewall-config # yum -t remove qt2-Xt qt2-designer qt2-devel qt2-static qt2 kontrol-panel xlockmore xbill # yum -t remove jikes pygtk-glarea mozilla-js-debugger # yum -t remove compat-egcs-objc gcc-objc libobjc3 gcc3-objc # yum -t remove glibc64 glibc64-debug-static glibc64-devel # yum -t remove glibc64-debug glibc-debug-static # yum -t remove php-manual tetex-dvilj gcc-chill galeon # yum -t remove aurora-current-config perl-NDBM_File |
Superceded by lvm2 (which you can install manually once the upgrade is complete)
# yum remove lvm |
Changed architectures and has lots of dependencies (install manually once upgrade is complete)
# yum remove rhn-applet |
New kdesdk and kdelibs packages conflict (install manually once the upgrade is complete, if you want it)
# yum -t remove kdesdk-\* cervisia kdevelop |
# yum update |
yum will automatically determine which packages can be updated and will present you with a list of them; you should approve the action and allow it to perform the updates.
One of the packages yum will update is the kernel (assuming you are not already running the latest Aurora 1.0 kernel package). You need to manually update silo.conf to load the new kernel by default.
You should edit silo.conf to look something like this (modified lines are shown in bold; yours may look slightly different, especially the root= lines).
timeout=50 default=linux partition=1 image=/vmlinuz-2.4.20-2.31sparc label=linux initrd=/initrd-2.4.20-2.31sparc.img read-only root=/dev/hda3 image=/vmlinuz-2.4.20-2.3sparc label=vmlinuz-2.4.20-2.3sparc initrd=/initrd-2.4.20-2.3sparc.img read-only root=/dev/hda3 |
Now run silo and reboot the system:
# /sbin/silo /etc/silo.conf appears to be valid # reboot |
You may already have one or more of these packages installed, so it's best to do these one at a time. It is normal here for yum to pull in some additional packages as dependencies.
# yum install gcc-java # yum install gcc3-g77 # yum install gdb |
The first command will pull in libgcj as a dependency and the second will get libf2c.
[main] cachedir=/var/cache/yum debuglevel=2 logfile=/var/log/yum.log pkgpolicy=newest [base] name=Aurora 1.92 Base baseurl=http://<yummified-mirror>/pub/mirrors/aurora/build-1.92/sparc/os/Fedora/RPMS [updates] name=Aurora 1.92 Updates baseurl=http://<yummified-mirror>/pub/mirrors/aurora/updates/1.92 |
We also need to clean out the old yum cache. It's full of about-to-be obsolete 1.0 headers and packages which take up valuable disk space and may confuse yum during the upgrade.
# rm -rf /var/cache/yum/* |
The -t switch does not seem to work for 'yum update' runs so we must issue these as separate commands.
# yum update filesystem # yum update perl-libwww-perl # yum update gnome-mime-data |
[main] cachedir=/var/cache/yum debuglevel=2 logfile=/var/log/yum.log pkgpolicy=newest exactarch=1 [base] name=Aurora 1.92 Base baseurl=http://<yummified-mirror>/pub/mirrors/aurora/build-1.92/sparc/os/Fedora/RPMS [updates] name=Aurora 1.92 Updates baseurl=http://<yummified-mirror>/pub/mirrors/aurora/updates/1.92 |
# yum upgrade |
yum should spend quite a while (15 minutes or so on my 400 MHz Ultra 10) evaluating package dependencies and eventually present you with an extensive list of the packages it plans to upgrade. After you approve the list it will begin the disk space check and the installation. This part of the process took about 90 minutes on my system (sans disk space check) but could take much longer if you are downloading the packages from a distant repository (I was using a local mirror).
* DO NOT REBOOT WHEN YUM FINISHES *
If you are using kernel modules that have no equivalent in the newer 2.6.x kernel but are needed during boot up, make sure to edit /etc/modprobe.conf appropriately and rebuild the initrd for the new kernel! (For example, the old sym53c8xx_2 SCSI module is now official and is known as sym53c8xx.)
silo.conf should be updated to boot the new linux-2.6 series kernel by default. The new kernel has already been added to silo.conf, you just need to adjust the labels:
timeout=50 default=linux partition=1 image=/vmlinuz-2.6.8-1.571sp1 label=linux initrd=/initrd-2.6.8-1.571sp1.img read-only append="root=LABEL=/" image=/vmlinuz-2.4.20-2.31sparc label=vmlinuz-2.4.20-2.31sparc initrd=/initrd-2.4.20-2.31sparc.img read-only root=/dev/hda3 image=/vmlinuz-2.4.20-2.3sparc label=vmlinuz-2.4.20-2.3sparc initrd=/initrd-2.4.20-2.3sparc.img read-only append="root=LABEL=/" |
Now run silo to commit the changes:
# /sbin/silo /etc/silo.conf appears to be valid |
Lastly, you must update the keytable. The new linux-2.6 kernel internally translates all keys to standard PC keycodes. If you're using a Sun style keyboard you need to manually change the key mapping before you boot into the new kernel, otherwise the keyboard will not function properly (and you won't be able to login on the console to change it!). You need to edit /etc/sysconfig/keyboard and change the KEYTABLE parameter to "us":
KEYBOARDTYPE="sun" KEYTABLE="us" |
# reboot |
The new linux-2.6 kernel should be loaded by default if you updated silo.conf properly (and remembered to run /sbin/silo afterward). Kudzu will probably detect some hardware changes and I've generally allowed it to modify the configuration to its liking without any problems.
A good way to figure out what files need attention is to search for all files named *.rpmnew:
# find / -name \*.rpmnew -print |
You should work through the resulting list one by one, comparing the old and new versions and merging any changes. If you started your upgrade from a fresh, unconfigured Aurora 1.0 installation, your job here is fairly easy because you can simply replace most existing config files with the *.rpmnew variants. There are some exceptions, however.
[main] cachedir=/var/cache/yum debuglevel=2 logfile=/var/log/yum.log pkgpolicy=newest distroverpkg=fedora-release tolerant=1 exactarch=1 retries=20 [base] name=Aurora Core $releasever - $basearch - Base baseurl=http://<yummified-mirror>/pub/mirrors/aurora/build-$releasever/$basearch/os/Fedora/RPMS [updates-released] name=Aurora Core $releasever - $basearch - Released Updates baseurl=http://<yummified-mirror>/pub/mirrors/aurora/updates/$releasever #[updates-testing] #name=Fedora Core $releasever - $basearch - Unreleased Updates #baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/updates/testing/$releasever/$basearch/ #[development] #name=Fedora Core $releasever - Development Tree #baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/development/$basearch/ |
As a final step, you will probably want to clear the contents of the yum cache in /var/cache/yum (or elsewhere if you changed the cachedir setting previously). The 2 GB of RPMs sitting in the cache are just a waste of disk space at this point.
# rm -rf /var/cache/yum/* |
The rhn-applet:
# yum install rhn-applet |
Also kdevelop, if you want to use that tool (this will install kdesdk as well):
# yum install kdevelop |
# rpm -Uvh switchdesk-4.0.3-1.rpm switchdesk-gui-4.0.3-1.rpm |
Then try 'yum upgrade' again.
If the kernel really is crashing on boot, you can fall back to your old 2.4.x kernel by overriding the default at the silo boot prompt. Hit 'tab' to see a list of kernel image names and choose the last 2.4.x kernel you used. This should allow the system to boot, although you will get a bunch of unimplemented syscall errors and your keyboard will probably not work. To fix the keyboard problem, log in remotely and edit /etc/sysconfig/keyboard to undo the KEYTABLE change you made in step 3.10.
Other possible sources of boot problems include typos in /etc/silo.conf and missing kernel modules (see the note in section 3.10 about modprobe.conf and rebuilding initrd).
TypeError: connect() takes exactly one argument (2 given)The solution to this problem is to remove and reinstall yum. You must also manually remove the /usr/share/yum directory or else the problem will continue. Obtain the yum-2.0.7-1.1.rpm RPM and then something like this should do the trick:
# cp /etc/yum.conf /etc/yum.conf.bak # rpm -e yum-2.0.7-1.1 # rm -rf /usr/share/yum # rpm -ivh yum-2.0.7-1.1.rpm # cp /etc/yum.conf.bak /etc/yum.conf |
Date | Changes |
---|---|
11/20/2004 | Initial revision |
11/20/2004 | aurora-current-config is orphaned; /var/cache/yum needs 2 GB free; documented "after you upgrade" steps; added references; misc. edits |
11/21/2004 | Always use 'yum -t' for removals; issue separate commands for 'yum update' because -t doesn't work for those, it seems. |
11/27/2004 | Correct glibc64 'yum remove' commands to not include .sparc64 extension. Fix changelog dates. |
11/28/2004 | Highlight config files and commands with background color change instead of indent to make them easier to copy-n-paste. |
12/5/2004 | Insert new step 3.4 to solve libgcj and libf2c dependency problems. Fix duplicated step numbers. Add updated date at the top to make it easy to see which version you're looking at. |
12/10/2004 | Add sections 2.2 and 2.3 to help prepare for framebuffer issues. Reorder upgrade steps so orphaned package removal comes before 1.0 updates are installed: no use installing updates for packages that will be removed. Mention kernel module changes and initrd rebuild. Add to the troubleshooting section some items from folks on the aurora-sparc-users mailing list. Spellcheck! |
12/13/2004 | Update mouseless X11 issue with new info from aurora-sparc-users list. |
1/6/2005 | Add perl-NDBM_File to package removal section. Add more information about blank display problems, emphasize that this is a common issue, and mention the Corona kernel. Add troubleshooting item for yum not functioning after upgrade. List troubleshooting items at beginning of upgrade procedure so more people will see them. |
1/23/2005 | Add gdb to Aurora 1.0 install list. Point out that mkinitrd must be upgraded before upgrading to Corona kernel. Add troubleshooting item for X11 pointing folks to the aurora-sparc-user mailing list archive. Also add archive link to references section. |
2/25/2005 | Fix typo in section 3.2: /var/yum/cache -> /var/cache/yum. |
3/9/2005 | Fix yummified 1.0 path in section 3.2: http://<yummified-mirror>/pub/mirrors/aurora/build-1.0/en/os/sparc -> http://<yummified-mirror>/pub/mirrors/aurora/build-1.0/en/os/sparc/RedHat/RPMS. |
3/14/2005 | Fix aurora-sparc-user mailing list archive link at top of document. |
8/22/2005 | Add mozilla-js-debugger to yum remove list. |