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
Antwort
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
Was zum ...?! Das Thema begann offensichtlich nicht Git (noch). – 0andriy
- 1. Netlogo-Patch von Entfernung von einem bestimmten Patch betroffen
- 2. Patch-Bibliothek von Clojars
- 3. Wie erstelle ich einen Patch für Rietveld von git/patch/*?
- 4. Verwendung von Rückgabewert von Rechteck Patch
- 5. Verwenden von Patch-Dateien mit TFS (Patch-Datei ist von Subversion, Git, etc)
- 6. Ungültige HTTP-Methode: PATCH> Ausführen von PATCH: Verursacht von: feign.RetryableException:
- 7. Drupal anwenden Patch
- 8. Probleme mit Git-Format-Patch/am (Patch nicht zutrifft)
- 9. Patch - Warum funktioniert der Name des relativen Patch-Ziels nicht?
- 10. TortoiseSVN Apply Patch Fehler
- 11. Selbst Patch Cordova Anwendung
- 12. git create patch von unpushed commits
- 13. Entfernen von Datei aus Mercurial MQ Patch
- 14. jQuery PATCH-Anfrage nicht von Marvin.JsonPatch
- 15. Gerrit bekommt Format-Patch von der Kommandozeile?
- 16. git finde doppelte commits (von patch-id)
- 17. Patch von sshuttle firewall.py - IPFW zu PF
- 18. Zuweisen von Turtles zu zufälligem leerem Patch
- 19. Erstellen von Patch-Dateien in Git
- 20. Get Orientation Histogramm von Pixel Patch OpenCV
- 21. ActiveAdmin mit POST anstelle von PATCH/DELETE
- 22. Aktualisieren von Benutzerdetails mit MsGraph API (Patch)
- 23. Interaktiver Patch von externer .diff-Datei
- 24. PATCH-Methode von einer Firewall blockiert?
- 25. Heroku-Routing von HTTP-PATCH-Anfragen
- 26. Override Partial_Update (PATCH DJANGO)
- 27. Swagger und JSON-Patch
- 28. eine PATCH Anfrage
- 29. Patch-Anfrage mit angularjs
- 30. REST API PATCH Anfrage
Haben Sie geklont es von Mainline-Kernel? 'git tag' kann in diesem Fall helfen. –
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
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