web-dev-qa-db-fra.com

Comment lister tous les modules du noyau chargeables?

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?

68
UserK
  • 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).

80
jimmij

Tapez modprobe et appuyez sur tab, la liste de saisie semi-automatique doit contenir tous les modules chargeables

10
Martin Hansen

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 , rmmodmodprobe 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).

8
user86041

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.

2
Akendo