模塊加載——modprobe和insmod的區別(轉)


轉載地址:https://blog.csdn.net/qianyizhou17/article/details/44135133

linux設備驅動有兩種加載方式insmod和modprobe,下面談談它們用法上的區別:

1.insmod一次只能加載特定的一個設備驅動,且需要驅動的具體地址。寫法為:

insmod drv.ko

2.modprobe則可以一次將有依賴關系的驅動全部加載到內核。不加驅動的具體地址,但需要在安裝文件系統時是按照make modues_install的方式安裝驅動模塊的。驅動被安裝在/lib/modules/$(uname -r)/...下。寫法為:

modprob drv

下面兩點是上面兩點的另一種說法,內容是一樣的,我也抄了下來:
1.modprobe可以解決load module時的依賴關系,比如load moudleA就必須先load mouduleB之類的,它是通過/lib/modules//modules.dep文件來查找依賴關系的。而insmod不能解決依賴問題。

2.modprobe默認會去/lib/modules//下面查找module,而insmod只在給它的參數中去找module(默認在當前目錄找)。這樣,有時insmod也有它的有用之處,舉個例子吧:有/root/my-mod.ko這個module,cd /root/,然后用insmod my-mod.ko(insmod /root/my-mod.ko)就可以insert這個module了,但是用modprobe my-mod.ko(modprobe /root/my-mod.ko)卻提示"FATAL: Module my-mod.ko not found",這就是因為modprobe是到/lib/modules/`uname -r`/下去找module的,如果沒找到就是這樣了。
---------------------
作者:凱皇
來源:CSDN
原文:https://blog.csdn.net/a5nan/article/details/50946644
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM