Linux Kernel

From Blue-IT.org Wiki

Revision as of 15:25, 3 December 2007 by Apos (talk | contribs) (Build custom modules afterwards)

Ubuntu

Links

Get the kernel

apt-get install linux-source

Alternatively you can get your own kernel from kernel org

cd /usr/src
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.YOUR-KERNEL-VERSION.tar.bz2
tar xjvf linux-2.6.YOUR-KERNEL-VERSION.tar.bz2
ln -s linux-linux-source-2.6.22 linux

Install additional packages

apt-get update
apt-get install kernel-package libncurses5-dev fakeroot wget bzip2 
# apt-get install libncurses5 cpp make build-essential

apply patches

cd /usr/src
wget http://www.kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.19-rc4.bz2
cd /usr/src/linux
bzip2 -dc /usr/src/patch-2.6.19-rc4.bz2 | patch -p1 --dry-run
bzip2 -dc /usr/src/patch-2.6.19-rc4.bz2 | patch -p1

Configure the kernel

cd /usr/src/linux
cp /boot/config-`uname -r` .config
make menuconfig

Build the custom kernel, headers and modules

Now we are ready to compile the kernel_image and kernel_headers:

make-kpkg clean
fakeroot make-kpkg --initrd \
--append-to-version=-nfs3-with-acl-support \
kernel_image kernel_headers [modules_image]**
    • If you downloaded source files for modules (e.g. nvidia, lirc etc.) which are located in /usr/src/modules, then you should add modules_image to the line above.

Install the custom kernel

cd /usr/src
dpkg -i linux-image-2.6*.deb
dpkg -i linux-headers-2.6*.deb

Check grub & reboot

vim /boot/grub/menu.lst

Build custom modules afterwards

Download the source packages, e.g.

apt-get install nvidia-legacy-kernel-source

Go to /usr/src and unpack it.

tar xzvf nvidia-legacy-kernel-source.tar.gz

Go tho the kernel directory and build the module image. Be aware that you use the same "append-to-version" information like for the custom kernel you compiled before. E.g.

cd /usr/src/linux
fakeroot make-kpkg --append_to_version=-nfs3-with-acl-support modules_image

You can also easily do

# this will configure/check the build system
m-a prepare 
# this will install your driver
m-a a-i your_driver

Module assistant

A very good tool for managing source installations is the module-assistant - a relict from the debian roots of ubuntu.

apt-get install module-assistant