Chinaunix首页 | 论坛 | 博客
  • 博客访问: 164108
  • 博文数量: 21
  • 博客积分: 218
  • 博客等级: 二等列兵
  • 技术积分: 110
  • 用 户 组: 普通用户
  • 注册时间: 2011-05-03 14:50
个人简介

技术宅

文章存档

2020年(3)

2018年(1)

2017年(2)

2016年(1)

2015年(1)

2013年(1)

2012年(3)

2011年(9)

我的朋友

分类: 嵌入式

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

阅读(2427) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~