Patchen eines Kernels Beipiel

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Geschichte

Man hat früher Kernel aus 2 Gründen gepatcht
  • Man wollte eine Funktion hinzufügen.
  • Man wollte weniger Daten herunterladen.
Beides ist obsolet.

Der alte Weg

Sie haben diesen Kernel

Der kernel liegt entpackt mit tar -C /usr/src -xvzf linux-2.4.14.tar.gz
unter /usr/src/linux#
Sie wollen einen Kermelupdate auf 2.4.15 machen.
Nun haben sie die Möglichkeit den Kompleten 2.4.15 Kernel runter zuladen oder einen Patch auf 2.4.15

Runterladen des Patches

In Kernel Verzeichnis wechseln

  • cd linux

Eine Trockenübung

  • zcat ../patch-2.4.15.gz | patch -p 1 --dry-run

Der Patch

  • zcat ../patch-2.4.15.gz | patch -p 1

Der neue Weg

  • Diese Patches sind nicht inkrementell, das bedeutet, dass beispielsweise der Patch 5.7.3 nicht auf den Patch 5.7.2 angewendet wird.
  • Er wird angewendet auf die Grundversion des Kernel-Quellcodes 5.7.
  • Um den Patch 5.7.3 auf den vorhandenen Kernel-Quellcode 5.7.2 anzuwenden, musst du zuerst den Patch 5.7.2 rückgängig machen.
  • Dann hast du den Ausgangszustand des Kernel-Quellcodes 5.7
  • Auf diesen kann man dann den neuen Patch 5.7.3 anwenden.

Vorgehensweise

Ins Verzeichnis wechseln

  • cd ~/linux-5.7.2

Auf Version 5.7 zurück patchen

  • xzcat ../patch-5.7.2.xz | patch -p1 -R

Auf Version 5.7.3 patchen

  • xzcat ../patch-5.7.3.xz | patch -R
  • cd ..

Verzeichnis umbenennen

  • mv linux-5.7.2 linux-5.7.3

Aufgaben