
Ich arbeite am Kernel 2.6.37 und habe einige ladbare statt statische Module erstellt, um den Kernel zu optimieren.
Meine Aufgabe ist es, nach dem Ausführen einer Anwendung ein Modul zu laden, was mir erfolgreich gelingt.
In jedem eingebetteten System modifiziert bei der Systeminitialisierung ein Skript die Module aus einer angegebenen Datei wie etc/modules. Ich habe daher den Modulnamen entfernt, damit er nicht bei der Initialisierung des Dateisystems geladen wird, sondern nach dem Start der Anwendung. Eher so, als hätte sich die Runlevel-Priorität von 35 auf 99 geändert.
Jetzt dauert das Laden meines WLAN-Kernelmoduls 1–2 Sekunden, also habe ich versucht, den Namen des WLAN-Moduls und seine Abhängigkeiten zu entfernen, aber die WLAN-Module werden bei der Initialisierung des Dateisystems geladen. Beim Überprüfen des rcS-Skripts führt das Udev-Skript einen Udevadm-Trigger aus, der das Modul lädt, obwohl dies eigentlich von Modprobe erledigt werden sollte.
/sbin/udevadm-Trigger --subsystem-nomatch=tty --subsystem-nomatch=mem --subsystem-nomatch=vc --subsystem-nomatch=vtconsole --subsystem-nomatch=misc --subsystem-nomatch=dcon --subsystem-nomatch=pci_bus --subsystem-nomatch=Grafik --subsystem-nomatch=Hintergrundbeleuchtung --subsystem-nomatch=video4linux --subsystem-nomatch=Plattform
kann jemand einen Vorschlag machen, wie man das Laden des WLAN-Moduls vermeiden kann?
Antwort1
das ist keine perfekte Antwort auf meine Frage, sondern eher ein Workaround,
ich habe einige Modul-Blacklists erstellt [diese stoppen das automatische Laden bei der Initialisierung des Dateisystems] und Modprobe, nachdem meine Anwendung ausgeführt wurde.
Katze /etc/modprobe.d/blacklist.conf
#Blacklist der Module, deren automatisches Laden gestoppt werden muss
schwarze Liste wl18xx
wenn jemand eine bessere Antwort hat, teilen Sie sie bitte mit.
Danke und Grüße, GBiradar