2017-01-11 3 views
0

Wenn ich meinen Kernel von 3.10.80 auf 3.16.1 durch Kernel-Source-Patching aktualisieren möchte, was ist der beste Weg, es zu tun? Ich hoffe, dass ich nicht jede Version eins nach dem anderen patchen muss.Kernel-Upgrade von Patch

+0

Haben Sie geklont es von Mainline-Kernel? 'git tag' kann in diesem Fall helfen. –

+0

Hallo SD, ich kann jeden inkrementierten Patch erfolgreich herunterladen und anwenden. Zum Beispiel von 3.10.80 bis 3.10.81. Aber ich frage mich, ob ich das bis 3.16.1 machen sollte? – user4826904

+0

Ich würde die andere Route gehen. Vergleichen Sie meinen benutzerdefinierten Kernel mit der Mainline, um eine eigene Patch-Datei zu erstellen, z. B. 'diff -pruN linux-3.10.80 my_kernel> my_patch'. Dann wenden Sie diesen Patch auf die neue Kernel-Version an. Bereite dich auf Ausbesserungen vor. – sawdust

Antwort

0

Wenn Sie Mainline-Kernel-Baum verwenden (dh Ursprung wird auf git: //git.kernel.org/pub/scm/linux/kernel festgelegt /git/stable/linux-stable.git) dann können Sie Folgendes tun.

Wenn nicht, dann klonen zuerst den Kernel mit,

$ git clone git: //git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable. git

Jetzt sind Sie auf die gewünschte Kernel-Version mittels Tag wechseln können, und wenn Sie die Patches zwischen den beiden Versionen benötigen, gehen Sie vor.

Diff die Änderungen zwischen v3.10.80 und v3.16.1 mit folgenden Verfahren

$ git checkout -b v3.16.1 v3.16.1

$ git checkout -b v3.10.80 v3.10.80

$ git branch 
    master 
* v3.10.80 
    v3.16.1 

Jetzt sind Sie auf v3.10.80, wird der folgende Befehl Patch erstellen jeder zwischen den beiden Versionen begehen.

$ git format-patch v3.16.1 

Wenn Sie einen einzelnen Patch machen wollen,

$ git diff v3.10.80 v3.16.1 -- > v3.10.80_to_v3.16.1.diff 
+0

Was zum ...?! Das Thema begann offensichtlich nicht Git (noch). – 0andriy