Installing By Hand

If your distributtion does not have a installkernel command, or you wish to just do the work by hand to understand the steps involved, here are the steps involved.

  1. The modules must be installed:

    # make modules_install
  2. The static kernel image must be copied into the /boot directory. For an i386-based kernel, do the following:

    # make kernelversion
    2.6.17.11

    Note that the kernel version will probably be different for your kernel. Use this value in place of the text KERNEL_VERSION in all of the following steps:

    # cp arch/i386/boot/bzImage /boot/bzImage-KERNEL_VERSION
                         
    # cp System.map /boot/System.map-KERNEL_VERSION
                         
  3. Modify the bootloader so it knows about the new kernel. This involves editing a configuration file for the bootloader you use, and is covered later in Modifying the Bootloader For the New Kernel for the GRUB and LILO bootloaders.

If the boot process does not work properly, it's usually because an initial ramdisk image is needed. To create this properly, use the steps in the beginning of this chapter for installing a kernel automatically, because the distribution install scripts know how to properly create the ramdisk using the needed scripts and tools. Because each distribution does this differently, it is beyond the scope of this book to cover all of the different methods of building the ramdisk image.

Here is a handy script that can be used to install the kernel automatically instead of having to type the previous commands all the time:

#!/bin/sh # # installs ...

Get Linux Kernel in a Nutshell now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.