2015-10-01 11 views
5

Ich möchte rt Patches zu Linux hinzufügen, nahm ich 3.18.9 Kernel und 3.18.9-rt4 Patch. Ich kopierte patches-3.18.9-rt4.tar.gz in Linux-Kernel-Ordner. Jetzt habe ich zcat Patches-3.18.9-rt4.tar.gz | ausgeführt patch -p1 Nach der Ausführung dieses Befehls wird für Datei fragen patchen, wie untenWie rt Patches in Linux hinzufügen

|--- a/arch/sparc/Kconfig 
|+++ b/arch/sparc/Kconfig 
-------------------------- 
File to patch: 

Ich möchte gezeigt alle Patches in einem Rutsch hinzuzufügen, Wie kann ich das erreichen?

+1

Ich bin mir ziemlich sicher, dass dies zu http://superuser.com/ gehen sollte - es ist keine Programmierung Frage. Fügen Sie Informationen aus dem Verzeichnis hinzu, in dem Sie den Befehl 'patch' ausführen. Die Option' -p' stimmt hier nicht überein. –

Antwort

5

Das Problem

Die Patch Sie enthält den RT-Patch als eine große Anzahl von separaten Dateien verwenden, in ein tar Archiv gebündelt und dann in eine gz Datei komprimiert. Wenn Sie zcat (oder Freunde) für die Datei ausführen, wird die Datei dekomprimiert und das Ergebnis an patch übergeben.

Da jedoch das Ergebnis nach dem Dekomprimieren Ihrer Patch-Datei ein .tar Archiv ist, ist dies auch, was in patch übergeben wird, was nicht funktionieren wird.

Die einfache Lösung

Verwenden Sie die Single-File-Version des RT-Patch statt, die nur eine komprimierte Datei .patch ist (diese Versionen können durch „Patch -...“ statt genannt anerkannt, von "patches -...", 3.18.9-rt5 kann hier heruntergeladen werden: https://www.kernel.org/pub/linux/kernel/projects/rt/3.18/older/patch-3.18.9-rt5.patch.gz).

Dann folgen Sie den Anweisungen aus dem RT Preempt Howto: (nur passen sie an Ihre eigene Kernel-Version/Kompressionsformat)

Patchen des Kernels

Nach dem Download entpacken Sie die Kernel-Tarball und wechseln Sie in das Kernel-Quellverzeichnis. Patch den Kernel mit Patch-Ebene p1:

tar xfj linux-2.6.23.1.tar.bz2 
cd linux-2.6.23.1 
bzcat ../patch-2.6.23.1-rt11.bz2 | patch -p1 
+2

Ah, habe das '.tar.gz' zuerst übersehen. Vielleicht hinzufügen * warum * es funktioniert nicht: '.tar' ist ein Archiv von mehreren Dateien und' zcat'/'bzcat'/... sind nur zum Entpacken einer einzigen Datei. –

+0

Jetzt hinzugefügt - Danke für den Hinweis! – sonicwave

+0

Danke, Problem wurde gelöst – anikhan