SuSE Linux: Alle Versionen
Wie patche ich den Kernel?
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> outfü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
.
/usr/src/linux/scripts/patch-kernel
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!