Bagaimana cara menginstal modul pihak ke-3 sehingga dimuat saat boot?

24

Saya memiliki modul pihak ketiga untuk digunakan dengan frame grabber. Saya telah mengunduh sumber kernel, mengikuti instruksi vendor untuk mengompilasinya, dan memiliki modul yang dihasilkan, arvdrv.ko, duduk di folder.

Vendor telah menyediakan skrip yang memuat modul ke dalam kernel dan berfungsi saat saya menjalankannya; modul dimuat tetapi hanya sampai boot berikutnya. Script tidak menggunakan modprobe. Saya dapat mengakses frame grabber ketika modul diinstal.

Tampak bagi saya bahwa modprobe memelihara daftar banyak modul. Seseorang dapat mengedit / etc / modules untuk menambahkan nama modul dan itu akan dimuat saat boot tetapi modul arvdrv tidak ada dalam daftar modprobe.

Pertanyaan saya adalah bagaimana cara memberi tahu modprobe tentang modul? Apakah perlu disalin ke lokasi baru dan jika demikian di mana?

Nate Lockwood
sumber
Saya akhirnya menemukan bahwa masalah yang saya miliki setelah menemukan cara yang "benar" adalah bahwa vendor lupa untuk memasukkan skrip inisialisasi tambahan sehingga driver dimuat saat boot tetapi gagal.
Nate Lockwood
Berikut ini adalah gambaran singkat dari prosedur instalasi modul out-of-pohon tanpa startup otomatis menginstal bagian: stackoverflow.com/questions/22783793/...
Ciro Santilli新疆改造中心法轮功六四事件

Jawaban:

32

Menggunakan sudo:

  1. Edit /etc/modulesfile dan tambahkan nama modul (tanpa .koekstensi) pada barisnya sendiri. Saat boot, kernel akan mencoba memuat semua modul yang disebutkan dalam file ini.

  2. Salin modul ke folder yang sesuai di /lib/modules/`uname -r`/kernel/drivers. Dalam kasus saya ini /lib/modules/`uname -r`/kernel/drivers/pci. Ini akan menempatkan modul dalam basis data modprobe. Saya tidak tahu apakah ini bisa menjadi tautan.

  3. Lari depmod. Ini akan menemukan semua dependensi modul Anda.

  4. Pada titik ini, saya reboot dan jalankan lsmod | grep module-nameuntuk mengkonfirmasi bahwa modul telah dimuat saat boot.

Lihat halaman manual untuk modprobe , lsmod , dan depmod untuk informasi lebih lanjut.

Nate Lockwood
sumber
3
Saya memang mengikuti instruksi Anda tetapi tidak ada yang berhasil sampai vendor menyediakan beberapa kode debugged !!! Jawaban Anda lengkap, sederhana, dan saya yakin itu akan berhasil seandainya tidak ada kesalahan vendor. Ya saya akan menerimanya.
Nate Lockwood