Warum sagt modinfo "Modul konnte nicht gefunden werden", lsmod behauptet jedoch, dass das Modul geladen ist?

9

Laut Manpage des lsmodBefehls wird angezeigt, welche Kernelmodule aktuell geladen sind.

Ich habe ein Skript geschrieben, das modinfozeigt, welche Kernel-Objektdateien (.ko) tatsächlich verwendet werden:

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

Jetzt habe ich herausgefunden, dass modinfo nvidiadie folgende Ausgabe zeigt:

ERROR: modinfo: could not find module nvidia

Habt ihr eine Erklärung dafür?

JohnnyFromBF
quelle

Antworten:

10

Ihr nvidiaModul ist perfekt geladen und funktioniert. Das Problem liegt in modinfo.

modinfoRufen Sie die Liste der bekannten Module ab, indem Sie die /lib/modules/$(uname -r)/modules.*Dateien lesen , mit denen normalerweise aktualisiert wird depmod.

Wenn depmod -aes nach der Installation des nvidiaModuls modinfonicht ausgeführt wurde, weiß es nichts darüber. Dies hindert niemanden daran, das Modul mit zu laden, insmodund lsmodzeigt es gut an, wenn es geladen wird.

BatchyX
quelle
Ich habe sudo depmod -a ausgeführt, aber modinfo weiß immer noch nichts über das nvidia-Modul, aber lsmod zeigt es. Wie kann das sein?
Hakaishin
@ Hakaishin Ich bin auf Ubuntu 16.04 mit den installierten NVIDIA-410-Treibern und es scheint, dass der Name meines Kernelmoduls lautet nvidia_410. Also versuchen Sie es modinfo nvidia_410oder ähnliches.
Cheshirekow
0

Wenn Sie kürzlich Ihren nvidia-Treiber deinstalliert haben, haben Sie das Modul möglicherweise von Ihrem System deinstalliert, aber es befindet sich immer noch in Ihrer initrd. Sie können überprüfen, welche in Ihrer initrd mit sind lsinitrd. Oder versuchen Sie einfach, Ihren Kernel neu zu installieren, um festzustellen, ob er nicht mehr angezeigt wird lsmod.

drs
quelle