Difference between revisions of "Linux Kernel"
From Blue-IT.org Wiki
(→Install additional packages) |
(→Configure the kernel) |
||
Line 26: | Line 26: | ||
==Configure the kernel== | ==Configure the kernel== | ||
cd /usr/src/linux | cd /usr/src/linux | ||
− | cp /boot/config-`uname -r` | + | cp /boot/config-`uname -r` .config |
make menuconfig | make menuconfig | ||
Revision as of 14:02, 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 and kernel_headers:
make-kpkg clean fakeroot make-kpkg --initrd --append-to-version=-nfs3-with-acl-support kernel_image kernel_headers
If you downloaded source files for modules (e.g. nvidia, lirc etc.) which are located in /usr/src/modules, then you should add modules_imgae 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