On Thursday 7 January 1999, at 22 h 18, the keyboard of Mario Bertrand
<mbert@cam.org> wrote:
> traditionnelle avec make dep et compagnie, mais boff, j'aimerais mieux
> pouvoir continuer d'utilisé make-kpkg comme méthode de compilation. Est-ce que
> quelqu'un aurait une idée? Voici les erreurs:
Ça tombe bien, je viens d'écrire la doc pour slink :-)
8.3. Compiling a New Kernel
----------------------------
Why would someone wants to compile a new kernel? It is often not
necessary since the default kernel shipped with Debian handles most
configurations. However, it is useful to compile a new kernel in order
to:
* handle peculiar hardware
* optimize the kernel by removing useless drivers, which speeds up
boot time and makes the kernel size smaller (kernel memory cannot
be swapped to disk)
* use options of the kernel which are not supported by the default
kernel (such as network firewalling)
* run a development kernel
* impress your friends, try new things
Don't be afraid to try compiling the kernel. It's fun and profitable.
To compile a kernel the Debian way, you need some packages:
`kernel-package', `kernel-source-2.0.35' (the most recent version at
the time of this writing), `fakeroot' and a few others which are
probably already installed. Note that you don't _have_ to compile your
kernel the ``Debian way''; but we find that using the packaging system
to manage your kernel is actually safer and easier. In fact, you can
get your kernel sources right from Linus, and you don't have to use
the `kernel-source-2.0.35' to get your kernel sources.
Hereafter, we'll assume your kernel source is located in
`/usr/local/src' and we that your kernel version is 2.0.35. Change
your directory to where you want to unpack the kernel sources (`cd
/usr/local/src'), extract the kernel sources (`tar xzf
/usr/src/kernel-source-2.0.35.tar.gz'), change your directory to it
(`cd kernel-source-2.0.35'). Now, you can configure your kernel (`make
xconfig' if X11 is installed and configured, `make menuconfig'
otherwise). Take the time to read the online help and choose
carefully. When in doubt, it is typically better to include the option
you hesitate on. Clean the source tree, just in case (`make-kpkg
clean' but if you get a "command not found" while you are sure that is
installed, try `/usr/sbin/make-kpkg clean').
Now, compile the kernel: `fakeroot /usr/sbin/make-kpkg
--revision=custom.1.0 kernel_image'. Of course, the version number of
1.0 can be changed at will; this is just a version number that you
will use to track your kernel builds. Once the compilation is
complete, you can install your custom kernel like any package: `dpkg
-i ../kernel-image-2.0.35_1.0_i386.deb'. This step will install the
kernel, along with some other nice supporting information. For
instance, the `System.map' will be properly installed (helpful for
debugging kernel problem), and `/boot/config-2.0.35' will be
installed, containing your current configuration set. Your new
`kernel-image-2.0.35' package is also clever enough to automatically
use `lilo' to update the kernel image information allowing you to
boot, so there's no need to re-run `lilo'.
It is time to reboot the system: read carefully any warning that the
above step may have produced, then `shutdown -r now'.
For more information on `kernel-package', read
`/usr/doc/kernel-package'.