Kernel 2.6

Aus Debian-Linux - FAQ

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

[bearbeiten] Installation eines Kernel 2.6.x auf einem Debian-System

Man kann verschieden Versionen des Kernels per apt installieren. Aber wer einen Kernel haben will, der optimal auf sein System angepaßt ist, der kommt nicht drumherum den Kernel selbst zu kompilieren.

[bearbeiten] Voraussetzungen

Man benötigt zwingen die neuen modutils , die man mit

apt-get install module-init-tools

installiert. Die module-init-tools sind allerdings (noch?) nicht bei woody dabei. Woody-Benutzer müssen deshalb mit "apt-get install -t testing module-init-tools" installieren.

Die neuen modutils benötigen auch neue Konfigurationsdateien. Diese Datein sind /etc/modprobe.conf (ehemals /etc/modules.conf) und die Dateien im Ordner /etc/modprobe.d (ehemas /etc/modutils). Für das devfs gibt es noch die Datei /etc/modprobe.devfs. In der /etc/modprobe.cond wird allerdings nur /lib/modules/modprobe.conf includiert, die nun unter Debian die eigentliche Konfigurationsdatei für Kernelmodule ist. Änderungen an den Modulen, also alias'e oder Optionen, nimmt man nun in /etc/modprobe.d vor, genauso wie vorher in /etc/modutils. Das heißt, eine Datei anlegen, den alias und gegebenenfalls die benötigten Optionen eintragen. Die Änderungen werden mit update-modules wie früher übernommen.

[bearbeiten] Kernelsourcen laden

Die Kernelsourcen bekommst du wie bisher von kernel.org. Den deutschen mirror findest du unter http://www.de.kernel.org. Und hier ist ein Link auf den aktuellen Kernel 2.6.4. Achtung, das bz2-File hat über 30MB. Als nächstes muß man die Kernelquellen entpacken:

cd /usr/src
tar xjf /path/to/linux-2.6.4.tar.bz2

[bearbeiten] Die Konfiguration

Das ist der langwierigste und schwierigste Schritt (es sei denn man kompiliert auf einem 468 oder so ;)) Der Kernel kann, wie gewohnt mit "make menuconfig" konfigurieren. Auch "make xconfig", das QT-basierte Frontend gibt es weiterhin. Neu dazugekommen ist "make gconfig", welches auf GTK basiert. Obwohl es sehr viele neue Optionen gibt, wirkt die Konfiguration erheblich aufgeräumter als die der Vorgängerversionen.

Man sollte auf keinen Fall vergessen

  • den Prozessortyp einzustellen
  • alle benötigten Dateisysteme wie ext3, reiserfs oder xfs zu aktivieren

sonst könnte es beim reboot böse Überraschungen geben.

  • fuer die meisten User ist es des weiteren Wünschenswert, dass tmpfs und sysfs (muss nicht in jedem fall im Menü auftauchen, da es eigentlich gar nicht deaktiviert werden kann) in den Kernel eingebaut werden. (Für Sysfs, siehe weiter unten)
  • Für die Freunde grafischer Oberflächen ist unterumständen auch das Dateisystem für /dev/pts erforderlich.

Wenn man jeden Menüpunkt durchgeht, können für die erste Konfiguration schnell zwei bis drei Stunden vergehen. Was angesichts der 5Millionen Zeilen Quellcode eigentlich nicht viel ist. Wenn jetzt alles (hoffentlich richtig) konfiguriert ist, kommt nun das eigentliche

[bearbeiten] Kompilieren des Kernels

Den Kernel kann man auf verschiedene Arten kompilieren. Unter Debian gibt es die Möglichkeit den Kernel mit "make-kpkg kernel_image" zu kompilieren. Diese Skript generiert den Kernel und die Module und erstell ein deb-Paket namens "kernel_image.deb". Dieses Paket kann man dann mit "dpkg -i kernel_image.deb" installieren. Zuvor sollte man allerdings noch den Bootloader entsprechend konfigurieren, denn "dpkg -i kernel_image.deb" ruft auf "lilo" auf. Um auf diese Weise den Kernel kompilieren zu können, benörigt man das Paket "kernel-package".

Ich bevorzuge allerdings den Kernel per "make all" zu kompileren und manuell nach /boot zu kopieren. Dabei wird der Kernel und die Module generiert. Dieser Vorgang dauerte auf meinem System (Athlon XP 1,2GHz, 512MB Ram) ca. 11 Minuten. Nun sollte man noch per "make modules_install" die Kernelmodule nach /lib/modules/KERNELVERSION kopieren lassen. Anschließen kopiert man noch den neuen Kernel nach /boot und ruft "lilo" auf. Eventuell muß man noch die Konfiguration von lilo oder grub anpassen.

tux:/usr/src/linux-2.6.4# cp arch/i386/boot/bzImage /boot/vmlinuz.new
tux:/usr/src/linux-2.6.4# cp System.map /boot/System.map.new
tux:/usr/src/linux-2.6.4# lilo
Added Linux *
Added LinuxTEST
Added LinuxORIGINAL
Added LinuxOLD

[bearbeiten] Booten des neuen Kernels

Nun, da der Kernel kopiert ist, kann man den Rechner mit dem neuen Kernel booten. Bei mir muß dazu noch im LILO die Option LinuxTEST ausgewählt werden. Falls der Bootvorgang abbrechen sollte, muß man zurück zur Konfiguration. Die Ausgaben die man auf dem Bildschirm hat, geben meistens Hinweise darauf, was nicht funktioniert. Oft fehlt einfach nur ein Treiber, zum Beispiel die Dateisystemunterstützung für das Root-FS. Wenn der Kernel durchgebooted hat, schaut man sich nochmal die Bootmeldungen an. Per "dmesg | less" kann man sie in aller Ruhe durchgehen. Wenn hier noch Probleme zu erkennen sind, gehts zurück zur Konfiguration um diese zu beheben.

[bearbeiten] Anmerkungen zu den virtuellen Dateisystemen

  • Sysfs ist der Nachfolger des traditionellen Node-Baumes /dev oder auch des bereits obsolet gewordenen /dev-Dateisystemes devfs. Es wird nach /sys gemountet. Es bestehen Zweifel, ob dieses Verzeichnis automatisch angelegt wird, oder ob es vom Benutzer mittels mkdir /sys angelegt werden muss. Daher sollte dies sicherheitshalber erledigt werden.
  • Das pts-Dateisystem wird zum verwalten der virtuellen Konsolen verwendet und muss nach /dev/pts gemountet werden.
  • Das tmpfs ist ab glib in der Version 2.2 noetig. Dies hat etwas mit dem POSIX Shared Memory zu tun. Der Eintrag in der /etc/fstab lautet: "none /dev/shm tmpfs defaults 0 0" und ist wie üblich ohne die Anführungsstriche einzugeben ;)
Persönliche Werkzeuge