当前位置: 技术问答>linux和unix
为什么模块不能加载
来源: 互联网 发布时间:2016-08-13
本文导语: 我是在Linux2.6.29版本下,kernel已经编译成功,我要的模块也生成了.0(android.o)文件,可以把Image文件loading后在控制台上看不到的要的android模块,手动加载也不行,为什么会这样? | 1、Android模块我不知...
我是在Linux2.6.29版本下,kernel已经编译成功,我要的模块也生成了.0(android.o)文件,可以把Image文件loading后在控制台上看不到的要的android模块,手动加载也不行,为什么会这样?
|
1、Android模块我不知道是哪方面的模块。但是这里举个例子,比如网卡驱动模块位于/lib/modules/`uname -r`/kernel/drivers/net下面。所以建议你先把编译好的模块cp到相应的内核模块目录下。
2、#depmod -a
#模块重新分析,建立关联
3、#modprobe your-modules
#加载你的模块your-modules
4、#lsmod | grep 'your-modules'
#查看有没有被加载
对于开机自动加载模块,可以修改/etc/modprobe.conf按照内容添加
#vi /etc/modprobe.conf
alias Device-name your-modules
#上面的Device-name是你的设备名,后面对应的是你的设备驱动。
2、#depmod -a
#模块重新分析,建立关联
3、#modprobe your-modules
#加载你的模块your-modules
4、#lsmod | grep 'your-modules'
#查看有没有被加载
对于开机自动加载模块,可以修改/etc/modprobe.conf按照内容添加
#vi /etc/modprobe.conf
alias Device-name your-modules
#上面的Device-name是你的设备名,后面对应的是你的设备驱动。
|
2.6内核模块怎么会是.o呢??
楼主还在2.4里没出来吧。。。
2.6内核模块是.ko的。。。
楼主还在2.4里没出来吧。。。
2.6内核模块是.ko的。。。
|
首先,建议内核起来后,查看一下其他模块的看到不?
其次,若看到,就看不到你要加载的,那就是你的模块程序有问题
再次,再看看,你编译内核时的配置,如果编译成也会有.o文件的
最后,若是动态加载,你需要的是.OK文件,而不是.O,也就是你内核配置要是配置编译成模块,然后就找
到.KO文件了,这是2.6内核后的
过程有太多的细节,我不太清楚,按常规思路给你分析一下
其次,若看到,就看不到你要加载的,那就是你的模块程序有问题
再次,再看看,你编译内核时的配置,如果编译成也会有.o文件的
最后,若是动态加载,你需要的是.OK文件,而不是.O,也就是你内核配置要是配置编译成模块,然后就找
到.KO文件了,这是2.6内核后的
过程有太多的细节,我不太清楚,按常规思路给你分析一下
|
要加载模块,加载命令写在启动文件中,模块放进指定文件夹,应该是/lib/modules文件夹,不知道楼主怎么做的。。。