编译驱动的时候碰了insmod:errorinserting'./igb.ko':-1Unknownsymbolinmodule的问题,在网上看了下,说是查看dmesg|tail看输出信息中的Unknownsymbol,加载上这些模块就好。我的输出信息是:
1 2 3 4 5 | [3548.357465]igb:Unknownsymboldca_remove_requester [3548.358569]igb:Unknownsymboldca_add_requester [3548.358814]igb:Unknownsymboldca_unregister_notify [3548.358817]igb:Unknownsymboldca_register_notify [3548.358924]igb:Unknownsymboldca3_get_tag |
但是我在系统中查看
dca_remove_requester
dca_add_requester
dca_unregister_notify
dca_register_notify
dca3_get_tag
5个模块是没有找到,细细一想,估计是由于模块依赖的其他模块没有加载导致的。
直接用:modinfo./igb.ko|grepdepend找模块的依赖,结果如下,
depends:dca
然后再执行:
localhost:/opt/igb/igb-4.0.17/src# modprobedca
localhost:/opt/igb/igb-4.0.17/src#insmod./igb.ko
附:《模块加载常见错误》
insmod:errorinserting'./igb.ko':-1Unknownsymbolinmodule--->依赖的模块没有加载,需要先加载depends中列出的模块
insmod:errorinserting'./igb.ko':-1Operationnotpermitted--->这当然是你用普通用户执行才出现的错误咯
insmod:errorinserting'./igb.ko':-1Invalidmoduleformat--->模块的vermagic(就是编译内核的环境的内核版本)和当前系统不相匹配
insmod:errorinserting'./aacraid.ko':-1Nosuchdevice--->模块是对的,只是没有相应的设备
-
模块
+关注
关注
7文章
2822浏览量
52797 -
Linux
+关注
关注
88文章
11628浏览量
217973
发布评论请先 登录
Linux内核模块的加载机制
【迅为工业RK3568稳定可靠】itop-3568开发板Linux驱动开发实战:RK3568内核模块符号导出详解
【OK3506-S12Mini试用评测】编译你的第一个内核模块
Linux内核参数调优方案
在linux环境下 软件启动失败怎么解决?
如何配置和验证Linux内核参数
新品 | Module LLM Kit,离线大语言模型推理模块套装
树莓派4 性能大比拼:标准Linux与实时Linux 4.19内核的延迟测试

linux内核插入模块时 Unknown symbol in module
评论