On this month’s PCQ CD, you’ll find the latest update to
Red Hat Linux 6.2 kernel–kernel 2.2 16-3–under /mnt/cdrom/cdrom/linux
kernel. Enhancements include security fixes, core updates like VM fixes and Kmod
fixes, IDE driver updates, and i810 driver updates.
An upgrade is a must for all those users who had trouble with
i810 motherboards. The new agpgart.o kernel module seems to have fixed most of
the issues which caused X to die with the error "gart allocate:cannot
allocate memory". It also has built-in audio drivers for the i810.
Updating the kernel is not one of those simple "rpm -Uvh"
commands. It takes a little more than that to get this one right. There are
several issues involved and you have to make sure you get all the steps right,
or you may land up with a brain-dead machine.
Before we get to the install part, you need to know more
about the machine you’re going to upgrade with the new kernel. Specifically,
you need to know what processor you’re using, and whether your motherboard is
uniprocessor or multiprocessor (SMP).
It’s very important that you get the processor type exactly
right. There are six versions of the kernel on the CD:
-
kernel-2.2.16-3.i386.rpm compiled for 386 class machines
-
kernel-2.2.16-3.i586.rpm compiled for 586 class machines
-
kernel-2.2.16-3.i686.rpm compiled for 686 class machines
-
kernel-smp-2.2.16-3.i386.rpm compiles for 386 class SMP
machines -
kernel-smp-2.2.16-3.i586.rpm compiles for 586 class SMP
machines -
kernel-smp-2.2.16-3.i686.rpm compiles for 686 class SMP
machines
Figure out whether your processor/motherboard fits into one
of the above categories. SMP motherboard users should replace the kernel type
with the SMP version of the kernel. If you’re unsure about what processor you’re
using, stick with kernel-2.2.16-3.i386.rpm.
Intel 80386, 80486 processors and clones use
kernel-2.2.16-3.i386.rpm; Intel Pentium, 586 processors and clones use
kernel-2.2.16-3.i586.rpm; Intel Pentium Pro processors and above (including PII,
PIII, Celeron, etc) use kernel-2.2.16-3.i686.rpm; AMD K6, K6-2, K6-3 processors
and above use kernel-2.2.16-3.i586.rpm; AMD K7 processors and above use
kernel-2.2.16-3.i686.rpm; and Cyrix MII processors and above use
kernel-2.2.16-3.i686.rpm
You can also use the command "uname —m" to print
the machine (hardware) type. This might sometimes report back the wrong
processor ID, though.
i686
Now that we have all the required information, we can proceed
with the kernel upgrade.
The command to upgrade a new RPM package is:
rpm -UvhF package.rpm
Let’s see what the options mean:
-U This upgrades or installs the package currently installed
to the version in the new RPM.
-v Verify
-h Print hash marks as the package archive is unpacked.
-F This will upgrade packages, but only if an earlier version
currently exists.
First, we install the main kernel rpm. Don’t forget to
replace ix86 with the correct version for your hardware:
# rpm -ivh kernel-2.2.16-3.ix86.rpm
SMP motherboard users should do this instead:
# rpm -ivh –force kernel-smp-2.2.16-3.ix86.rpm
Again, remember to replace the ix86 with i386, i586 or i686,
as applicable to your machine.
This package contains documentation files from the kernel
source:
# rpm -Uvh kernel-doc-2.2.16-3.i386.rpm
Kernel-headers and Kernel-source includes the C header files
for the Linux kernel, as well as the source code.
# rpm -Uvh kernel-headers-2.2.16-3.i386.rpm kernel-source-2.2.16-3.i386.rpm
The kernel-ibcs package allows you to run programs in the
iBCS2 formats:
# rpm -Uvh kernel-ibcs-2.2.16-3.i386.rpm
Install the kernel-pcmcia-cs package if your system uses
PCMCIA cards:
# rpm -Uvh kernel-pcmcia-cs-2.2.16-3.i386.rpm
The kernel-utils package contains ksymoops, a utility that
can be used for decrypting the kernel’s OOPS output:
rpm -Uvh kernel-utils-2.2.16-3.i386.rpm