日期:2014-05-16  浏览次数:20965 次

hello.ko模块的加载与卸载
[root@FriendlyARM 2.6.38-FriendlyARM]# modprobe hello.ko??为什么??
modprobe: module 'hello.ko' not found
[root@FriendlyARM 2.6.38-FriendlyARM]# insmod hello.ko
hello world!
[root@FriendlyARM 2.6.38-FriendlyARM]# rmmod hello.ko???没有反应???
[root@FriendlyARM 2.6.38-FriendlyARM]# rmmod hello
hello exit!
rmmod: module 'hello' not found//???为什么???
[root@FriendlyARM 2.6.38-FriendlyARM
请看看是怎么回事???

------解决方案--------------------
没用过modprobe,rmmod对像当然只是hello.hello.ko只是你的模块
在rmmod之前,使用lsmod你就知道为什么rmmod后跟的是hello而不是hello.ko了
------解决方案--------------------
modprobe需要模块放在对应目录下
rmmod并没有调用hello.ko文件,而是从模块列表中调用相应的接口操作,而模块列表中只有模块的名字而已,也就是hello
------解决方案--------------------
modprobe是去读一个文件,从文件里获得ko的路径,再用这个路径去加载这个ko, 你的这个hello.ko的目录没有在那个文件里,所以modprobe提示没有找到文件,在那个文件里加入hello.ko这个文件绝对路径,再用modprobe就可以了。 这就是modprobe和insmod的区别
------解决方案--------------------
modprobe 只能用来加载系统模块标准目录/lib/modules/版本号/kernel 目录下的模块