(一)

今天写了个块设备驱动例子,在虚拟机上加载模块insmod simp_blkdev.ko的时候,出现以下错误。

insmod: error inserting 'simple-blk.ko': -1 Invalid module format

其实错误很简单,Makefile的编写失误,因为之前是想让这个驱动模块在TQ2440上运行的,所以,Makefile的编写使用了以下形式:

ifneq ($(KERNELRELEASE),)

obj-m := simp_blkdev.o

else

KDIR := /usr/src/linux-2.6.30.4

all:
        make -C $(KDIR) M=$(PWD) modules ARCH=arm CROSS_COMPILE=arm-linux-
clean:
        rm -f *.ko *.o *.mod.o *.mod.c *.symvers

endif

主要错误在于红色部分,这个内核模块版本与虚拟机的内核模块版本不一致,导致出现以上错误。

用uname -r 命令查看当前系统的版本是多少,我的查询结果是2.6.18-164.el5

故将其改为:KDIR := /lib/modules/2.6.18-164.el5/build

并且将  ARCH=arm CROSS_COMPILE=arm-linux-  去掉,因为我们要在虚拟机上加载模块,故不使用交叉编译工具。改完之后,再make,编译成功,问题解决。

————————————————————————————————

(二)

按照最开始那个Makefile编译出来的.ko文件,通过nfs下载到开发板上,在开发板上加载insmod simp-blkdev.ko 的时候却出现这个错误。

vmap allocation for size 16785408 failed: use vmalloc=<size> to increase size.
insmod: can't insert 'simp-blkdev.ko': Cannot allocate memory

出错原因也很简单,它的意思是不能分配16785408这么大的空间,所以
失败,回到simp_blkdev.c上,原来我们在这里分配的内存空间是16M,当然就出错啦,要知道嵌入式里面的内存是相当宝贵的,不是每一次分配那
么大的空间内核都会响应给你,所以我把simp_blkdev.c上的分配空间改为16k,再重新编译,错误得到解决。

PS:学驱动也有一些日子了,但是由于临近期末考试,没有更多的时间来写文章,待考完试我再一一详细介绍驱动相关的知识。最后,正如之前你看到的,LWJ祝大家学习愉快。^_^

insmod: error inserting 'simp-blkdev.ko': -1 Invalid module format的更多相关文章

  1. 解决insmod: error inserting 'hello.ko': -1 Invalid module format

    编译自己的内核模块后,insmod出现error:error inserting 'hello.ko': -1 Invalid module format 出现这种情况的原因是因为Makefile种使 ...

  2. insmod: error inserting &#39;hello.ko&#39;: -1 Invalid module format

    在学习编写linux驱动程序的时候,一般都是从写一个helloworld的模块開始. 可是在编译完毕后,进行模块载入的时候,有时会出现例如以下错误: insmod: error inserting ' ...

  3. insmod hello.ko -1 Invalid module format最简单的解决的方法

    在下也是从网上搜索到的这样的解决的方法. 遇到这样的情况后,通过dmesg看一下内核日志. 假设发现有例如以下日志.那就好办了. hello: version magic '2.6.33.3 ' sh ...

  4. ubuntu12.04出现ERROR: Removing 'hello': Device or resource busy和insmod: error inserting 'hello.ko': -1 Device or resource busy解决方案

    一:insmod时候错误: 1:错误信息insmod: error inserting 'hello.ko': -1 Device or resource busy 2:原因:你的代码里面的设备号和系 ...

  5. insmod: can't insert 'led.ko': invalid module format详细解释

    insmod: can't insert 'led.ko': invalid module format 之前在Imx257学习版固件编写的驱动想直接移植imx257核心板的开发板上.以为2个板子的源 ...

  6. [Mongo] error inserting documents: BSONObj size is invalid (mongoimport mongorestore 数据备份恢复)

    解决办法如下, ./mongoimport -port 6066 -d xxx -c xxx --batchSize=10 /root/mong_data/test/xxx 原因转自 http://b ...

  7. tomcat出现Error in dependencyCheck java.io.IOException: invalid manifest format

    我只能说这个错误很坑爹,检查了很多地方都没问题,结果最后在MANIFEST.MF 里面把所有的空的行都删掉就好了.坑爹有木有.

  8. 内核模块加载错误 “Invalid module format” 解决办法

    参考链接:  http://blog.chinaunix.net/uid-20448327-id-172345.html

  9. insmod: ERROR: could not insert module dm-snapshot.ko: Unknown symbol in module

    下面方法成功的前提是你的mod和你的操作系统版本是匹配的,也就是说你的mod之前成功过.说个多余的提示,mod在/lib/modules目录里面 insmod: ERROR: could not in ...

随机推荐

  1. ajax.abort 终止AJAX请求

                               $(document).ready(function () { var ajax; $('#choice').change(function() ...

  2. Centos7安装并配置mysql5.6完美教程

    Centos7安装并配置mysql5.6完美教程 Centos7将默认数据库mysql替换成了Mariadb,对于我们这些还想使用mysql的开发人员来说并不是一个好消息.然而,网上关于Linux安装 ...

  3. 九度OJ 1348 数组中的逆序对 -- 归并排序

    题目地址:http://ac.jobdu.com/problem.php?pid=1348 题目描述: 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对.输入一个数组,求 ...

  4. jQuery事件绑定和委托

    可以用多种方法实现,on()  . bind()  . live()  . delegate() ,还有one(). 有时我们可能会像下面这样绑定一个事件: $("#div1"). ...

  5. linux共享文件samba安装与java读取外部文件夹方法

    测试环境RedHat 6.4 一.安装 samba组件安装: (1)首先用“rpm –qa |grep samba”命令检验系统samba服务是否安装. #rpm –qa |grep samba sa ...

  6. IE专用CSS,最全的CSS hack方式一览

    http://blog.csdn.net/freshlover/article/details/12132801

  7. 如何使用ERStudio 生成comment

    在ER使用中,在生成sql过程中,如何批量生成字段描述,如何批量添加Owner,请看下文: 1.ER生成字段描述 2.ER生成描述添加Owner 使用的ER版本是8.0,英文版本,在操作过程中,有些配 ...

  8. 推荐:PHPCMS v9 安全防范教程!

    一.目录权限设置很重要:可以有效防范黑客上传木马文件. 如果通过 chmod 644 * -R 的话,php文件就没有权限访问了. 如果通过chmod 755 * -R 的话,php文件的权限就高了. ...

  9. python描述符descriptor(一)

    Python 描述符是一种创建托管属性的方法.每当一个属性被查询时,一个动作就会发生.这个动作默认是get,set或者delete.不过,有时候某个应用可能会有 更多的需求,需要你设计一些更复杂的动作 ...

  10. 使用ajaxFileUpload实现异步上传图片

    index.html <head runat="server"> <title></title> <script src="jq ...