Wenden Sie den Kernel-Patch an, um den PIC-Modus zu unterstützen

Wenden Sie den Kernel-Patch an, um den PIC-Modus zu unterstützen

Ich erhalte eine Fehlermeldung, wenn ich versuche, Treiber für einen TP Link AC 600 unter Kali Linux zu kompilieren amd64 4.7.0 gcc 5.4.1 Debian 5.4.1-3.

Der Fehler lautet „Fehlercode-Modellkernel unterstützt PIC-Modus nicht“

Nach einigem Herumstöbern fand ich jemanden, der ähnliche Probleme hatte, und jemand hatte einen Patch gepostet.

Wie und wo wende ich das Pflaster an?

Hier ist der andere Link:Kernel kann nicht kompiliert werden: Fehler, Kernel unterstützt den PIC-Modus nicht

Antwort1

Was Ubuntu- und Intel-Treiber betrifft, hat Intel seine Treiber nur für LTS-Versionen von Ubuntu getestet (siehe Antwort von Todd Fujinaka). Sie müssen also Ubuntu von 16.10 auf 16.04.1 LTS downgraden (Neuinstallation unter Beibehaltung/home).

Für alle anderen Debian-basierten Distributionen wie Kali gilt das Gleiche: Sie müssen auf eine Version downgraden (d. h. neu installieren), die vom Treiberanbieter ausdrücklich unterstützt wird. Eine Version vor dem gcc PIC-Zeug.

Das ist vielleicht keine angenehme Antwort, aber technisch gesehen ist sie korrekt. Wenn Sie selbst kein Kernel-Entwickler sind, können Sie sich nur auf einer Kernel-Mailingliste melden und sehr höflich fragen, ob ein Entwickler am Treibercode arbeiten kann. Manchmal funktioniert das, aber seien Sie geduldig.

Antwort2

Das Anwenden eines Patches ist sehr einfach. Vorausgesetzt, Sie haben das Kernel-Verzeichnis und die Patch-Datei wie folgt:

- /usr/src/kernels (or where you have the kernel directory)
---- /user/src/kernels/kernel_directory
---- /user/src/kernels/patch_file

Je nachdem, in welchem ​​Format Sie den Patch hatten (normalerweise .gz, .bz2 oder .xz), müssen Sie einen anderen Befehl verwenden, um ihn zu extrahieren. Sie müssen in gehen kernel_directoryund den nächsten Befehl ausführen:

gzip -cd ../patch_file | patch -p1- Dies für einen Gzip-Patch

bzip2 -cd ../patch_file | patch -p1- Dies für einen BZIP-Patch

xz -cd ../patch_file | patch -p1- Dies für einen xz-Patch

Dadurch wird die Patchdatei /usr/src/kernels/patch_fileim Kernel angewendet /usr/src/kernels/kernel_directory. Sie müssen zuerst dorthin navigieren /usr/src/kernels/kernel_directoryund den Befehl von dort aus ausführen.

Denken Sie daran, eine Kopie des Kernel-Verzeichnisses zu erstellen, damit Sie den Vorgang mit einer Kopie des Kernels im Backup durchführen und ihn problemlos wiederherstellen können.

HINWEIS: Dies ist nur der Vorgang zum Anwenden des Patches. Vorausgesetzt, Sie verwenden den richtigen Patch für Ihren Kernel, sollte es zu keinen Fehlern kommen. Sie benötigen die Patch-Datei, wie die offizielle des Kernels.

verwandte Informationen