kernel bauen - debian

Sven Broeckling sven at broeckling.de
Tue Apr 29 17:25:02 CEST 2003


Hi Patrick,

Patrick Willam wrote:
> Hi *
> 
> In der #debian-FAQ fand ich "2.8 Kernel selbst compilieren - nach
> Debian-Art"
> sinngemaess folgendes:
Ich gehe dabei ein bisschen anders vor, ich schreib dir mal die 
Reihenfolge und in etwa das, was dabei passiert.

0. Voraussetzungen

   kernel-package und alles, was dazugehoert, sollten installiert sein.
   apt-get install kernel-package sollte für die deps reichen. Eventuell
   noch apt-get install libncursesX, wenn die für make menuconfig noch
   fehlt.

1. Kernel Source besorgen, entpacken und in das Verzeichnis wechseln
    die kernel-source Pakete enthalten das tar.bz2, das du nach dem
    herunterladen in /usr/src einfach entpacken kannst. Für alles
    weitere in das nach dem Entpacken entstandene Verzeichnis wechseln.

   $ apt-get install kernel-source-2.4.20
   $ cd /usr/src
   $ tar xfvj kernel-source-2.4.20.tar.bz2
   $ cd kernel-source-2.4.20

2. (Optional) Patches installieren und .config kopieren
    Das mit den Kernel Patches ist iirc erst in testing so (sorry,
    hab hier nur ein testing system). Ist aber an sich recht bequem,
    einfach das .deb mit dem Patch runterladen und das apply-Script
    ausführen. Dabei musst du im Verzeichnis der Kernelsources stehen.

    Die Config würd ich auf jeden Fall kopieren, es sei denn, du willst
    von null anfangen. Die Debian-Kernelpakete haben die config unter
    dem Namen config-kernelversion im /boot Verzeichnis. Die kannste
    einfach unter dem Namen .config ins Kernelsource Verzeichnis
    kopieren.

   $ apt-get install kernel-patch-blah
   $ /usr/src/kernel-patches/all/apply/blah

   Config kopieren :

   $ cp /boot/config-2.4.18-bf2.4 ./.config

3. Kernel mit kernel-package bauen
    Auch aus dem Kernelsource Verzeichnis. --revision gibt deine
    Kernel-Revision an und sollte immer vergeben werden. Ich nehm
    da Rechnername und ne laufende Nummer. Mit --config gibst du
    dein bevorzugtes Kernelconfig Frontend an. Unten raus fällt nach
    der Aktion ein Debian Paket.

   § make-kpkg --revision mobile01 --bzimage --config menuconfig binary
   $ ls
     kernel-image-2.4.20mobile01_i386.deb

4. Kernelimage auf dem Zielsystem installieren

    $ dpkg -i kernel-image-2.4.20mobile01_i386.deb


Nun zu deiner Frage mit dem Aufruf :

wenn du mal mit dpkg --contents in das Paket schaust, siehst du, welche 
Files entpackt werden :

./
./boot/
./boot/config-2.4.20mobile01
./boot/vmlinuz-2.4.20mobile01
./boot/System.map-2.4.20mobile01
./usr/
./usr/share/
./usr/share/doc/
./usr/share/doc/kernel-image-2.4.20mobile01/
./usr/share/doc/kernel-image-2.4.20mobile01/Changes.gz
./usr/share/doc/kernel-image-2.4.20mobile01/copyright
[...]
./usr/share/doc/kernel-image-2.4.20mobile01/README.Debian.1st.gz
./lib/
./lib/modules/
./lib/modules/2.4.20mobile01/
[...]

Das Kernel-Image, die Systemmap und die config werden nach Boot 
entpackt, zudem landen die Module und Doks in den richtigen 
Verzeichnissen. Alles immer passend mit deiner Revision. Zu der Frage, 
was die Installationsscripte noch so tun: auf jeden Fall deinen Kernel 
im Lilo eintragen und den bisherigen Kernel unter dem label LinuxOLD 
eintragen. Und lilo starten.

Aber ich würds einfach mal ausprobieren. Bei dieser Vorgehensweise 
überlebt dein System auf jeden Fall.

HTH
   Sven

-- 
Sven Broeckling                    /"\
sven at broeckling.de                 \ /  ASCII Ribbon Campaign
http://www.broeckling.de            x   Say NO to HTML in email and news
+49 173 9723208                    / \  Please don't send .doc files





More information about the Linux mailing list