Ubuntu 15.10 modifiziertes Kernelmodul wird nicht geladen - muss manuell ausgeführt werden

704
Pingers

Ein Modul namens alx, das mein Qualcomm AR8161 Ethernet antreibt, wird beim Booten geladen und ist mit lsmod sichtbar.

Dieses Modul ist fehlerhaft. Ich habe die Patches gefunden, den Quellcode für meinen laufenden Kernel heruntergeladen, die alx / -Dateien gepatcht und, nachdem ich herausgefunden habe, wie, die alx.ko-Moduldatei neu aufgebaut hat. Nachdem ich den alten alx und die modprobe -v meiner neuen Version heruntergeladen hatte, funktionierte ethernet einwandfrei. Hurra! Problem gelöst.

Der Ärger ist, dass, wenn ich mit meinem neuen alx.ko einen direkten Austausch des ursprünglichen alx.ko mache, der alte immer noch beim booten geladen wird? Wenn ich weiterhin alle alx.ko-Dateien vollständig aus / lib / modules entferne, wird das ALX-Modul STILL beim Booten geladen ??? Die Frage ist also: Woher bekommt man sie und wie kann ich stattdessen die Ersatzversion laden (genau derselbe Dateiname)?

Im Moment gebe ich rmmod alx aus; modprobe -v alx beim Booten, aber ich würde es lieber automatisch machen.

0

2 Antworten auf die Frage

0
user2304953

Normalerweise benennt man das neue Modul mit einem etwas anderen Namen, wie zum Beispiel alx_fixed.ko, und listet das Original auf. Eine Anleitung zur Blacklist eines Moduls finden Sie hier. http://linuxconfig.org/how-to-blacklist-a-module-on-ubuntu-debian-linux Wenn Sie das neue Modul in die Datei / lib / modules / Ihre-Kernel-Version / Kernel / drivers / net / gestellt haben Sie müssen den Befehl "sudo depmod -a" ausführen, um die Liste der installierten Module zu aktualisieren.

Ich bezweifle, dass dies für einen Ethernet-Treiber der Fall ist, aber einige Module werden beim Booten geladen, daher müssen Sie möglicherweise auch "update-initramfs" ausführen. https://wiki.ubuntu.com/Initramfs

Woher kommen die Module, obwohl Sie sie gelöscht haben? Welche Kernel-Version laufen Sie? Sind Sie sicher, dass Sie sie aus der richtigen Kernel-Version gelöscht haben? Im Allgemeinen ist das Löschen von Systemdateien eine schlechte Idee, da dies zu einem instabilen System führen kann.

Ich setzte das neue Modul in /lib/modules/4.2.0-27-generic/updates/dkms/ ein und ließ depmod -av | grep alx und update-intramfs -uv | grep alx laufen meine Version des Moduls. Ich habe in den Boot-Logs Folgendes festgestellt: Pingers vor 8 Jahren 0
0
Pingers

Ich habe das neue Modul in /lib/modules/4.2.0-27-generic/updates/dkms/ abgelegt und habe depmod -av | grep alx und update-intramfs -uv | grep alx ausgeführt, um zu überprüfen, dass es nur mein modifiziertes Modul aufnahm Nicht das Original. In den folgenden Boot-Protokollen: alx: Modulprüfung fehlgeschlagen: Signatur und / oder erforderlicher Schlüssel fehlen - Tainting-Kernel, aber es wird trotzdem geladen und Problem gelöst.