Ich suche ein paar Kernelmodule zum laden i2c-dev
und i2c-bcm2708
. Der modprobe
Befehl gibt jedoch Folgendes zurück:
sudo modprobe i2c-dev
modprobe: module i2c-dev not found in modules.dep
Wie kann ich alle verfügbaren Module im System auflisten? In welchem Verzeichnis befinden sie sich?
linux-kernel
kernel-modules
UserK
quelle
quelle
Antworten:
Standardmäßig
modprobe
werden Module aus Unterverzeichnissen geladen, die sich im/lib/modules/$(uname -r)
Verzeichnis befinden. Normalerweise haben alle Dateien die Erweiterung.ko
, sodass Sie sie mit auflisten könnenoder unter Berücksichtigung komprimierter Dateien:
Zum erfolgreichen Laden eines Moduls
modprobe
sind jedoch die in der Datei aufgeführten Abhängigkeiten/lib/modules/$(uname -r)/modules.dep
(und eine entsprechende Binärversionmodules.dep.bin
) erforderlich . Wenn ein Modul im System vorhanden ist, aber nicht in der Liste enthalten ist, sollten Sie einen Befehl ausführen,depmod
der solche Abhängigkeiten erzeugt und Ihr Modul automatisch inmodules.dep
und einbindetmodules.dep.bin
.Wenn das Modul erfolgreich geladen wurde, wird es in der Datei aufgelistet
/proc/modules
(auch über den Befehl erreichbarlsmod
).quelle
find /lib/modules/$(uname -r) -type f -name *.ko*
.gz
*.ko*
wenn Sie in Ihrem aktuellen Verzeichnis eine passende Datei haben. besser, es zwischen einfachen Anführungszeichen zu entkommen:find /lib/modules/$(uname -r) -type f -name '*.ko*'
Geben Sie ein
modprobe
und drücken Sie die Tabulatortaste. Die Autovervollständigungsliste sollte alle ladbaren Module enthaltenquelle
Es gibt das
lsmod
Kommando überkmod
Paket in Arch Linux , was auflistet und zeigt den Status der Linux - Kernel - Module , die andere nützliche Befehle wie enthältmodinfo
,rmmod
modprobe
auch.Um l sind alle Binärdateien von dem Paket zur Verfügung gestellt Sie geben können:
Und Sie können auch für das überprüfen o mit wner Paket eines binären
pacman -Qo lsmod
.Q
switch ist auf q uery lokal installierte pakete (im gegensatzS
zu s ynchronize, dh auf check remote).quelle
lsmod
nur bereits geladene Module angezeigt werden. Der Autor dieses Threads hatte das Problem, ein Modul zu laden, das nicht in der Map der ladbaren Kernelmodule enthalten war. Außerdem gilt diese Lösung nur für Archlinux. Dies ist möglicherweise nicht die Verteilung des Autors und löst möglicherweise das Problem nicht für andere.lsmod
ist zumindest auch auf Ubuntu verfügbar. Ich stimme jedoch zu, dass dies das Problem von OP nicht löst.Ich benutze lieber
depmod
. Mit dem Befehl:depmod -av|grep MOD_NAME
erzeugt Ihr System die modules.dep / map-Dateien und durchsucht sie. Der-v
Parameter ist wichtig für die Ausführlichkeit und-a
um sicherzustellen, dass alle möglichen Module von/lib/modules/
für die modules.dep-Datei verwendet werden.Auf diese Weise kann sichergestellt werden, dass ein angefordertes Kernelmodul dem Kernel als ladbar zugeordnet ist. Wenn das gewünschte Kernelmodul nicht in der Ausgabe aufgeführt ist, wissen Sie, dass der Kernel es nicht findet.
quelle