Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Mail Systems
Eclipse Documentation

How To Guides
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Problem Solutions




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

    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-
    cp /boot/

  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 the section called “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:

# installs a kernel
make modules_install

# find out what kernel version this is
    eval `sed -ne "/^$TAG/s/ //gp" Makefile`

# figure out the architecture
ARCH=`grep "CONFIG_ARCH " include/linux/autoconf.h | cut -f 2 -d "\""`

# copy the kernel image
cp arch/$ARCH/boot/bzImage /boot/bzImage-"$SRC_RELEASE"

# copy the file
cp /boot/"$SRC_RELEASE"

echo "Installed $SRC_RELEASE for $ARCH"

  Published under the terms of the Creative Commons License Design by Interspire