技术宅
全部博文(21)
分类: 嵌入式
2011-05-30 21:29:36
我在动态加裁和卸载时就遇到了问题,只能用以下方法解决,可能不是最正确的:
insmod: cannot insert './hello.ko': Operation not permitted
加载模块时 出错,原因是没有用root登录。
成功信息如下:
[root@/lib/modules]#insmod ./hello.ko
Hello, Mini2440 module is installed !
[root@/lib/modules]#rmmod hello
rmmod: chdir(2.6.32.2): No such file or directory
rmmod: chdir(2.6.32.2): No such file or directory
的解决方法
/friendly-arm/root/rootfs/lib/modules/2.6.32.2 在文件系统中建立了此目录。并且在此目录中要放入hello.ko
[root@/lib/modules]#rmmod hello
Good-bye, Mini2440 module was removed!
连续执行:
[root@/lib/modules]#insmod ./hello.ko //加裁的是这个目录下的
Hello, Mini2440 module is installed !
[root@/lib/modules]#rmmod hello //而卸载的是/friendly-arm/root/rootfs/lib/modules/2.6.32.2/hello.ko
Good-bye, Mini2440 module was removed!
如下是编译时 的makefile 也许是跟它的KDIR路径有关,但为什么是2.6.32.2目录,而不是linux-2.6.32.2,真奇怪,没有全部搞明白,有理解的告知一下。
obj-m+=hello.o
KDIR := /friendly-arm/linux-2.6.32.2/
PWD:= $(shell pwd)
CROSS_ARCH := ARCH=arm CROSS_COMPILE=arm-linux-
ARCH =arm
CROSS_COMPILE =arm-linux-
default:
$(MAKE) $(CROSS_ARCH) -C $(KDIR) SUBDIRS=$(PWD) modules
clean:
rm -rf *.cmd *.o *.mod.c