1. 与内核版本不一致
嵌入式开发时,模块编译时需要制定内核的路径,内核的版本信息会加入到模块文件中,如果目标板上运行的内核与模块中包含的内核版本对不上,加载就会出错,报如下错误:
insmod invalid format
可通过modinfo查看ko文件中包含的内核版本信息
2. 内核没有编译,缺少文件
"no symbol version for module_layout“,重新编译内核后,再编译模块即可。
3.模块文件被破坏
有次开发模块时,把ko文件放到了外接的flash里,结果flash文件系统不稳定导致ko文件缺失,报错如下:
Module len **** truncated