Home Zaurus Debian RioUtil Projets Imac Atari mp3 | |
kernel | |
Kernel is a specific part of your Debian GNU/Linux system: it is essential because it handles directly your hardware and provides all the low-level features. Debian has some kernel packages but there are generic and may not fit your needs. Besides that, handling the kernel without packaging may not be a good choice.
Debian provides a tool called make-kpkg that you can find in the kernel-package package. The purpose of this tool is to create debian packages from your custom kernel: headers, sources, images, etc. the bad side of this is the documentation which is not clear at all.
As I have many kernels to compile and use every day I made my custom script handle all that packages. The features are:
For example, if I want to compile a kernel for a machine called miranda, I just have to provide:
It is very simple. First you have to create a working directory anywhere (let's say ~/kernel for example). In that directory you must create or install:
I am not using patches as provided by Debian packages because I am using a lots of patches which are not (and will not be) packaged. The patches are applied with -p1 switch so you may have to adapt them if needed (the patchutils package may be usefull for this task).
To create the revision 2 of 2.4.20 kernel for miranda the instructions are:
tof@chiral:~/work/kernel$ ls -Rl .: total 32 drwxr-sr-x 4 tof tof 4096 2002-12-18 09:56 chiral/ -rw-r--r-- 1 tof tof 2497 2002-12-29 13:50 make-kpkg.sh drwxr-sr-x 2 tof tof 4096 2002-12-29 13:01 kernel/ drwxr-sr-x 2 tof tof 4096 2002-12-14 15:13 modules/ drwxr-sr-x 4 tof tof 4096 2002-12-14 17:53 patches/ ./chiral: total 8 drwxr-sr-x 2 tof tof 4096 2002-12-18 10:05 2.4.19-2/ drwxr-sr-x 2 tof tof 4096 2002-12-15 12:09 2.4.20-1/ ./chiral/2.4.19-2: total 5896 -rw-r--r-- 1 tof tof 25060 2002-11-01 16:42 config -rw-r--r-- 1 tof tof 6410 2002-11-01 18:30 device3dfx-module-2.4.19-chiral.2_chiral.2+2001.07.28_i386.deb -rw-r--r-- 1 tof tof 69240 2002-11-01 18:30 i2c-2.4.19-chiral.2_2.6.4-2+chiral.2_i386.deb -rw-r--r-- 1 tof tof 3968176 2002-11-01 18:30 kernel-headers-2.4.19-chiral.2_chiral.2_i386.deb -rw-r--r-- 1 tof tof 1807846 2002-11-01 18:30 kernel-image-2.4.19-chiral.2_chiral.2_i386.deb -rw-r--r-- 1 tof tof 26 2002-12-14 18:12 list-modules -rw-r--r-- 1 tof tof 101 2002-12-14 17:49 list-patches -rw-r--r-- 1 tof tof 130666 2002-11-01 18:31 lm-sensors-2.4.19-chiral.2_2.6.4-3+chiral.2_i386.deb ./chiral/2.4.20-1: total 2020 -rw-r--r-- 1 tof tof 23636 2002-12-14 21:12 config -rw-r--r-- 1 tof tof 6312 2002-12-14 20:51 device3dfx-module-2.4.20-chiral.1_chiral.1+2001.07.28_i386.deb -rw-r--r-- 1 tof tof 68936 2002-12-14 20:51 i2c-2.4.20-chiral.1_2.6.5-2+chiral.1_i386.deb -rw-r--r-- 1 tof tof 1812774 2002-12-14 20:51 kernel-image-2.4.20-chiral.1_chiral.1_i386.deb -rw-r--r-- 1 tof tof 26 2002-12-14 18:12 list-modules -rw-r--r-- 1 tof tof 101 2002-12-14 17:49 list-patches -rw-r--r-- 1 tof tof 129524 2002-12-14 20:51 lm-sensors-2.4.20-chiral.1_2.6.4-3+chiral.1_i386.deb ./kernel: total 52280 -rw-r--r-- 1 tof tof 26042494 2002-12-29 13:09 linux-2.4.19.tar.bz2 -rw-r--r-- 1 tof tof 27421046 2002-12-14 14:16 linux-2.4.20.tar.bz2 ./modules: total 660 -rw-r--r-- 1 tof tof 18733 2002-12-14 15:13 device3dfx.tar.gz -rw-r--r-- 1 tof tof 132906 2002-12-15 12:11 i2c.tar.gz -rw-r--r-- 1 tof tof 511812 2002-12-14 15:13 lm-sensors.tar.gz ./patches: total 8 drwxr-sr-x 2 tof tof 4096 2002-12-29 12:54 2.4.19/ drwxr-sr-x 2 tof tof 4096 2002-12-14 17:49 2.4.20/ ./patches/2.4.19: total 2028 -rw------- 1 tof tof 1028963 2002-12-14 17:53 uml-patch-2.4.19-37 -rw------- 1 tof tof 1036139 2002-12-29 12:54 uml-patch-2.4.19-45 ./patches/2.4.20: total 212 -rw-r--r-- 1 tof tof 4194 2002-12-14 14:08 ext3_data_journal_unmount_bug.patch -rw-r--r-- 1 tof tof 49314 2002-12-14 16:00 low-latency.patch -rw-r--r-- 1 tof tof 109537 2002-12-14 14:57 lvm-1.0.6.patch -rw-r--r-- 1 tof tof 17733 2002-12-14 18:06 rio.patch -rw------- 1 tof tof 15583 2002-12-14 17:49 uml-host-skas3.patch