Down load RPMs from Redhat (updates.redhat.com) or Metalab:
- FTP command line method:
Password: firstname.lastname@example.org cd pub/Linux/distributions/redhat/updates/current/en/os/i386 prompt mget kernel-*2.2.17-14.i386.rpm cd ../i586 - Only perform these steps for Pentium (586) or K6-2/3 architectures ls get kernel-2.2.17-14.i586.rpm
- Point the browser at one of the following sites:
Note: If using Netscape, press and hold the "Shift" key and select the link to the RPM file to download.
Note: There are precompiled kernels for various architectures (i386, i586, i686, ...) Check your current kernel for its precompiled architecture with the command uname -m. The kernels marked "smp" are for multiprocessor systems or hyper-threaded systems such as some of the Intel Xenon or P4 processors. Hyperthreading must also be enabled. This is often selected in the BIOS for systems on which this is available. The "smp" (symetric multi-processing) kernels allow for all processors to participate in scheduler tasks as well as all threads (two) in hyper-threaded processors. This will result in significant performance gains on a loaded system.
Install the kernel. Using the "-F" "freshen" option will remove all previous kernel installs. Do this only if you are daringly confident. The install option is prefered and safer because if an error is made, hopefully you can always re-boot to the previous kernel.
rpm -ivh --force kernel-2.2.17-14.i586.rpmNote:
OR rpm -Fvh kernel-2.2.17-14.i586.rpm
- The "smp" RPM kernel-smp-2.2.17-14.i586.rpm is for multi-processor systems.
- Linux kernel RPM: kernel (/boot/vmlinux-2.X.XX-X), modules (/lib/modules/2.X.XX-X/...), /boot/System.map-2.X.XX-X, and /boot/module-info-2.X.XX-X
The next two packages complete the kernel base.
rpm -ivh --force kernel-ibcs-2.2.17-14.i386.rpm - Intel Binary Compatability Standard: This allows Linux to run Unixware and commercial UNIX Intel binaries rpm -ivh --force kernel-pcmcia-cs-2.2.17-14.i386.rpm - Laptop PCMCIA card support
The following RPMs are not required but are helpful to developers or those who want to fine tune the kernel by recompiling at a later date.
rpm -ivh --nodeps kernel-source-2.2.17-14.i386.rpm
rpm -ivh --nodeps kernel-headers-2.2.17-14.i386.rpm
rpm -Fvh kernel-doc-2.2.17-14.i386.rpm
rpm -Fvh kernel-utils-2.2.17-14.i386.rpm - Provides /usr/bin/ksymoops which translates the kernel's OOPS output to readable messages
The following RPM is used to generate a boot disk. It includes a trimmed down version of the Linux kernel. This kernel is used on the installation boot disks only and should not be used for an installed system, as many features in this kernel are turned off because of the size constraints.
rpm -ivh kernel-BOOT-2.2.17-14.i386.rpm
Note for SCSI systems:
If your system is booting from a SCSI hard drive, execute the following mkinitrd script which creates the file used to let the system load the SCSI module at boot time:
/sbin/mkinitrd /boot/initrd-2.2.17-14.img 2.2.17-14
- The second argument is the name of the sub-directory of the modules under the directory /lib/modules/. (In this case /lib/modules/2.2.17-14/)
- The mkinitrd command is not issued for IDE systems and is SCSI specific. (It actually works on IDE systems but it is pointless. The default Red Hat install also has this.) It also requires a line in /etc/modules.conf (or for older systems: /etc/conf.modules) referencing the SCSI adapter. It will be the line containing the term "scsi_hostadapter".
- GRUB configuration: GRUB is configured by the RPM installation.
The configuration file /etc/grub.conf
is modified to reference the new kernel installed. If you want to
convert your system from Lilo to GRUB execute the following command (as
root) before installing the kernel RPMs:
grub-install --root-directory=/boot '(hd0,0)'
where GRUB device descriptions are as follows: (hard-drive-number,partition). Use the command df to view the layout of your hard drives. Hard drives are numbered beginning with "0" and include SCSI and EIDE drives without distinction. The designation (hd0,0) is equivalent to Linux device designations /dev/sda1 (SCSI) or /dev/hda1 (EIDE).
See the YoLinux GRUB boot floppy tutorial for sample GRUB configuration file and more information.
- Lilo configuration: Next edit the /etc/lilo.conf file. The first option is basic. The
second example will allow you to reboot to the previous kernel as well as the
boot=/dev/hda - Location of Lilo boot sector map=/boot/map - Locations on hard drive where the kernel can be found for boot install=/boot/boot.b prompt timeout=50 default=linux image=/boot/vmlinuz-2.2.17-14 label=linux initrd=/boot/initrd-2.2.17-14.img - This line is SCSI specific. Omit for IDE read-only root=/dev/hda7
To allow the system to boot the previous kernel just keep the following lines:
initrd=/boot/initrd-2.2.14-5.0.img - This line is SCSI specific. Omit for IDE read-only root=/dev/hda7
- Update MBR: Now enter the command lilo -v to write the new information to the
Master Boot Record (MBR).
LILO version 21, Copyright 1992-1998 Werner Almesberger Reading boot sector from /dev/sda Merging with /boot/boot.b Boot image: /boot/vmlinuz-2.2.17-14 Mapping RAM disk /boot/initrd-2.2.17-14.img Added linux * Writing boot sector.
- Reboot: The command shutdown -r now will cause the system to shutdown and reboot.
At the boot prompt one can enter "?" to list all the available kernels. In our extended lilo example, two options will be given:linux and oldlinux. The name may be typed in or a caraige return will select the default as assigned.
- A new kernel and kernel map requires a new boot / recovery disk. See the YoLinux tutorial on generating a boot or recovery diskette.
- Boot Prompt Howto.
- lilo man page.
- lilo.conf man page.
- bootparam man page.
- Red Hat: Upgrading the Linux Kernel