解决insmod error inserting 'hello ko' -1 Invalid module form
实现 功能:在PC的LINUX实现驱动测试,不用在2440上测试
解决insmod: error inserting 'hello.ko': -1 Invalid module format
第一次写Linux驱动,环境搭建了好久,第一次可能是由于GCC的版本问题,编译出来的驱动只能insmod,而无法rmmod
然后是make时使用的内核版本和本系统的版本不一致,
导致出现insmod: error inserting 'hello.o' :-l invalid module format错误
我一直在玩开发板,下载的是linux-2.6.30内核,以前为 开发板编译驱动时,比较顺利。
而我的上位机linux系统是fedora10 实验需要,需要为我的上位机写一个驱动。可是写好了以后,
当我 insmod hello.ko时,却一直有一个错误
insmod: error inserting 'hello.ko': -1 Invalid module format。
网上一查,原因很明确:编译时用的hello.ko的kenerl 不是 我的pc的kenerl版本。
但解决起来,就比较麻烦了,百度一下,说什么要重新编译pc上的内核,还要修改grub。
PC机上的驱动,其实与开发板上的驱动 一点关系都没有。
我只要以pc机的内核为基准,在makefile 那改变内核路径就可以了,可以顺利地编译了!
注意,我是在fedora10 下
cd /usr/src
ls
发现内核头文件,如下
/usr/src/kernels/2.6.27.5-117.fc10.i686
解决方法:为生成hello.ko
其Makefile改为如下内容:
###############
1 KERNELDIR=/usr/src/kernels/2.6.27.5-117.fc10.i686 //在此添加内核路径
2
3 PWD:=$(shell pwd)
4 INSTALLDIR=$(PWD)
5 #CC=arm-linux-gcc
6 CC=gcc
8 obj-m := hello.o
9 modules:
10 $(MAKE) -C $(KERNELDIR) M=$(PWD) modules
11
12 clean:
13 rm -rf *.o *.ko *.mod.c *.markers *.order *.symvers
14 .PHONY:modules clean
make
Oct 2 11:08:07 tdp setroubleshoot: SELinux is preventing updatedb (locate_t) "sys_resource" locate_t. For complete SELinux messages. run sealert -l 42f53b70-53bb-42db-b6cb-39c247a562ea
Oct 2 11:44:19 tdp kernel: Hello, world!!
Oct 2 11:44:19 tdp kernel: this is my hello world!!
哈哈 ,成功啦
解决insmod error inserting 'hello ko' -1 Invalid module form相关推荐
- insmod: error inserting 'simp-blkdev.ko': -1 Invalid module format
(一) 今天写了个块设备驱动例子,在虚拟机上加载模块insmod simp_blkdev.ko的时候,出现以下错误. insmod: error inserting 'simple-blk.ko': ...
- insmod: error inserting 'xxx.ko': -1 Invalid module format
乘着实验机器在编译内核,把以前遇到的一个问题也总结一下,本来之前运行得好好地模块,后来怎么突然不行了呢,具体问题如下: 该问题表示:内核模块编译的环境与现在insmod想要运行的环境不一致 这个可能是 ...
- insmod: error inserting 'myvivi.ko': -1 Unknown symbol in module 问题解决办法
加载驱动时遇到:insmod: error inserting 'myvivi.ko': -1 Unknown symbol in module的问题,在网上查了下,解决办法如下: 1.用modinf ...
- insmod: error inserting './scull.ko': -1 Unknown symbol in module
编译驱动的时候碰到了 insmod: error inserting './igb.ko': -1 Unknown symbol in module 的问题,在网上看了下,说是查看 dmesg | ...
- insmod: error inserting 'memdev.ko': -1 File exists
在写Linux驱动是,sudo insmod ***.ko时出现错误:insmod: error inserting 'memdev.ko': -1 File exists 原因可能是你以前同名的驱动 ...
- insmod: error inserting 'vivi.ko': -1 Unknown symbol in module 问题解决办法
加载驱动时遇到:insmod: error inserting 'vivi.ko': -1 Unknown symbol in module的问题,在网上查了下,解决办法如下: 1.用modinfo ...
- 驱动加载错误:insmod: error inserting 'hello.ko': -1 Device or resource busy
一:insmod时候错误: 1:错误信息insmod: error inserting 'hello.ko': -1 Device or resource busy 2:原因:你的代码里面的设备号和系 ...
- Linux在加载模块时报insmod: error inserting xxx.ko -1 File exists这个错
insmod: error inserting xxx.ko': -1 File exists 在写Linux块设备驱动时,insmod xxx.ko时出现错误:insmod: error inser ...
- insmod: error inserting ‘./module1.ko‘: -1 Unknown symbol in module
到了Linux kernel 2.6.26版本及以后的内核版本,如果还按照以前的版本进行编译,就会出现错误 在make的时候会出现一条warning信息 如果不理睬这条信息,接着将module1.ko ...
最新文章
- 在OR项目中使用火焰图
- Python正则表达式 re.sub()函数:标志位flags与参数个数问题
- 用c语言实现存储和读取图片文件,C++实现单张图片读取和保存
- jdbc oracle添加数据库连接,JDBC与Oracle数据库连接最常用方法
- 2 0 2 0 年 第 十 一 届 蓝 桥 杯 - 省赛 - Python大学组 - A. 门牌制作
- Universal-Image-Loader解析(二)——DisplayImageOptions的详细配置与简单的图片加载...
- python实例属性与类属性_Python类属性与实例属性用法分析
- 剑指offer之连续子数组的最大和
- [转]深入理解C/C++ [Deep C (and C++)]
- 牛b硬件信息修改大师_比X大师更靠谱?一款真正良心的硬件检测工具
- linux 鼠标光标由箭头变成十字形恢复方法
- 小型局域网环境下搭建的文件中转系统
- FusionCharts 技术文档-drilldown map
- 金蝶凭证序时簿在哪_如何打开会计分录序时簿
- TODA项目Part1—后端项目设置与连接数据库
- python画图函数
- 第二章 04 魔镜世界
- HTML5网站大观:精美的 HTML5 商业网站设计案例
- 咱也谈谈如何炒股,如何买股票呗。
- 联想服务器的系统安装教程视频教程,联想服务器装linux系统怎么安装教程