Saya mencari beberapa modul kernel untuk dimuat i2c-dev
dan i2c-bcm2708
. Tetapi modprobe
perintah kembali:
sudo modprobe i2c-dev
modprobe: module i2c-dev not found in modules.dep
Bagaimana saya bisa mendaftar semua modul yang tersedia di sistem? Di direktori mana mereka berada?
linux-kernel
kernel-modules
UserK
sumber
sumber
Jawaban:
Secara default
modprobe
memuat modul dari subdirektori yang terletak di/lib/modules/$(uname -r)
direktori. Biasanya semua file memiliki ekstensi.ko
, sehingga Anda dapat mendaftarnyaatau, dengan mempertimbangkan file terkompresi akun:
Namun, untuk memuat modul berhasil
modprobe
membutuhkan dependensinya yang tercantum dalam file/lib/modules/$(uname -r)/modules.dep
(dan versi biner yang sesuaimodules.dep.bin
). Jika beberapa modul ada pada sistem, tetapi tidak ada dalam daftar, maka Anda harus menjalankan perintahdepmod
yang akan menghasilkan dependensi seperti itu dan secara otomatis menyertakan modul Anda kemodules.dep
danmodules.dep.bin
.Selain itu, jika modul berhasil dimuat akan terdaftar dalam file
/proc/modules
(juga diakses melalui perintahlsmod
).sumber
find /lib/modules/$(uname -r) -type f -name *.ko*
.gz
*.ko*
jika Anda kebetulan ada di dir Anda saat ini beberapa file yang cocok. lebih baik untuk menghindarinya di antara tanda kutip tunggal:find /lib/modules/$(uname -r) -type f -name '*.ko*'
Ketik
modprobe
dan tekan tab, daftar lengkapi-otomatis harus berisi semua modul yang dapat dimuatsumber
Ada
lsmod
perintah darikmod
paket di Arch Linux apa yang daftar dan menunjukkan status modul kernel Linux yang berisi perintah lain yang berguna sepertimodinfo
,rmmod
modprobe
juga.Untuk l ist semua binari disediakan oleh paket Anda dapat mengetik:
, Dan Anda juga dapat memeriksa untuk o paket wner dari biner dengan
pacman -Qo lsmod
.Q
switch untuk q uery paket diinstal secara lokal (sepertiS
untuk s ynchronize, yaitu. untuk memeriksa dari jarak jauh).sumber
lsmod
hanya menampilkan modul yang sudah dimuat. Penulis utas ini memiliki masalah untuk memuat modul yang tidak ada di peta modul kernel yang dapat dimuat. Selain itu, solusi ini hanya berlaku untuk archlinux. Yang mungkin bukan distribusi dari Penulis dan mungkin tidak menyelesaikan masalah untuk orang lain.lsmod
juga tersedia di Ubuntu, setidaknya. Namun, saya setuju ini tidak menyelesaikan masalah OP.Saya lebih suka menggunakan
depmod
. Dengan perintahdepmod -av|grep MOD_NAME
:, sistem Anda akan menghasilkan file modules.dep / map dan menerobosnya. The-v
parameter yang penting untuk bertele-tele dan-a
untuk memastikan bahwa semua kemungkinan modul dari/lib/modules/
digunakan untuk file modules.dep.Dengan cara ini dimungkinkan untuk memastikan, bahwa modul kernel yang diminta dipetakan ke kernel sebagai dapat dimuat. Ketika modul kernel keinginan tidak tercantum dalam output, Anda tahu bahwa kernel tidak akan menemukannya.
sumber