Mengapa modinfo mengatakan "tidak dapat menemukan modul", namun lsmod mengklaim modul tersebut dimuat?


9

Menurut halaman lsmodmanual dari perintah ini menunjukkan "modul kernel apa yang saat ini dimuat".

Saya menulis sebuah skrip yang digunakan modinfountuk menunjukkan file kernel object (.ko) apa yang sebenarnya digunakan:

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

Sekarang saya menemukan yang modinfo nvidiamenunjukkan output berikut:

ERROR: modinfo: could not find module nvidia

Apakah kalian punya penjelasan untuk ini?

Jawaban:


10

nvidiaModul Anda dimuat dengan benar dan berfungsi. Masalahnya terletak pada modinfo.

modinfoambil daftar modul yang diketahui dengan membaca /lib/modules/$(uname -r)/modules.*file, yang biasanya diperbarui dengan depmod.

Jika depmod -abelum dijalankan setelah menginstal nvidiamodul, maka modinfotidak tahu tentang itu. Ini tidak mencegah siapa pun memuat modul dengan insmoddan lsmodakan menunjukkannya dengan baik jika dimuat.


Saya menjalankan sudo depmod -a tetapi modinfo masih tidak tahu tentang modul nvidia, tetapi lsmod menunjukkannya. Bagaimana ini bisa terjadi?
Hakaishin

@Hakaishin Saya di ubuntu 16.04 dengan driver nvidia-410 terinstal, dan tampaknya nama modul kernel saya nvidia_410. Jadi coba modinfo nvidia_410atau serupa.
cheshirekow

0

Jika Anda baru saja menghapus instalan driver nvidia Anda, Anda mungkin telah membatalkan modul dari sistem Anda, tetapi masih dalam initrd Anda. Anda dapat memeriksa mana yang ada dalam initrd Anda lsinitrd. Atau coba instal ulang kernel Anda untuk melihat apakah kernel itu tidak lagi muncul lsmod.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.