0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

鸿汉禹网络科技 2023-04-06 15:09 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

编译驱动的时候碰了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

    文章

    2854

    浏览量

    53536
  • Linux
    +关注

    关注

    88

    文章

    11868

    浏览量

    219898
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    openKylin受邀参加Linux内核领域顶级技术峰会

    近日,Linux内核领域顶级技术峰会——LSF/MM/BPF 2026在克罗地亚萨格勒布举行。大会聚焦Linux内核存储、文件系统、内存管理以及BPF等关键技术方向,吸引了来自全球开源
    的头像 发表于 05-14 11:08 570次阅读

    嵌入式2---在单片机里实现module_init机制

    调用,不仅代码混乱、维护麻烦,而且新增或删除模块时,还要修改main函数,违背了“高内聚、低耦合”的原则。 其实在Linux系统中,module_init机制的核心思想也是一样的,Linux
    的头像 发表于 05-04 11:24 9788次阅读
    嵌入式2---在单片机里实现<b class='flag-5'>module</b>_init机制

    MagI³C Power Module WPMDH1200601:高效电源模块的设计与应用指南

    MagI³C Power Module WPMDH1200601:高效电源模块的设计与应用指南 在电子设计领域,电源模块的性能直接影响着整个系统的稳定性和效率。今天要介绍的MagI³C Power
    的头像 发表于 04-27 12:40 218次阅读

    如何理解Linux内核中的PCIe驱动

    我们习惯了用 Verilog 去死磕 PCIe 的底层协议状态机。但一旦越过硬件边界来到操作系统层面,Linux 内核是如何接管并驱动这些 PCI/PCIe 设备的呢?由于不同的 CPU 架构实现了
    的头像 发表于 04-11 17:22 1428次阅读

    编译内核时出错怎么解决?

    我在使用建议的 docker 工具编译新内核时遇到问题。我正在从 starfive-tech/linux 编译并收到以下错误: In file included from arch/riscv
    发表于 03-23 07:15

    Linux内核三大核心模块深度解析:调度、内存与I/O

    Linux内核作为操作系统的核心,其进程调度、内存管理和文件I/O三大模块共同决定了系统的性能与稳定性。无论是多核服务器的高并发处理,还是嵌入式设备的资源受限场景,深入理解这些底层机制都是进行性能调
    的头像 发表于 03-12 09:00 331次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>内核</b>三大核心<b class='flag-5'>模块</b>深度解析:调度、内存与I/O

    Linux内核伙伴系统内存申请函数详解:从原理到实战

    Linux 内核中,内存管理是整个系统稳定运行的基石,而伙伴系统(Buddy System) 作为内核物理内存分配的核心机制,更是驱动开发、内核模块开发的必备知识点。它通过 "2
    的头像 发表于 02-10 16:58 3778次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>内核</b>伙伴系统内存申请函数详解:从原理到实战

    Linux内核的“心跳”:jiffies如何为系统计时?

    Linux 内核的世界里,有一个默默工作的 "计时器"——jiffies。它不像我们手机上的时钟那样显示年月日,却掌控着内核中绝大多数时间相关的操作:从进程调度到设备驱动的定时检查,都离不开它的身影。
    的头像 发表于 02-04 16:27 989次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>内核</b>的“心跳”:jiffies如何为系统计时?

    深入RK3588内核:rockchip_linux_defconfig的作用与调试价值

    在 RK3588 芯片的 Linux 开发中,有一个文件始终是开发者绕不开的核心 ——kernel/arch/arm64/configs/rockchip_linux_defconfig。无论是首次
    的头像 发表于 02-03 15:56 1475次阅读
    深入RK3588<b class='flag-5'>内核</b>:rockchip_<b class='flag-5'>linux</b>_defconfig的作用与调试价值

    Linux系统内核参数调优实战指南

    Linux 内核参数调优是系统性能优化的核心环节。随着云原生架构的普及和硬件性能的飞速提升,默认的内核参数配置往往无法充分发挥系统潜力。在高并发 Web 服务、大数据处理、容器化部署等场景下,合理的
    的头像 发表于 01-28 14:27 872次阅读

    Linux内核模块的加载机制

    Linux内核模块通常是.ko文件,也就是Kernel Object的缩写。这些文件是ELF格式的,但和用户空间的程序不同,它们包含的是特定于内核的信息。比如,模块的元数据,像作者
    发表于 11-25 06:59

    【迅为工业RK3568稳定可靠】itop-3568开发板Linux驱动开发实战:RK3568内核模块符号导出详解

    【迅为工业RK3568稳定可靠】itop-3568开发板Linux驱动开发实战:RK3568内核模块符号导出详解
    的头像 发表于 11-21 13:25 1937次阅读
    【迅为工业RK3568稳定可靠】itop-3568开发板<b class='flag-5'>Linux</b>驱动开发实战:RK3568<b class='flag-5'>内核模块</b>符号导出详解

    【OK3506-S12Mini试用评测】编译你的第一个内核模块

    OK3506 开发板内核模块编译与加载 一、前言 在嵌入式 Linux 系统开发中,内核模块(Kernel Module) 是一种可动态加载到内核
    发表于 10-24 21:00

    linux环境下 软件启动失败怎么解决?

    /x86_64-linux-gnu/gio/modules/libgiognomeproxy.so: undefined symbol: g_uri_is_valid Failed to load module
    发表于 06-23 07:37

    如何配置和验证Linux内核参数

    Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要。合理的参数调整可以显著提升网络性能、系统稳定性及资源利用率。然而,仅仅修改参数是不够的,如何验证这些参数是否生效同样关键。
    的头像 发表于 05-29 17:40 1498次阅读