Previous Next Up Title

Der Linux Kernel

Der Kernel ist das Herz eines jeden Unices.

Aufgaben des Kernels

Devicedriverstellen eine Schnittstelle auf die Hardware zur verfügung. Kein Prozess kann direkt auf die Hardware zugreifen.
Speichermanagement Jedem Prozess wird ein bestimmter Speicherbereich zugeteilt. Dieser wird vom Kern geschützt, so daß andere Prozesse nicht darauf zugreifen können. Der Kern kann auch virtuellen Speicher bereitstellen (Swappen oder Pagen).
Der Schedulerteilt jedem Prozess je nach Priorität Rechenzeit zu.
Prozesskommunikation erfolgt duch das Verschicken sogenannter Signale
Dateisysteme ermöglichen den einheitlichen Zugriff auf verschiedenste Ressourcen (Everything is a file).
Systemaufrufevermitteln zwischen den Userprogrammen (Userland) und dem Kernelspace.

Kernel compilieren

Die Kernelquellen befinden sich im Verzeichnis /usr/src/linux
      # cd /usr/src/linux
Zunächst wählt man die gewünschte Konfiguration aus
      # make menuconfig
Abhängigkeiten auflösen und alte Objektfiles löschen
      # make dep; make clean
Kernel compilieren
      # make zImage
Kernel ins Hauptverzeichnis kopieren
      # cp arch/i386/boot/zImage /Kern.neu
Nun muss LILO neu konfiguriert werden. Dazu fügt man in der Datei /etc/lilo.conf folgendes hinzu.
      image = /Kern.neu
      root  = /rootpartition
      label = linux.neu
LILO neu installieren
      # lilo
Als letztes muss der Rechner mit dem neuen Kern gebootet werden
      # shutdown -r now

Module compilieren und installieren

Bisher wurde nur der monolithische Teil des Kernels erzeugt.
Module compilieren und installieren
      # cd /usr/src/linux
      # make modules; make modules_install
Dependencies für modprobe auflösen
      # depmod -a
Normalerweise lädt der Kernledämon selbständig alle benötigten Module. Falls ihr doch mal Module von Hand laden oder vor allem entfernen wollt gibt es die Befehle lsmod und modprobe. Alle Module befinden sich im Verzeichnis /lib/modules/Kernelversion/.
# lsmodzeigt alle geladenen Module an
# modprobe -lzeigt alle verfügbaren Module an
# modprobe module.o lädt das Module module.o
# modprobe -r module entfernt das Modul module

Previous Next Up Title
Last modified: Mon Feb 9 14:21:54 1998 by Jose Gracia.