modprobemembaca modul dari /lib/modules/$(uname -r)/modules.dep.bin(atau tanpa .binakhiran jika file lain tidak tersedia). Dari file yang sama, dependensi dimuat.
modprobemenerima nama .kofile dalam /lib/modules/$(uname -r)(mis. nvidia-currentuntuk file dkms/nvidia-current.ko) dan alias ( modules.alias.bin). Builtins ( modules.alias.bin) juga dikenali, tetapi karena modul ini dimuat secara default, tidak ada gunanya modprobing modul jenis ini.
insmoddi sisi lain menerima jalur ke file. Modul tidak harus berada /lib/modules/$(uname -r), tetapi dependensi tidak dimuat secara otomatis. Ini adalah program yang lebih rendah yang digunakan oleh modprobeuntuk memuat modul.
Program lain yang terkait dengan modul adalah rmmoddan modinfo.
rmmodmenghapus nama kernel berdasarkan nama dari /proc/modules. Nama ini tidak harus sama dengan yang diteruskan ke modprobe(untuk nvidia-currentfile, ini nvidiamisalnya).
modinfomenerima nama file, atau nama file tanpa .koakhiran dalam /lib/modules/$(uname -r).
modprobeadalah perintah yang cerdas, mencari dependensi saat memuat modul. Misalkan, jika saya memuat modul, yang memiliki simbol yang didefinisikan dalam beberapa modul lain (lintasan modul ini diberikan di dalam modul utama). Jadi, modprobemuat modul utama dan modul dependen.
Tetapi jika insmoddigunakan, itu tidak akan memuat ketergantungan, dan karenanya akan memberikan kesalahan kompilasi seperti Unresolved symbols. Dalam hal ini, kita harus mencari modul dependen secara manual dan perlu memuatnya untuk menyelesaikan kesalahan.
Utilitas modprobe layak disebutkan secara cepat. modprobe, seperti insmod, memuat modul ke dalam kernel. Ini berbeda karena ia akan melihat modul yang akan dimuat untuk melihat apakah itu merujuk simbol apa pun yang saat ini tidak didefinisikan dalam kernel. Jika ada referensi seperti itu ditemukan, modprobe mencari modul lain di jalur pencarian modul saat ini yang menentukan simbol yang relevan. Ketika modprobe menemukan modul-modul tersebut (yang diperlukan oleh modul yang sedang dimuat), modprobe memuatnya ke dalam kernel juga. Jika Anda menggunakan insmod dalam situasi ini sebagai gantinya, perintah gagal dengan pesan "simbol yang tidak terselesaikan" yang tersisa di logfile sistem
modprobe
membaca modul dari/lib/modules/$(uname -r)/modules.dep.bin
(atau tanpa.bin
akhiran jika file lain tidak tersedia). Dari file yang sama, dependensi dimuat.modprobe
menerima nama.ko
file dalam/lib/modules/$(uname -r)
(mis.nvidia-current
untuk filedkms/nvidia-current.ko
) dan alias (modules.alias.bin
). Builtins (modules.alias.bin
) juga dikenali, tetapi karena modul ini dimuat secara default, tidak ada gunanya modprobing modul jenis ini.insmod
di sisi lain menerima jalur ke file. Modul tidak harus berada/lib/modules/$(uname -r)
, tetapi dependensi tidak dimuat secara otomatis. Ini adalah program yang lebih rendah yang digunakan olehmodprobe
untuk memuat modul.Program lain yang terkait dengan modul adalah
rmmod
danmodinfo
.rmmod
menghapus nama kernel berdasarkan nama dari/proc/modules
. Nama ini tidak harus sama dengan yang diteruskan kemodprobe
(untuknvidia-current
file, ininvidia
misalnya).modinfo
menerima nama file, atau nama file tanpa.ko
akhiran dalam/lib/modules/$(uname -r)
.sumber
modprobe
adalah perintah yang cerdas, mencari dependensi saat memuat modul. Misalkan, jika saya memuat modul, yang memiliki simbol yang didefinisikan dalam beberapa modul lain (lintasan modul ini diberikan di dalam modul utama). Jadi,modprobe
muat modul utama dan modul dependen.Tetapi jika
insmod
digunakan, itu tidak akan memuat ketergantungan, dan karenanya akan memberikan kesalahan kompilasi sepertiUnresolved symbols
. Dalam hal ini, kita harus mencari modul dependen secara manual dan perlu memuatnya untuk menyelesaikan kesalahan.sumber
Utilitas modprobe layak disebutkan secara cepat. modprobe, seperti insmod, memuat modul ke dalam kernel. Ini berbeda karena ia akan melihat modul yang akan dimuat untuk melihat apakah itu merujuk simbol apa pun yang saat ini tidak didefinisikan dalam kernel. Jika ada referensi seperti itu ditemukan, modprobe mencari modul lain di jalur pencarian modul saat ini yang menentukan simbol yang relevan. Ketika modprobe menemukan modul-modul tersebut (yang diperlukan oleh modul yang sedang dimuat), modprobe memuatnya ke dalam kernel juga. Jika Anda menggunakan insmod dalam situasi ini sebagai gantinya, perintah gagal dengan pesan "simbol yang tidak terselesaikan" yang tersisa di logfile sistem
sumber