Anwenden von Patches auf dem Linux-Kernel - Die Linux-Kernel-Dokumentation

Dieses Dokument ist veraltet. In den meisten Fällen, anstatt manuell mit Patch, werden Sie mit ziemlicher Sicherheit bei Verwendung von Git statt zu suchen.







Eine häufig gestellte Frage auf der Linux Kernel Mailing List ist, wie ein Patch für den Kernel anzuwenden oder, genauer gesagt, welche Basis-Kernel einen Patch für eine der vielen Bäume / Äste sollten angewendet werden. Hoffentlich wird dieses Dokument, dies zu erklären.

Zusätzlich zu erklären, wie Patches anwenden und zufällt, eine kurze Beschreibung der verschiedenen Kernel-Bäume (und Beispiele dafür, wie ihr spezifisches Patches anwenden) ist ebenfalls vorgesehen.

Was ist ein Patch? ¶

Ein Patch ist ein kleines Textdokument ein Delta von Änderungen zwischen zwei verschiedenen Versionen eines Quellbaum enthält. Patches werden mit dem Programm diff erstellt.







So wenden Sie richtig einen Patch Sie müssen wissen, welche Basis wurde erzeugt aus und welche neuen Version der Patch den Quellbaum in verändern. Diese sollen beide vorhanden sein in den Patch-Datei-Metadaten oder möglich sein, aus dem Dateinamen abzuleiten.

Wie kann ich anwenden oder einen Patch wiederherstellen? ¶

Sie wenden einen Patch mit dem Patch-Programm. Das Patch-Programm liest eine Diff (oder Patch-Datei) und macht die Änderungen an den Quellbaum darin beschrieben.

Patches für den Linux-Kernel ist in Bezug auf das übergeordnete Verzeichnis erzeugt die Kernel-Quelle dir halten.

Dies bedeutet, dass Pfade zu Dateien innerhalb der Patch-Datei den Namen der Kernel-Source-Verzeichnisse enthalten sie gegen (oder einige anderen Verzeichnisnamen wie „a /“ und „b /“) erzeugt wurden.

Da dies unwahrscheinlich, dass der Name der Kernel-Quelle dir auf dem lokalen Computer übereinstimmen (aber oft nützliche Informationen zu sehen, welche Version ein ansonsten unmarkierten Patch gegen generiert wurde), sollten Sie Ihr Kernelquellverzeichnis ändern in und dann das erste Element Streifen der Pfad von Dateinamen in der Patch-Datei, wenn es (das -p1 Argument Patch tut dies) Anwendung.

Um einen zuvor angelegten Patch zurückzukehren, verwenden Sie das Argument -R zu patchen. Also, wenn Sie einen Patch wie folgt angewandt:

Sie können (rückgängig machen) zurückkehren es dieses mag:







In Verbindung stehende Artikel