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.
If your machine is an SMP box or a later model Sparc 4m box, you can use the SMP kernels on your system. Note Using an SMP kernel on a single CPU Sparc 4m will result in some degradation of performance in comparison with the non SMP kernel. The kernel packages should have names that are or look like:
Note: 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 "sync'd" 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 the full errata for these RPMS.
The installation of the kernel RPM's are very much like that with the intel.
If you are doing much 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 ##################################################
Now depending on whether your machine is SMP or not, you will install the kernel that fits your system. Example:
# rpm -ivh kernel-sparc-2.0.35*rpm
Next, you need to make an initial ramdisk. The purpose of the initial ram disk is to allow a modular kernel to have access to modules that it might need to boot from 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 ramdisk, you will first need to find out what the kernel in /boot is called and then using the mkinitrd command.
To find out what the kernel we need to link against, we will 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.5-15
-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.5-22
In the above example, the kernel is /boot/vmlinuz-2.2.5-22 and we can feed this data to the mkinitrd command.
# mkinitrd /boot/initrd-2.2.5-22.img 2.2.5-22
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.5-22.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.