Difference between revisions of "Linux Kernel"
From Blue-IT.org Wiki
(→Build the custom kernel, headers and modules) |
(→Build custom modules afterwards) |
||
Line 56: | Line 56: | ||
cd /usr/src/linux | cd /usr/src/linux | ||
fakeroot make-kpkg --append_to_version=-nfs3-with-acl-support modules_image | 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 |
Revision as of 15:25, 3 December 2007
Contents
Ubuntu
Links
- mainly stolen from Howtoforge How To Compile A Kernel - The Ubuntu Way
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