SPARC Systems

The upgrading of the SPARC kernel is very similar to that for the Intel systems. The major differences are in choosing an SMP or non-SMP kernel.

Before You Begin

If your machine is an SMP box or a later model SPARC 4m box, you can use the SMP kernels on your system. Note that the use of an SMP kernel on a single CPU SPARC 4m will result in some degradation of performance in comparison with a non-SMP kernel.

The kernel packages to update a standard version 5.2 system are:

The kernel packages to update a versions 6.0, 6.2, and 6.2 should be similar to:

NoteNote:
 

The versions numbers for the 2.0.x SPARC kernels are generally different than the Intel or Alpha kernels due to the fact that in the 2.0.xx series of kernels, SPARC is not synched up with the main kernel tree. This can lead to having differing version numbers for the same kernel.

As with the Intel platform, you will need to update to the latest initscripts and other system RPMs that have been made available for the Alpha. Check http://www.redhat.com/support/errata/ for these RPMs for your version of Red Hat Linux.

Installing the Kernel

The installation of the kernel RPMs are very much like that with the Intel.

If you are doing any development work, you will probably need to upgrade the headers and source directories for the kernel.

# rpm -Uvh kernel-headers-*.rpm kernel-source-*.rpm
kernel-headers              ##################################################
kernel-source               ##################################################

Depending on whether your machine is SMP or not, you will install the kernel that fits your system. For example, this command, executed from the directory with the RPM package, will update a 5.2, non-SMP system to the latest kernel:

            
# rpm -ivh kernel-sparc-2.0.35*rpm

Initial RAM disk

Next, you need to make an initial RAM disk. The purpose of the initial RAM disk is to allow a modular kernel to have access to modules that it might need to property boot before the kernel has access to the device where the modules normally reside. Thus, you end up with a chicken and egg problem, where you need a driver to talk to the hardware where the driver resides on. This problem normally occurs on systems with SCSI controllers.

To make this RAM disk, you will first need to find out what the kernel in /boot is called and then use the mkinitrd command to make the RAM disk to be used by that kernel.

To find out the name of the kernel to link against, list the /boot directory, and look for what kernels are installed. The Red Hat kernel RPM install should create a symbolic link from the file /boot/vmlinuz to the kernel that it installed.

# ls -l /boot/vmlinuz*
lrwxrwxrwx   1 root     root           16 Dec  2 18:31 /boot/vmlinuz ->vmlinux-2.2.17-14
-rw-r--r--   1 root     root       454325 Oct 13 22:41 /boot/vmlinux-2.2.5-15
-rw-r--r--   1 root     root       454349 Nov 17 13:11 /boot/vmlinuz-2.2.17-14

In the above example, the kernel is /boot/vmlinuz-2.2.17-14. This name is used with the mkinitrd command to generate the RAM disk.

# mkinitrd /boot/initrd-2.2.17-14.img 2.2.17-14

Changing SILO

The last step for installing the new kernel is changing SILO to boot the new kernel by editing the /etc/silo.conf file. The format of the file should be something similar to:

                  
timeout=50
partition=1
root=/dev/sda1
  image=/boot/vmlinux-2.2.5-15.gz
  label=linux
  root=/dev/sda1
  read-only

Change the image= line to the new kernel version number, and save the changes to the file.

timeout=50
partition=1
root=/dev/sda1
  image=/boot/vmlinux-2.2.17-14.gz
  label=linux
  root=/dev/sda1
  read-only

Unlike the Intel, you do not need to run a silo command as the Sun bootloader is able to check the file directly.