在学习编写linux驱动程序的时候,一般都是从写一个helloworld的模块開始。
可是在编译完毕后,进行模块载入的时候,有时会出现例如以下错误:
insmod: error inserting 'hello.ko': -1 Invalid module format
事实上,出现这个问题的解决办法非常easy,就是:编译的内核版本号与实机执行的内核版本号不一致。
所以解决起来也非常easy,实机执行的系统的代码树位置一般在/usr/src/kernels。仅仅要将Makefile中的代码树改成实际执行的内核代码就可以。