Professional Documents
Culture Documents
Warning
Building a custom kernel is not supported by the Red Hat Installation Support Team. For
more information on building a custom kernel from the source code, refer to Appendix A
Building a Custom Kernel..
Note
kernel-hugemem
hugemem is required for memory configurations higher than 16
1 GB.
Because it is not possible for Red Hat Enterprise Linux to contain support for every piece
of hardware available, this package contains modules that are not supported by Red Hat,
Inc. during installation or after installation. The package is not installed during the
installation process; it must be installed after installation. Drivers in the unsupported
package are provided on a best-effort basis — updates and fixes may or may not be
incorporated over time.
Tip
Refer to the man page for mkbootdisk for more options.
Reboot the machine with the boot diskette and verify that it works before continuing.
Hopefully, the diskette will not be needed, but store it in a safe place just in case.
To determine which kernel packages are installed, execute the following command at a shell
prompt:
The output contains some or all of the following packages, depending on the system's
architecture (the version numbers and packages may differ):
kernel-2.4.21-1.1931.2.399.ent
kernel-source-2.4.21-1.1931.2.399.ent
kernel-utils-2.4.21-1.1931.2.399.ent
kernel-pcmcia-cs-3.1.31-13
kernel-smp-2.4.21-1.1931.2.399.ent
From the output, determine which packages need to be download for the kernel upgrade. For a
single processor system, the only required package is the kernel package. Refer to Section 39.1
Overview of Kernel Packages for descriptions of the different packages.
In the filename, each kernel package contains the architecture for which the package was built.
The format is kernel-<variant>-<version>.<arch>.rpm, where <variant> is smp, utils, etc.
The <arch> is one of the following:
1. x86_64 for AMD64 and Intel® Extended Memory 64 Technology (Intel® EM64T).
2. ia64 for the Intel® Itanium™ architecture.
3. ppc64pseries for the IBM® eServer™ pSeries™ architecture.
4. ppc64iseries for the IBM® eServer™ iSeries™ architecture.
5. s390 for the IBM® S/390® architecture.
6. s390x for the IBM® eServer™ zSeries® architecture.
7. x86 variant: The x86 kernels are optimized for different x86 versions. The options are as
follows:
o athlon for AMD Athlon® and AMD Duron® systems
o i686 for Intel® Pentium® II, Intel® Pentium® III, and Intel® Pentium® 4
systems
• Security Errata; go to the following location for information on security errata, including
kernel upgrades that fix security issues:
http://www.redhat.com/apps/support/errata/
http://www.redhat.com/apps/support/errata/rhlas_errata_policy.html
• Use Red Hat Network to download the kernel RPM packages and install the packages.
Red Hat Network can download the latest kernel, upgrade the kernel on the system,
create an initial RAM disk image if needed, and configure the boot loader to boot the new
kernel. For more information, refer to
http://www.redhat.com/docs/manuals/RHNetwork/.
If Red Hat Network was used to download and install the updated kernel, following the
instructions in Section 39.5 Verifying the Initial RAM D Disk Image and Section 39.6 Verifying the
Boot Loader,, except do not change the kernel to boot by default because Red Hat Network
automatically
cally changes the default kernel to the latest version. To install the kernel manually,
continue to Section 39.4 Performing the Upgra
Upgrade.
Important
It is strongly recommended that the old kernel is kept in case there are problems with the
new kernel.
Use the -i argument with the rpm command to keep the old kernel. If the -U option is used to
upgrade the kernel package, it will overwrite the currently installed kernel. (the kernel version
may vary):
The next step is to verify that the initial RAM disk image has been created. Refer to Section 39.5
Verifying the Initial RAM Disk Image for details.
39.5. Verifying the Initial RAM Disk Image
If the system uses the ext3 file system, a SCSI controller, or uses labels to reference partitions in
/etc/fstab, an initial RAM disk is needed. The initial RAM disk allows 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.
On the Red Hat Enterprise Linux architectures other than IBM eServer iSeries, the initial RAM
disk can be created with the mkinitrd command. However, this step is performed automatically
if the kernel and its associated packages are installed or upgraded from the RPM packages
distributed by Red Hat, Inc.; thus, it does not need to be executed manually. To verify that it was
created, use the command ls -l /boot to make sure the initrd-<version>.img file was
created (the version should match the version of the kernel just installed).
On iSeries systems, the initial RAM disk file and vmlinux file are combined into one file, which
is created with the addRamDisk command. This step is performed automatically if the kernel and
its associated packages are installed or upgraded from the RPM packages distributed by Red Hat,
Inc.; thus, it does not need to be executed manually. To verify that it was created, use the
command ls -l /boot to make sure the /boot/vmlinitrd-<kernel-version> file was
created (the version should match the version of the kernel just installed).
The next step is to verify that the boot loader has been configured to boot the new kernel. Refer
to Section 39.6 Verifying the Boot Loader for details.
It is always a good idea to confirm that the boot loader has been configured correctly. This is a
crucial step. If the boot loader is configured incorrectly, the system will not boot into Red Hat
Enterprise Linux properly. If this happens, boot the system with the boot diskette created earlier
and try configuring the boot loader again.
x86 systems have the option of using GRUB or LILO as the boot loader with one exception —
AMD64 and Intel® EM64T systems do not have the option of using LILO. For all x86 systems,
GRUB is the default.
39.6.1.1. GRUB
If GRUB is used as the boot loader, confirm that the file /boot/grub/grub.conf contains a
title section with the same version as the kernel package just installed (if the kernel-smp or
kernel-hugemem package was installed as well, a section will exist for it as well):
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/hda2
# initrd /initrd-version.img
#boot=/dev/hda
default=1
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
title Red Hat Enterprise Linux (2.4.21-1.1931.2.399.ent)
root (hd0,0)
kernel /vmlinuz-2.4.21-1.1931.2.399.ent ro root=LABEL=/
initrd /initrd-2.4.21-1.1931.2.399.ent.img
title Red Hat Enterprise Linux (2.4.20-2.30.ent)
root (hd0,0)
kernel /vmlinuz-2.4.20-2.30.ent ro root=LABEL=/
initrd /initrd-2.4.20-2.30.ent.img
If a separate /boot/ partition was created, the paths to the kernel and initrd image are relative to
/boot/.
Notice that the default is not set to the new kernel. To configure GRUB to boot the new kernel
by default, change the value of the default variable to the title section number for the title
section that contains the new kernel. The count starts with 0. For example, if the new kernel is
the first title section, set default to 0.
Begin testing the new kernel by rebooting the computer and watching the messages to ensure
that the hardware is detected properly.
39.6.1.2. LILO
If LILO is used as the boot loader, confirm that the file /etc/lilo.conf contains an image
section with the same version as the kernel package just installed (if the kernel-smp or
kernel-hugemem package was installed, a section will exist for it as well):
Notice that the default is not set to the new kernel. To configure LILO to boot the new kernel by
default, set the default variable to the value of the label in the image section for the new
kernel. Run the /sbin/lilo command as root to enable the changes. After running it, the output
will be similar to the following:
Added 2.4.21-1.1931.2.399.ent *
Added linux
The * after 2.4.21-1.1931.2.399.ent means the kernel in that section is the default
kernel that LILO will boot.
Begin testing the new kernel by rebooting the computer and watching the messages to ensure the
hardware is detected properly.
prompt
timeout=50
default=old
image=vmlinuz-2.4.21-1.1931.2.399.ent
label=linux
initrd=initrd-2.4.21-1.1931.2.399.ent.img
read-only
append="root=LABEL=/"
image=vmlinuz-2.4.20-2.30.ent
label=old
initrd=initrd-2.4.20-2.30.ent.img
read-only
append="root=LABEL=/"
Notice that the default is not set to the new kernel. To configure ELILO to boot the new kernel,
change the value of the default variable to the value of the label for the image section that
contains the new kernel.
Begin testing the new kernel by rebooting the computer and watching the messages to ensure
that the hardware is detected properly.
The IBM S/390 and IBM eServer zSeries systems use z/IPL as the boot loader, which uses
/etc/zipl.conf as the configuration file. Confirm that the file contains a section with the same
version as the kernel package just installed:
[defaultboot]
default=old
target=/boot/
[linux]
image=/boot/vmlinuz-2.4.21-1.1931.2.399.ent
ramdisk=/boot/initrd-2.4.21-1.1931.2.399.ent.img
parameters="root=LABEL=/"
[old]
image=/boot/vmlinuz-2.4.20-2.30.ent
ramdisk=/boot/initrd-2.4.20-2.30.ent.img
parameters="root=LABEL=/"
Notice that the default is not set to the new kernel. To configure z/IPL to boot the new kernel by
default change the value of the default variable to the name of the section that contains the
new kernel. The first line of each section contains the name in brackets.
After modifying the configuration file, run the following command as root to enable the changes:
/sbin/zipl
Begin testing the new kernel by rebooting the computer and watching the messages to ensure
that the hardware is detected properly.
1. As root, issue the command cat /proc/iSeries/mf/side to determine the default side
(either A, B, or C).
2. As root, issue the following command, where <kernel-version> is the version of the new
kernel and <side> is the side from the previous command:
dd if=/boot/vmlinitrd-<kernel-version>
of=/proc/iSeries/mf/<side>/vmlinux bs=8k
Begin testing the new kernel by rebooting the computer and watching the messages to ensure
that the hardware is detected properly.
IBM eServer pSeries systems use YABOOT as the boot loader, which uses /etc/aboot.conf as
the configuration file. Confirm that the file contains an image section with the same version as
the kernel package just installed:
boot=/dev/sda1
init-message=Welcome to Red Hat Enterprise Linux!
Hit <TAB> for boot options
partition=2
timeout=30
install=/usr/lib/yaboot/yaboot
delay=10
nonvram
image=/vmlinux--2.4.20-2.30.ent
label=old
read-only
initrd=/initrd--2.4.20-2.30.ent.img
append="root=LABEL=/"
image=/vmlinux-2.4.21-1.1931.2.399.ent
label=linux
read-only
initrd=/initrd-2.4.21-1.1931.2.399.ent.img
append="root=LABEL=/"
Notice that the default is not set to the new kernel. The kernel in the first image is booted by
default. To change the default kernel to boot either move its image stanza so that it is the first
one listed or add the directive default and set it to the label of the image stanza that
contains the new kernel.
Begin testing the new kernel by rebooting the computer and watching the messages to ensure
that the hardware is detected properly.