Red Hat Linux 9: Red Hat Linux Handbuch benutzerdefinierter Konfiguration | ||
---|---|---|
Zurück | Anhang A. Erstellen eines benutzerdefinierten Kernels | Vor |
Die Anleitungen in diesem Abschnitt dienen zum Erstellen eines modularen Kernels. Wenn Sie sich für das Erstellen eines monolithischen Kernels interessieren, finden Sie unter Abschnitt A.3 eine Erklärung für die verschiedenen Aspekte beim Erstellen und Installieren eines monolithischen Kernels.
![]() | Anmerkung |
---|---|
In diesem Beispiel wird 2.4.18-7.95 als Kernel-Version verwendet. (Ihre Kernel-Version könnte anders sein). Um Ihre Kernel-Version festzulegen, geben Sie den Befehl uname -r ein und ersetzen Sie 2.4.18-7.95 mit Ihrer Kernel-Version. |
Um einen benutzerdefinierten Kernel für die x86 Architektur zu erstellen (führen Sie alle Schritte als root aus):
Öffnen Sie einen Shell-Prompt, und wechseln Sie zum Verzeichnis /usr/src/linux-2.4/. Ab diesem Zeitpunkt müssen alle Befehle von diesem Verzeichnis ausgeführt werden.
Es ist wichtig, dass Sie vor dem Erstellen eines Kernels sicherstellen, dass sich der Quellcodebaum in einem vordefinierten Zustand befindet. Daher ist es empfehlenswert, dass Sie mit dem Befehl make mrproper beginnen. Auf diese Weise werden alle Konfigurationsdateien zusammen mit allen noch im Quellcodebaum verstreuten Überresten von vorangegangenen Kernelkompilationen entfernt. Wenn Sie bereits eine funktionierende Konfigurationsdatei /usr/src/linux-2.4/.config besitzen, die Sie verwenden möchten, erstellen Sie in einem anderen Verzeichnis eine Sicherungskopie, bevor Sie diesen Befehl ausführen, und kopieren Sie sie wieder zurück, nachdem Sie den Befehl durchgeführt haben.
Es wird empfohlen, die Konfiguration des Red Hat Linux Standard-Kernels als Ausgangspunkt zu verwenden. Hierfür kopieren Sie die Konfigurationsdatei für die Systemarchitektur vom /usr/src/linux-2.4/configs/ Verzeichnis nach /usr/src/linux-2.4/.config. Hat das System mehr als vier Megabyte Speicher, kopieren Sie die Datei mit dem Schlüsselwort bigmem.
Als nächstes können Sie die Einstellungen definieren. Wenn das X Window System verfügbar ist, wird empfohlen, den Befehl make xconfig auszuführen, um Linux Kernel Configuration zu starten.
![]() | Anmerkung |
---|---|
Um das grafische Tool, das mit dem Befehl make xconfig gestartet wurden, verwenden zu können, muss das Paket tk, das den wish Befehl bereitstellt, installiert sein. Weitere Informationen zum Installieren von RPM-Paketen finden Sie unter Teil V. |
Wie in Abbildung A-1 abgebildet, wählen Sie eine zu konfigurierende Kategorie, in dem Sie diese Anklicken. Innerhalb jeder Kategorie befinden sich Komponenten. Wählen Sie y (Ja), m (Modul) oder n (Nein) neben der Komponente, um diese in den Kernel zu kompilieren, dies als Kernelmodul zu kompilieren oder nicht zu kompilieren. Um mehr über die Komponente zu erfahren, klicken Sie auf den Button Hilfe neben der Komponente.
Klicken Sie auf Hauptmenü, um zur Kategorienliste zurückzukehren.
Wenn Sie die Konfiguration abgeschlossen haben, klicken Sie auf den Button Speichern und Beenden im Hauptfenster, um die Konfigurationsdatei zu erstellen /usr/src/linux-2.4/.config und das Programm Linux Kernel Configuration zu beenden.
Auch wenn keine Änderungen an den Einstellungen vorgenommen wurden, ist das Ausführen des make xconfig Befehls (oder einer der anderen Methoden für die Kernelkonfiguration) vor dem Fortfahren erforderlich.
Andere Methoden der Kernelkonfiguration sind u.a.:
make config — Ein interaktives Textprogramm. Komponenten werden im linearen Format dargestellt und nacheinander beantwortet. Diese Methode erfordert nicht das X Window System und Antworten auf vorhergehende Fragen können nicht geändert werden.
make menuconfig — Ein menügesteuertes Programm im Textmodus. Die Komponenten sind in einem in Kategorien eingeteilten Menü aufgeführt. Sie wählen die gewünschten Komponenten so wie im Textmodus des Red Hat Linux-Installationsprogramms. Wählen Sie das Tag, das dem Punkt entspricht, den Sie verwenden möchten: [*] (Eingebaut), [ ] (Ausschließen), <M> (Modul) oder < > (Modulfähig). Für diese Konfigurationsmethode benötigen Sie das X Window System nicht.
make oldconfig — Das ist ein nicht- interaktives Skript, das die Konfigurationsdatei so einrichtet, dass sie die Standardeinstellungen enthält. Wenn Sie den Red Hat Linux -Standardkernel benutzen, wird eine Konfigurationsdatei für den mit Red Hat Linux gelieferten Kernel für Ihre Architektur erstellt. Das ist sehr nützlich um Ihren Kernel auf bekannte und funktionierende Standardwerte einzustellen um danach dann nicht gewünschte Features abzuschalten.
![]() | Anmerkung |
---|---|
Um kmod und Kernelmodule zu verwenden, müssen Sie mit Yes zu kmod support und module version (CONFIG_MODVERSIONS) support während der Konfiguration antworten. |
Nachdem Sie eine /usr/src/linux-2.4/.config-Datei erstellt haben, wählen Sie den Befehl make dep, um alle Abhängigkeiten korrekt einzustellen.
Wählen Sie den Befehl make clean, um den Quellcodebaum für das Bauen des Kernels vorzubereiten.
Es wird empfohlen, dem benutzerdefinierten Kernel, den Sie erstellen, eine geänderte Versionsnummer zu geben, damit Sie den vorhandenen Kernel nicht überschreiben. Die hier beschriebene Methode ist die einfachste im Falle eines Ausrutschers. Wenn Sie an anderen Möglichkeiten interessiert sind, finden Sie Details unter http://www.redhat.com/mirrors/LDP/HOWTO/Kernel-HOWTO.html oder in der Datei Makefile in /usr/src/linux-2.4.
Standardmäßig enthält /usr/src/linux-2.4/Makefile das Wort custom (benutzerdefiniert) am Ende der Zeile, die mit EXTRAVERSION anfängt. Durch das Anfügen der Zeichenfolge können Sie gleichzeitig den alten und den neuen Kernel, Version 2.4.18-7.95custom) auf Ihrem System behalten.
Sie können auch das Datum an das Ende der Zeichenfolge anhängen, um dem Kernel einen "eindeutigen" Namen zu verleihen.
Erstellen Sie den Kernel mit make bzImage.
Erstellen Sie alle konfigurierten Module mit make modules.
Verwenden Sie den Befehl make modules_install um die Kernel-Module zu installieren (auch wenn Sie keine erstellt haben). Beachten Sie den Unterstrich (_) im Befehl. Auf diese Weise werden die Kernel-Module in den Verzeichnispfad /lib/modules/<KERNELVERSION>/kernel/drivers installiert (wobei KERNELVERSION für die in Makefile angegebene Version steht). In diesem Beispiel wäre dies /lib/modules/2.4.18-7.95custom/kernel/drivers/.
Kopieren Sie mit make install den neuen Kernel und die verknüpften Dateien in die entsprechenden Verzeichnisse.
Mit diesem Befehl installieren Sie nicht nur die Kerneldateien in das /boot-Verzeichnis, sondern führen auch das Skript /sbin/new-kernel-pkg aus, das ein neues initrd-Image erstellt und neue Einträge zur Bootloader-Konfigurationsdatei hinzufügt.
Wenn Sie einen SCSI-Adapter haben und den SCSI-Treiber als Modul kompiliert bzw. wenn Sie den Kernel mit ext3-Unterstützung als Modul erstellt haben (Standard in Red Hat Linux), ist das initrd-Image erforderlich.
Sie sollten die Änderungen am initrd-Image und dem Bootloader überprüfen, und sicherstellen, dass die Custom-Version des Kernels anstelle von 2.4.18-7.95 verwendet wird, auch wenn diese automatisch für Sie erstellt wurden. Einzelheiten finden Sie unter Abschnitt 30.5 und Abschnitt 30.6.
Zurück | Zum Anfang | Vor |
Erstellen eines benutzerdefinierten Kernels | Zum Kapitelanfang | Erstellen eines monolithischen Kernels |