主题 : 驱动的加载与卸载中常见问题:rmmod chdir no such file or directory 的最终解决办法 复制链接 | 浏览器收藏 | 打印
我在磨剑
级别: 新手上路
UID: 8085
精华: 1
发帖: 7
金钱: 90 两
威望: 50 点
贡献值: 10 点
综合积分: 34 分
注册时间: 2009-08-09
最后登录: 2009-12-01
楼主  发表于: 2009-10-15 19:49

 驱动的加载与卸载中常见问题:rmmod chdir no such file or directory 的最终解决办法

管理提醒: 本帖被 kasim 设置为精华(2009-10-15)
首先在开发板上建立/lib/modules/2.6.29.4-FriendlyARM这样一个文件夹,注意,板子上的/lib/modules下有一个现成的文件夹叫2.6.29-FriendlyARM,该文件夹和2.6.29.4-FriendlyARM是有区别的。2.6.29.4-FriendlyARM记录了系统的完整版本号。所有待安装的模块文件.ko需要放在这个新建的文件夹/lib/modules/2.6.29.4-FriendlyARM下面。关于新建文件夹,mini2440的用户手册上7.3.3节中的“注意”里写的路径是有错误的,请大家注意。
安装:#insmod *.ko
卸载:#rmmod *
*为模块名称,不是设备名称。
[ 此帖被33479758在2009-10-15 21:44重新编辑 ]
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
贡献值: 71 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
1楼  发表于: 2009-10-15 21:12
谢谢分享,这个问题终于有人给出解答了,希望友善之臂也能尽快修正这一错误
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
贡献值: 71 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
2楼  发表于: 2009-10-28 14:26

 回 3楼(azfa) 的帖子

rmmod后面的参数是模块名字,从lsmod的输出看,你的模块名是"mini2440_hello_module"而不是"hello"
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
贡献值: 71 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
3楼  发表于: 2009-10-28 14:55

 回 5楼(azfa) 的帖子

可以,你连Makefile也不用改,把KERNELDIR指向开发板所用内核的源代码树就可以了
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
贡献值: 71 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
4楼  发表于: 2009-10-29 00:10

 回 8楼(azfa) 的帖子

“$(MAKE) -C $(KERNELDIR) M=$(PWD) modules”这个命令首先读取的是$(KERNELDIR)/Makefile.交叉编译工具通常是在这个文件里指定(通过ARCH和CROSS_COMPILE)。当然,你也可以用make命令行上的参数override,比如:
$(MAKE) -C $(KERNELDIR) ARCH=arm CROSS_COMPILE=arm-linux- M=$(PWD) modules
现在之所以不需要指定是因为友善之臂提供的2.6.29的内核源代码根目录下的Makefile里已经设定了ARCH和CROSS_COMPILE的值
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."