insmod: error inserting 'simp-blkdev.ko': -1 Invalid module format

在做国嵌的块设备驱动时,出现insmod:error inserting 'simp-blkdev.ko': -1 Invalid module format这个错误,查看了一下原因,是内核模块版本和虚拟机的内核版本不一致的原因,用uname -r 命令查看当前系统的版本是多少,

我的查询结果是2.6.18-53.el5

MakefileKDIR改为:KDIR := /lib/modules/2.6.18-53.el5/build,再次编译,则装载,就能通过。

 

ps:如果要在TQ2440开发板上实现,则有可能会出现错误:

vmapallocation for size 16785408 failed: use vmalloc= to increase size.
insmod: can't insert 'simp-blkdev.ko': Cannotallocate memory

这是因为在simp_blkdev.c中,我们分配的内存空间为16M,但是开发板不能分配16M的空间,故出错,

解决方法:把simp_blkdev.c上的分配空间改为16k,再重新编译,错误得到解决

 


你可能感兴趣的:(驱动开发)