Anwenden von Kernel-Patches

Supportdatenbank (kernelpatch)
Bezieht sich auf

SuSE Linux: Alle Versionen

Frage:

Wie patche ich den Kernel?

Antwort:

Im folgenden Beispiel wollen wir den Kernel 2.0.28 auf 2.0.29 patchen. Voraussetzung ist natürlich das Vorhandensein des 2.0.28er Quellbaums sowie des 2.0.29er Patches.

1. Möglichkeit:
Wechseln Sie in das Verzeichnis /usr/src/linux-2.0.28 und geben Sie dann für einen (mit gzip) komprimierten Patch folgenden Befehl ein:

        cd /usr/src/linux-2.0.28
        zcat /tmp/patch-2.0.29.gz | patch -p1 2> out
für einen mit bzip2 komprimierten Patch geben Sie folgenden Befehl ein:
	cd /usr/src/linux-2.0.28
	bunzip2 -cd patch-2.0.29.bz2 | patch -p1 2> out

Entsprechend gehen Sie auch vor, wenn Sie die SuSE-Patches von ftp.suse.com applizieren wollen; Beispiel:

        cd /usr/src/linux-2.0.33
        zcat /tmp/suse-2.0.33.gz | patch -p1 2> out

Überprüfen Sie in beiden Fällen die Datei "out" auf etwaige Fehlermeldungen.

Für einen unkomprimierten Patch lautet der Befehl entsprechend:

        patch -p1 < /tmp/patch-2.0.29 2> out

Der Parameter -p ist sehr wichtig! Er gibt an, wieviele Teile des Pfades, von dem aus der Patch erstellt wurde, entfernt werden sollen. Befinden Sie sich z.B. im Verzeichnis /usr/src, so könnten Sie als Parameter einfach auch -p0 angeben. Da man aber häufig mehrere Kernelversionen parallel hält, ist es empfehlenswert, in das gewünschte Verzeichnis zu wechseln und den Patch mit -p1 anzuwenden, um sicherzustellen, daß der richtige Quellbaum gepatcht wird. -- Näheres dazu siehe auch in der Manpage zu patch.

2. Möglichkeit:
Sie verwenden das bei aktuellen Kernel-Sourcen mitgelieferte Skript patch-kernel.

Jetzt werden alle Patches ausgeführt, die sich in diesem Verzeichnis befinden, solange sie aufeinanderfolgend sind. Es wird auch automatisch beim richtigen Patch begonnen. Das Skript kann mit den meisten gepackten Patches (gz, bz2 usw.) umgehen.

Allgemeines:
Wenn Sie einen Kernel 2.0.0 auf 2.0.29 patchen möchten, so müssen Sie nacheinander alle Patches von patch-2.0.1.gz bis patch-2.0.29.gz anwenden!

Nach dem Patchen des Kernels muß dieser konfiguriert, kompiliert und installiert werden, wie im Kernel-Kapitel des Handbuch beschrieben. Vergessen Sie die Module nicht!


Siehe auch:
o lx_suse: der von SuSE aufbereitete Kernel

Stichwörter: KERNEL, PATCH

Kategorien: Kernel

SDB-kernelpatch, Copyright SuSE Linux AG, Nürnberg, Germany - Version: 10. Feb 1998
SuSE Linux AG - Zuletzt generiert: 07. Mai 2002 von sdb (sdb_gen 1.40.0)