Results 1 to 10 of 209

Thread: HOWTO: Kernel compilation

Threaded View

  1. #1
    Join Date
    Apr 2005
    Beans
    514

    HOWTO: Kernel compilation

    I thought to write this HowTo, since the kernel compile process on Ubuntu is made easier because this distro is debian-based.
    First of all, download the kernel package you like from kernel.org or from the Ubuntu repositories.
    If you want the official kernel patched by the Ubuntu Team, just type:
    Code:
    sudo apt-get install linux-tree
    In this case we'll use the latest stable vanilla kernel version available.
    For the compile process you'll need the following packages on Ubuntu:
    Code:
    sudo apt-get update
    sudo apt-get install build-essential
    sudo apt-get install kernel-package
    sudo apt-get install gcc
    sudo apt-get install libncurses5
    sudo apt-get install libncurses5-dev
    sudo apt-get install libqt3-mt-dev
    Now untar the package:
    Code:
    cd /usr/src
    sudo tar --bzip2 -xvf linux-2.6.12.tar.bz2
    Create the following symlink:
    Code:
    sudo ln -s /usr/src/linux-2.6.12 /usr/src/linux
    cd /usr/src/linux
    Now you can start customizing your kernel configuration; there two way, the first one is graphical, the second one pseudo-graphical:
    Code:
    sudo make xconfig
    Or:
    Code:
    sudo make menuconfig
    Then, after having finished the customization, we have to start the compile process:
    Code:
    sudo make-kpkg clean
    sudo make-kpkg --append-to-version=-custom kernel_image modules_image
    The revision flag is optional and is just useful to edit the kernel name showed through uname -r. You can write whatever you want instead of "-custom".

    There's also another interesting and useful flag, that is --initrd. The vanilla kernel is not enable yet to make use of initrd properly, and in fact there's a patch for this. The Ubuntu official kernel is a vanilla kernel patched with some patches among which there's the one for initrd. So, if you are compiling a vanilla kernel, you should take --initrd out; otherwise, if you are compiling a Ubuntu kernel, you can make use of initrd and you probably would that.

    Note that now you'll have a .deb package in /usr/src ready to be installed as any other package through a simple double-click.
    Grub will be updated automatically.
    So, just type:
    Code:
    sudo dpkg -i kernel-image-2.6.12-custom_10.00.Custom_i386.deb
    Enjoy.
    Last edited by luca_linux; July 24th, 2005 at 11:10 PM.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •