/# lic netwOrk | loginclub How To "Kompilieren und Installieren eines neuen Linux Kernels"

How To . . .

[1] Download
Als erstes muss der Source-Code fuer den Kernel heruntergeladen werden.
Die aktuellesten Kernel (und auch unstable Kernel) findet ihr auf


[2] Entpacken
Danach kopiert ihr das Archiv am besten nach /usr/src und entpackt es dort.

root@localhost /usr/src/ $ tar xzfv archivname.tar.gz

oder

root@localhost /usr/src/ $ tar xvfj archivname.tar.bz2

und benennt es um.

root@localhost /usr/src/ $ mv linux-2.x.xx linux


[3] Konfiguration
Nachdem ihr eueren Kernel entpackt und umbenannt habt wechselt ihr in das Verzeichnis 'linux'.
Zur Konfiguration eures Kernels habt ihr drei Moeglichkeiten.

root@localhost /usr/src/linux/ $ make config

Ein dialogbasiertes Konfigurationsscript. Nicht zu empfehlen,
da es sehr unuebersichtlich ist.

root@localhost /usr/src/linux/ $ make menuconf

Von mir bevorzugte Variante, die ein grafisches Menue in einer Konsole zu bieten hat.
Module mit einem '*' gezeichnet sind fest im Kernel implementiert.
Module mit einem 'M' werden als ladbare Module kompiliert,
make menuconfig benoetigt die ncurses-Bibliothek.

root@localhost /usr/Src/linux/ $ make xconfig

Grafische Konfiguration des Kernels. Benoetigt Tcl/Tk.

Es ist empfehlenswert, nur die Kernelmodule zu kompilieren,
die auch wirklich benoetigt werden.'lspci' und 'dmesg' sollten dabei behilflich.
Die Konfigurationsdatei wird beim beenden nach '/usr/src/linux/.config' gespeichert.


[4] Kompilieren des Kernels
Die naechsten 5 Befehle muessen lediglich eingegeben werden und beduerfen keiner weiteren Erlaeuterung.

root@localhost /usr/src/linux/ $ make dep
root@localhost /usr/src/linux/ $ make clean
root@localhost /usr/src/linux/ $ make bzImage
root@localhost /usr/src/linux/ $ make modules
root@localhost /usr/src/linux/ $ make modules_install



[5] Installation des Kernels
Bevor der neue Kernel benutzt werden kann,
machen wir ein Backup des alten Kernels.

root@localhost /usr/src/linux/ $ cp /vmlinuz /vmlinuz.old
root@localhost /usr/src/linux/ $ cp /boot/map /boot/map.old


Danach kopieren wir neuen Kernel an die Stelle des alten.

root@localhost /usr/src/linux/ $ cp arch/i386/boot/bzImage /vmlinuz
root@localhost /usr/src/linux/ $ cp System.map /boot/map


Danach muessen wir noch unsere /etc/lilo.conf editieren,
dass wir den neuen, sowie den alten Kernel wahlweise booten koennen.
Es muessen folgende Zeilen eingefuegt werden:

-[snip]-

# Neuer Kernel
image = /vmlinuz
label = neuer_kernel

# Backup-Kernel:
image = /vmlinuz.old
label = alter_kernel


-[snip]-

Danach noch

root@localhost /usr/src/linux/ $ /sbin/lilo

und das System kann mit neuem Kernel neugestartet werden.

root@localhost /usr/src/linux/ $ shutdown -r now

Sollten irgendwelche Probleme auftreten,
so gibt die /var/log/messages aufschluss darueber.


[6] Resources/Links
Linux-Kernel Source: http://kernel.org
Debian:
http://debian.org