在 ARM 开发板上查看模块信息提示题中的错误:
modinfo: can't open '/lib/modules/3.2.0/modules.dep': No such file or directory
解决办法是:
1、创建文件夹:/lib/modules/$(uname -r)
2、cp xx.ko /lib/modules/3.2.0/
3、depmod
4、mv /lib/modules/3.2.0/modules.dep.bb /lib/modules/3.2.0/modules.dep
5、modinfo xx.ko 这下就正常了
又发现:
其它模块不用重复这样做
为什么其它模块不需要这样做的?是不是只要有 modules.dep 这么一个文件名的文件存在于这里就可以来了?
再次发现:
在这里创建一个空文件就行了! touch modules.dep
那么,在 /lib/modules/3.2.0/ 中没有 ko 文件的时候,直接执行 depmod 命令是不是也可以产生空文件?答案是:是的,不过产生的是 modules.dep.bb 。为什么不直接产生 modules.dep 呢?还不清楚。有一点是可以肯定的,modinfo 使用前提是存在 modules.dep,空的就行,模块信息是从 ko 文件中获取的,跟 modules.dep 没关系。不过,为什么非要存在 modules.dep 文件呢?这也还不清楚。
我在 Ubuntu 18.04 中做了测试,内核版本是 4.15.0-36,执行 depmod 没有 modules.dep.bb 产生,直接产生 modules.dep,并且文件的内容格式与 3.2.0 中的也不一样。
|