Pourquoi modinfo dit "impossible de trouver le module", alors que lsmod prétend que le module est chargé?

9

Selon la page de manuel de lsmodla commande, "quels modules du noyau sont actuellement chargés".

J'ai écrit un script qui utilise modinfopour montrer quels fichiers d'objet noyau (.ko) sont réellement utilisés:

#!/bin/sh
for i in `lsmod | awk '{print $1}' | sed -n '1!p'`; do
echo "###############################$i###############################"
echo ""
modinfo $i
echo ""
echo ""
done

Maintenant, j'ai découvert que modinfo nvidiamontre la sortie suivante:

ERROR: modinfo: could not find module nvidia

Avez-vous des explications à cela?

JohnnyFromBF
la source

Réponses:

10

Votre nvidiamodule est parfaitement chargé et fonctionne. Le problème réside dans modinfo.

modinforécupérer la liste des modules connus en lisant les /lib/modules/$(uname -r)/modules.*fichiers, qui sont généralement mis à jour avec depmod.

Si depmod -an'a pas été exécuté après l'installation du nvidiamodule, alors modinfone le sait pas. Cela n'empêche personne de charger le module avec insmodet lsmodl'affichera très bien s'il est chargé.

BatchyX
la source
J'ai exécuté sudo depmod -a mais modinfo ne connaît toujours pas le module nvidia, mais lsmod le montre. Comment se peut-il?
Hakaishin
@Hakaishin Je suis sur Ubuntu 16.04 avec les pilotes nvidia-410 installés, et il semble que le nom de mon module de noyau soit nvidia_410. Alors essayez modinfo nvidia_410ou similaire.
cheshirekow
0

Si vous avez récemment désinstallé votre pilote nvidia, vous avez peut-être désinstallé le module de votre système, mais il est toujours dans votre initrd. Vous pouvez vérifier ceux qui sont dans votre initrd avec lsinitrd. Ou essayez simplement de réinstaller votre noyau pour voir s'il n'apparaît plus dans lsmod.

drs
la source