假設要加載的驅動程序模塊名為hello.ko
加載驅動模塊
方法一:
進入hello.ko驅動模塊文件所在的目錄,然后直接
insmod hello.ko
方法二:
將hello.ko文件拷貝到/lib/module/#uname -r#/目錄下,這里,#uname -r#意思是,在終端中輸入
uname -r后顯示的內核版本及名稱。
然后
depmod(會在/lib/modules/#uname -r#/目錄下生成modules.dep和modules.dep.bb文件,表明模塊的依賴關系)
最后
modprobe hello(注意這里無需輸入.ko后綴)
兩種方法的區別:
modprobe和insmod類似,都是用來動態加載驅動模塊的,區別在於modprobe可以解決load module時的依賴關系,它是通過/lib/modules/#uname -r/modules.dep(.bb)文件來查找依賴關系的;而insmod不能解決依賴問題。
也就是說,如果你確定你要加載的驅動模塊不依賴其他驅動模塊的話,既可以insmod也可以modprobe,當然insmod可以在任何目錄下執行,更方便一些。而如果你要加載的驅動模塊還依賴其他ko驅動模塊的話,就只能將模塊拷貝到上述的特定目錄,depmod后再modprobe。
原文鏈接:https://blog.csdn.net/zztingfeng/article/details/92012965