出现这个问题一般要么是模块位置放错了,要么是modules.dep文件中没有对应模块记录导致无法装载
解决办法
- 首先查看
/lib/module/内核版本
目录下是否存在需要装载的模块。内核版本可以通过uname -r
获取到。 - 在上述目录下执行
depmod
指令,对该目录下的模块进行扫描,这个操作过后该目录下的模块将被记录在modules.dep
文件下。这个时候再执行modprobe xxx
对模块进行装载.
xxx
是由于版本不同可能是不含ko后缀的文件名。例如,我要装载device.ko
,那么在depmod
之后,只需要执行modprobe device
命令就可以了。最好含后缀和不含后缀的都试一下。
使用modprobe
一般是用于装载存在依赖关系的多个模块时才使用的命令。如果只是装载单个模块执行insmod
就足够了,而且还不需要复制模块到指定位置。