在开发板安装驱动的时候遇到的驱动安装失败,报错信息如下:
localhost kernel: hello: version magic '2.6.38 mod_unload modversion armv5' should be '2.6.38-FriendlyARM mod_unload ARMv6 'insmod: cannot insert 'hello.ko': invalid module format'
这是由于你用来编译驱动模块的内核源代码没有配置或者编译好的原因
解决办法:
---------------------------------------------------------------------------------------------------------------------------------------------------
找到一份别人配置好的config文件 我这里是config_tiny6410
cp config_tiny6410 .config
make menuconfig
保存退出 再
make uImage ARCH=arm CROSS_COMPILE=arm-linux- (顺便编译个uImage)
make
---------------------------------------------------------------------------------------------------------------------------------------------------
OK 在重新编译驱动源代码就可以顺利的在开发板上加载驱动了
总结:
其实会出现类似与上述问题一般有两个原因 :
一是我上述的内核没有配置或者编译好的原因
二是由于开发板的linux内核版本和你编译驱动的内核版本不匹配的原因,遇到这问题的话就找个对应的内核版本重新编译吧
由于在网上这个问题的资料很少 所以我觉得有必要做个笔记一是怕自己以后忘记了,二是和要是以后有人遇到和我同样的问题就不要绕我这么多弯为大家做点小小的贡献 ^ . ^