29.6. Verifying the Boot Loader

The kernel RPM package configures the boot loader to boot the newly installed kernel (except for IBM eServer iSeries systems). However, it does not configure the boot loader to boot the new kernel by default.

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 does not boot into Red Hat Enterprise Linux properly. If this happens, boot the system with the boot media created earlier and try configuring the boot loader again.

29.6.1. x86 Systems

All x86 systems use GRUB as the boot loader, which includes all AMD64 systems.

29.6.1.1. GRUB

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, a section exists 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.6.9-5.EL)
        root (hd0,0)
        kernel /vmlinuz-2.6.9-5.EL ro root=LABEL=/
        initrd /initrd-2.6.9-5.EL.img
title Red Hat Enterprise Linux (2.6.9-1.906_EL)
        root (hd0,0)
        kernel /vmlinuz-2.6.9-1.906_EL ro root=LABEL=/
        initrd /initrd-2.6.9-1.906_EL.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.

29.6.2. Itanium Systems

Itanium systems use ELILO as the boot loader, which uses /boot/efi/EFI/redhat/elilo.conf as the configuration file. Confirm that this file contains an image section with the same version as the kernel package just installed:

prompt
timeout=50
default=old

image=vmlinuz-2.6.9-5.EL
        label=linux
        initrd=initrd-2.6.9-5.EL.img
        read-only
        append="root=LABEL=/"
image=vmlinuz-2.6.9-1.906_EL
        label=old
        initrd=initrd-2.6.9-1.906.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.

29.6.3. IBM S/390 and IBM eServer zSeries Systems

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.6.9-5.EL
        ramdisk=/boot/initrd-2.6.9-5.EL.img
        parameters="root=LABEL=/"
[old]
        image=/boot/vmlinuz-2.6.9-1.906_EL
        ramdisk=/boot/initrd-2.6.9-1.906_EL.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.

29.6.4. IBM eServer iSeries Systems

The /boot/vmlinitrd-<kernel-version> file is installed when you upgrade the kernel. However, you must use the dd command to configure the system to boot the new kernel:

  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.

29.6.5. IBM eServer pSeries Systems

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.6.9-5.EL
        label=old
        read-only
        initrd=/initrd--2.6.9-5.EL.img
        append="root=LABEL=/"
 
image=/vmlinux-2.6.9-5.EL
        label=linux
        read-only
        initrd=/initrd-2.6.9-5.EL.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.