编译驱动的时候碰了 insmod: error inserting './igb.ko': -1 Unknown symbol in module 的问题,在网上看了下,说是查看 dmesg | tail 看输出信息中的Unknown symbol,加载上这些模块就好。我的输出信息是:
1 2 3 4 5 | [ 3548.357465] igb: Unknown symbol dca_remove_requester [ 3548.358569] igb: Unknown symbol dca_add_requester [ 3548.358814] igb: Unknown symbol dca_unregister_notify [ 3548.358817] igb: Unknown symbol dca_register_notify [ 3548.358924] igb: Unknown symbol dca3_get_tag |
但是我在系统中查看
dca_remove_requester
dca_add_requester
dca_unregister_notify
dca_register_notify
dca3_get_tag
5个模块是没有找到,细细一想,估计是由于模块依赖的其他模块没有加载导致的。
直接用: modinfo ./igb.ko | grep depend 找模块的依赖,结果如下,
depends: dca
然后再执行:
localhost:/opt/igb/igb-4.0.17/src # modprobe dca
localhost:/opt/igb/igb-4.0.17/src # insmod ./igb.ko
附:《模块加载常见错误》
insmod: error inserting './igb.ko': -1 Unknown symbol in module ---> 依赖的模块没有加载,需要先加载 depends 中列出的模块
insmod: error inserting './igb.ko': -1 Operation not permitted ---> 这当然是你用普通用户执行才出现的错误咯
insmod: error inserting './igb.ko': -1 Invalid module format ---> 模块的vermagic(就是编译内核的环境的内核版本)和当前系统不相匹配
insmod: error inserting './aacraid.ko': -1 No such device ---> 模块是对的,只是没有相应的设备
全部0条评论
快来发表一下你的评论吧 !