Je recherche quelques modules du noyau pour charger i2c-dev
et i2c-bcm2708
. Mais la commande modprobe
renvoie:
Sudo modprobe i2c-dev
modprobe: module i2c-dev not found in modules.dep
Comment lister tous les modules disponibles dans le système? Dans quel répertoire se trouvent-ils?
Par défaut, modprobe
charge les modules à partir des sous-répertoires situés dans le répertoire /lib/modules/$(uname -r)
. Habituellement, tous les fichiers ont l'extension .ko
, Vous pouvez donc les répertorier avec
find /lib/modules/$(uname -r) -type f -name '*.ko'
ou, en tenant compte des fichiers compressés:
find /lib/modules/$(uname -r) -type f -name '*.ko*'
Cependant, pour charger un module avec succès, modprobe
a besoin de ses dépendances répertoriées dans le fichier /lib/modules/$(uname -r)/modules.dep
(et une version binaire correspondante modules.dep.bin
). Si un module est présent sur le système, mais ne figure pas dans la liste, vous devez exécuter une commande depmod
qui générera de telles dépendances et inclura automatiquement votre module dans modules.dep
Et modules.dep.bin
.
De plus, si le module est correctement chargé, il sera répertorié dans le fichier /proc/modules
(Également accessible via la commande lsmod
).
Tapez modprobe
et appuyez sur tab, la liste de saisie semi-automatique doit contenir tous les modules chargeables
Il y a lsmod
commande du package kmod
dans Arch Linux ce qui répertorie et affiche l'état des modules du noyau Linux qui contient d'autres commandes utiles telles que modinfo
, rmmod
modprobe
aussi.
Pour l ist tous les binaires fournis par le package, vous pouvez taper:
pacman -Ql kmod | grep /bin/ --color=always
, et vous pouvez également rechercher le package o wner d'un binaire avec pacman -Qo lsmod
.
Q
le commutateur est à q tous les packages installés localement (contrairement à S
à s ynchronize, ie. vérifier à distance).
Je préfère utiliser depmod
. Avec la commande: depmod -av|grep MOD_NAME
, votre système générera les fichiers modules.dep/map et les exécutera à travers. Le -v
le paramètre est important pour la verbosité et -a
pour vous assurer que tous les modules possibles de /lib/modules/
sont utilisés pour le fichier modules.dep.
De cette façon, il est possible de s'assurer qu'un module de noyau demandé est mappé au noyau comme chargeable. Lorsque le module du noyau de désir n'est pas répertorié dans la sortie, vous savez que le noyau ne le trouvera pas.