7.1. Kernel#

Der Linux-Kernel ist der Kern Ihres Betriebssystems. Er verwaltet Hardwareressourcen wie Prozessoren, Speicher und Geräte und ermöglicht die Kommunikation zwischen Softwareanwendungen und Hardware.

Als Systemadministrator konfigurieren Sie den Kernel, um Ihre Hardware zu unterstützen und die Systemleistung zu optimieren. Dieser Abschnitt erklärt Kernel-Pakete, Kernel-Versionen und Kernel-Module und zeigt Ihnen, wie Sie Treiber und benutzerdefinierte Kernel-Funktionalität in Nubus für UCS verwalten.

7.1.1. Kernel-Pakete#

Die UCS Release Notes enthalten Informationen zur Standardkernel-Version für jede Nubus für UCS Minor Version. Die Release Notes dokumentieren die verwendete Kernel-Version ab dem anfänglichen Patch-Level -0. In der Regel benötigt ein Nubus für UCS-System nur ein installiertes Kernel-Image-Paket. Nubus für UCS verwendet die folgenden Arten von Kernel-Paketen:

Kernel-Image Paket

Ein Kernel-Image Paket stellt einen ausführbaren Kernel bereit, den Sie installieren und ausführen können.

Kernel-Quelltext Paket

Ein Kernel-Quelltext Paket stellt Kernel-Quellcode bereit. Damit können Sie einen benutzerdefinierten Kernel erstellen und Funktionen aktivieren oder deaktivieren.

Kernel-Header Paket

Ein Kernel-Header Paket stellt die Schnittstellendefinitionen bereit, die externe Software benötigt, um auf Kernel-Funktionen zuzugreifen. Dies benötigen Sie zum Kompilieren externer Kernel-Treiber.

7.1.2. Versionsverwaltung#

Sie können mehrere Kernel-Versionen parallel installieren. Dies stellt sicher, dass Sie immer eine ältere Version verfügbar haben, falls Sie nach einem Fehler zurückkehren müssen. Univention stellt Meta-Pakete bereit, die immer auf die empfohlene Kernel-Version für Nubus für UCS verweisen. Wenn Sie das System aktualisieren, installiert das System die neue Kernel-Version automatisch und hält Ihr System auf dem aktuellen Stand.

7.1.3. Kernel-Module und Treiber#

Der Kernel verwendet Module und Treiber zur Kommunikation mit Hardware und zur Aktivierung von Systemfunktionalität. Dieser Abschnitt erläutert, wie der Start-Prozess Treiber lädt, wie Sie zusätzliche Kernel-Module konfigurieren, und wie Sie externe Treiber in Ihr System integrieren.

7.1.3.1. Boot-Prozess und Laden von Treibern#

Der Boot-Prozess besteht aus mehreren Stufen. Der Bootloader lädt den Kernel und ein initiales RAM-Laufwerk, kurz initrd, in den Arbeitsspeicher. Das initrd ist ein komprimiertes Archiv mit wesentlichen Treibern und Programmen.

Das System entpackt und bindet dann das initrd-Archiv als temporäres Root-Dateisystem ein. In dieser temporären Umgebung initialisiert das System die Hardware, lädt bei Bedarf zusätzliche Treiber und findet das echte Root-Dateisystem auf der Festplatte. Nach dem Einbinden des echten Root-Dateisystems wechselt das System zu diesem und entfernt das temporäre initrd aus dem Speicher.

Der Boot-Manager übernimmt die erste Stufe beim Laden des Kernels und initrd. Weitere Informationen über den Boot-Manager finden Sie unter Boot-Manager.

7.1.3.2. Automatische Treiberkennung#

Der udev-Dienst erkennt und verwaltet Hardwaregeräte automatisch während des Systemstarts. Er lädt Treiber und erstellt Gerätedateien im /dev/-Verzeichnis, damit Sie auf die Hardware zugreifen können. Wenn das System die benötigten Treiber nicht erkennt, können Sie Kernel-Module über die UCR-Variable kernel/modules aktivieren. Dies kann vorkommen, wenn Hardwarehersteller Hardware-IDs nicht registriert haben. Verwenden Sie die UCR-Variable kernel/blacklist, um bestimmte Kernel-Module zu verhindern, dass sie automatisch geladen werden. Für beide Variablen werden mehrere Einträge durch ein Semikolon getrennt.

7.1.3.3. Standard- und externe Treiber#

Der Linux-Kernel enthält Treiber für die meiste Standard-Hardware. Das bedeutet, dass Sie in der Regel keine externe Treiberinstallation für Standard-Hardware benötigen. Allerdings benötigen spezialisierte Hardware oder neuere Geräte möglicherweise externe Treiber oder Firmware.

7.1.3.4. Externe Treiber und DKMS#

Wenn Sie externe Treiber oder Kernel-Module benötigen, können Sie diese über das DKMS-Framework (Dynamic Kernel Module Support) integrieren. DKMS stellt eine standardisierte Schnittstelle für Kernel-Quellen bereit und erstellt diese automatisch für jeden installierten Kernel. Das Quellpaket muss mit dem Kernel kompatibel sein. Externe Kernel-Module sind nicht mit allen Kernel-Versionen kompatibel.

Um DKMS zu verwenden, benötigen Sie:

  • Root-Berechtigungen auf dem System.

  • Das Kernel-Header-Paket linux-headers-amd64.

  • Das dkms-Paket.

  • Einen C-Compiler und Build-Tools, normalerweise automatisch als Abhängigkeiten installiert.