make cloneconfig 以后一定要把Module.symvers文件拷贝到/usr/src/linux/下面,否则编译出来的ko模块会出现错误 "Invalid module format",无法加载。

Module.symvers在 /lib/modules/`uname -r`/build/

Module.symvers文件里面存放的实际是模块导出函数的信息,格式如下
<CRC> <Symbol> <module>

因此,对于2.6.26以后的内核,如果某个模块使用了另一个模块里面的函数,则Module.symvers里面要有该函数的信息,否则在insmod的时候会出现类似以下的错误

Error inserting depends (/lib/modules/2.6.31-16-generic/kernel/net/depends/depends.ko): Unknown symbol in module, or unknown parameter (see dmesg)