Login
Newsletter
Werbung

Do, 9. März 2000, 00:00

Kernel-Tips zur Version 2.2

Der Download:

Es gibt zwei Möglichkeiten, den Kernel zu beziehen:

  1. Die vollen Sourcen:
    Entweder findet man sie auf CDs oder man bezieht sie aus dem Internet: Die Quellen des 2.2er-Kernels findet man z.B. auf ftp://ftp.de.kernel.org/pub/linux/kernel/v2.2/ Die Datei heißt entweder linux-2.2.*.tar.gz, wenn sie mit gzip gepackt wurde, oder linux-2.2.*.tar.bz2, wenn sie mit bzip2 gepackt wurde. Es empfiehlt sich, wenn man bzip2 installiert hat, dass man die bz2-Datei herunterlädt, denn diese ist um mehrere Megabyte kleiner.
  2. Den Patch:
    Den Patch kann man genauso bekommen wie die vollen Sourcen. Die Patch-Dateien heißen patch-2.2.*.gz oder patch-2.2.*.bz2. Diese Patches kann man aber nur verwenden, wenn man die vorhergegangene Version des Kernels hat. Man kann es mit einem Upgrade vergleichen.

Vor der Installation

Den alten Kernel und System.map sichern.

Man wechselt in das Verzeichnis, in dem der Kernel ist, z.B. cd /boot/. Dann muss man den alten Kernel sichern, für den Fall, daß etwas mit dem neuen nicht stimmt.

mv vmlinuz vmlinuz.old

Damit die Sicherung komplett ist, sollte auch noch die System.map gesichert werden.

LILO konfigurieren

Falls LILO verwendet wird, den gesicherten Kernel in lilo.conf eintragen. Tragen Sie dazu folgende Zeilen am Ende von /etc/lilo.conf ein. Hier wird /boot/ als Kernel-Verzeichnis genommen. Bitte beachten Sie, das richtige Verzeichnis zu benutzen. Und tragen Sie auch die richtige Root-Partition bei root= ein (hier wird /dev/hdb4 benutzt).

#Eintrag fuer alten Kernel:
image = /boot/vmlinuz.old
 root = /dev/hdb4
 label = old

Initialisieren Sie LILO noch NICHT neu.

Entpacken der vollen Sourcen

cp linux-2.2.*.tar.* /usr/src
cd /usr/src
mv linux linux.old
tar xvfz linux-2.2.*.tar.gz

Kopieren Sie das Archiv des Linux-Kernels nach /usr/src/. Wechseln Sie nach /usr/src/ Entfernen Sie das aktuelle Verzeichnis linux. Falls es ein Symlink ist, kann man ihn löschen. Ist es jedoch ein Verzeichnis, empfiehlt sich, es umzubenennen. Entpacken Sie nun die Sourcen mit tar. Haben Sie das bzip2-Archiv, dann sind die Optionen xvfz durch xvfj zu ersetzen (bei älteren tar-Versionen xvfI oder xvfy).

Installation der Patches

cp patch-2.2.* /usr/src
cd /usr/src
zcat patch-2.2.*.gz | patch -p0 -s -E

Kopieren Sie den Patch nach /usr/src/. Wechseln Sie nach /usr/src/ Installieren Sie den Patch. Haben Sie eine bzip2-Datei, dann verwenden Sie bzcat (oder bz2cat) statt zcat. Zur Sicherheit sollten Sie aber vorher eine Sicherungskopie des Verzeichnisbaumes anlegen, denn es kann ja mal etwas schief gehen und der Kernel läßt sich später nicht mehr richtig compilieren. Zwar können Sie den Patch auch rückgängig machen:

patch -p0 -s < config.in.rej

aber auch das kann schiefgehen. Eine Möglichkeit, den ganzen Patch rückgängig zu machen, gibt es auch noch, indem man einfach ein -R als Parameter anfügt. Doch aus das kann scheitern.

Abarbeiten der Datei Changes

Sie müssen erst einmal in das Verzeichnis /usr/src/linux/Documentation wechseln. In der Datei Changes stehen eine Reihe von Versionsnummern von Programmen, die der Kernel benötigt. Sie müssen nun die Programme updaten, wenn nötig. Natürlich nicht alle, es ist unnötig, LOADLIN zu updaten, wenn Sie nicht mit LOADLIN booten. Woher Sie die Programme bekommen, steht auch in der Changes-Datei.

Kernel konfigurieren

Wenn dann die Programme auf die gewünschte Version aktualisiert wurden, geht es daran, den Kernel zu konfigurieren. Wechseln Sie zunächst in das Kernel-Verzeichnis (cd /usr/src/linux). Es gibt drei Befehle, die verschiedene Oberflächen zur Konfiguration bieten:

  • make config: Die älteste Methode. Hier wird jeder Treiber einzeln abgefragt. Mit zunehmender Zahl von Treibern wird diese Methode immer zeitaufwendiger.
  • make menuconfig: Das basiert auch auf dem Textmodus. Jedoch ist es menügesteuert und bunt.
  • make xconfig: Das ist eine X-Window-Applikation.

Ich empfehle, make xconfig zu benutzen, da dieses mittlerweile übersichtlicher ist. Manchmal verrutschen Teile des Fensters. Dann sollten Sie make menuconfig benutzen. Hier stehen dann folgende Untermenüs zur Verfügung:

Menüeintrag Bedeutung
Code maturity level options Hier wird bestimmt, ob experimentelle Treiber zur Auswahl stehen sollen.
Processor type and features Hier werden Prozessor-spezifische Einstellungen gemacht.
Loadable module support Hier können Einstellungen für die Kernel-Module gemacht werden. Kernel-Module sind Treiber, die während der Laufzeit zum Kernel zugegeben oder weggenommen werden können. Wenn Sie in diesem SubMenu Kernel module loader wählen, werden Module automatisch geladen, wenn sie gebraucht werden (das ist vorteilhaft).
General setup Für die generellen Kernel-Einstellungen
Plug and Play support Einstellungen für die Unterstützung von Plug&Play
Block Devices Einstellungen für Block-Geräte (Festplatte, CD-ROM, Floppy,...)
Networking options Einstellungen für das Netzwerk
Telephony Support Einstellungen für die Telephonie-Unterstützung
SCSI support Einstellungen für SCSI
Network Device support Einstellungen für die zu unterstützenden Netzwerk-Geräte und Interfaces
Amateur Radio support Alle Einstellungen spezifisch für Amateurfunk
IrDA subsystem support Einstellungen für Infrarot-Schnittstellen
ISDN subsystem Einstellungen für ISDN-Protokolle, ISDN-Karten...
Old CD-ROM drivers Einstellungen für nicht IDE/SCSI-CD-ROM-Laufwerke
Character devices Einstellungen für Drucker, Maus, Joystick, ...
Filesystems Festlegungen der zu unterstützenden Dateisysteme oder Partitionstabellentypen
Console drivers Verschiedene Treiber für den Textmodus
Sound Soundunterstützung
Kernel hacking Sehr nützlich, um in das (auch abgetürzte) System einzugreifen... es z.B. beenden

Verlassen Sie das Programm und speichern Sie die Konfiguration.

Editieren Sie Makefile. In etwa der 70. Zeile befindet eine Zeile wie #install_path=/boot. Entfernen Sie das # und tragen Sie den Pfad ein, wo der Kernel installiert werden soll. Speichern Sie ab, und beenden Sie den Editor.

Kommentare (Insgesamt: 0 )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung