Por que o modinfo diz “não foi possível encontrar o módulo”, mas o lsmod afirma que o módulo está carregado?

6

De acordo com a página man do lsmod , o comando mostra "quais módulos do kernel estão atualmente carregados".

Eu escrevi um script que usa modinfo para mostrar quais arquivos de objeto do kernel (.ko) estão em uso:

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

Agora descobri que modinfo nvidia mostra a seguinte saída:

ERROR: modinfo: could not find module nvidia

Vocês tem alguma explicação para isso?

    
por JohnnyFromBF 03.04.2013 / 10:58

2 respostas

10

Seu módulo nvidia está perfeitamente carregado e funcionando. O problema está em modinfo .

modinfo obtém a lista de módulos conhecidos lendo os arquivos /lib/modules/$(uname -r)/modules.* , que geralmente são atualizados com depmod .

Se depmod -a não foi executado após a instalação do módulo nvidia , modinfo não sabe disso. Isso não impede que alguém carregue o módulo com insmod e lsmod mostrará bem se carregado.

    
por 03.04.2013 / 12:35
0

Se você recentemente desinstalou seu driver nvidia, você pode ter desinstalado o módulo do seu sistema, mas ele ainda está no seu initrd. Você pode verificar quais estão no seu initrd com lsinitrd . Ou apenas tente reinstalar seu kernel para ver se ele não aparece mais em lsmod .

    
por 19.04.2013 / 03:07