Red Hat Enterprise Linux 3: System Administration Guide
Prev | Chapter 39. Upgrading the Kernel | Next

# 39.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 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.

## 39.6.1. x86 Systems

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.

## 39.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.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.

## 39.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.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.

## 39.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.

## 39.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.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.

Prev | Home | Next
Verifying the Initial RAM Disk Image | Up | Kernel Modules