尽管 EXPORT_SYMBOL 模块插入时出现“模块中的未知符号”

2024-06-25

我正在尝试编译并插入 r8169 realtek 以太网驱动程序。我的内核版本是

ebin@sony:~$ uname -r
4.2.0-rc3-custom

我的本地磁盘中有相同的完整源代码,用于安装当前的内核。当我运行时该模块编译成功make -C /lib/modules/uname -r/build M=pwdmodules
但是当我插入模块时,它显示

ebin@sony:~/linux_testing/linux-stable/drivers/net/ethernet/realtek$ sudo insmod r8169.ko
insmod: ERROR: could not insert module r8169.ko: Unknown symbol in module
ebin@sony:~/linux_testing/linux-stable/drivers/net/ethernet/realtek$ dmesg
[16717.311216] r8169: Unknown symbol mii_ethtool_gset (err 0)

当我查找源码时,我发现

EXPORT_SYMBOL(mii_ethtool_gset);

已经出口到mii.c。所以我猜不是未导出符号的问题。如果我需要提供任何其他信息,请告诉我。请帮忙。


正如 Vadim Stupakov 在评论中所说,Module.symvers模块源目录中的文件解决了我的问题。由此文档 https://www.kernel.org/doc/Documentation/kbuild/modules.txt

Module versioning is enabled by the CONFIG_MODVERSIONS tag, and is used
as a simple ABI consistency check. A CRC value of the full prototype
for an exported symbol is created. When a module is loaded/used, the
CRC values contained in the kernel are compared with similar values in
the module. if they are not equal, the kernel refuses to load the
module. 
Module.symvers contains a list of all exported symbols from a kernel
build.

据我了解,Module.symvers创建于make modules。我错过了那个文件。当我把适当的Module.symvers在模块构建目录中,模块按我的预期工作,没有任何错误。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

尽管 EXPORT_SYMBOL 模块插入时出现“模块中的未知符号” 的相关文章

  • 错误:‘:’标记之前需要初始化程序

    我正在尝试编译一些 C 代码 可以在 Windows 上使用 Visual Studio 2012 进行编译 g 4 4 我有这段代码 const std string cnw restoreSession const std vector
  • gai_cancel() 需要很长时间才能成功

    我正在尝试在 C 中异步查找域 原因是我希望能够有效地添加超时期限 以防系统无法查找域 我遇到了 getaddrinfo a 命令 所以我决定尝试一下 然而 在我的机器上取消任何不会成功的 dns 查找 例如没有互联网连接时 永远不会花费少
  • 很好的 C 库集合? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个很好的 ANSI C 库集合 用于处理向量 哈希映射 二进制树 字符串处理等 Try g
  • 为什么我不能用这个循环从 bash 历史记录中删除多个条目

    这个循环将显示我想要做的事情 但是如果我删除echo从中 它实际上不会删除任何内容 history grep 0 5 0 9 ls cut c1 5 while read id do echo history d id done 我添加了缩
  • Linux 是否允许从信号处理程序进行任何系统调用?

    我的理解是 一般来说 如果您从信号处理程序调用非异步信号安全函数 则行为是未定义的 但我听说 Linux 允许您安全地调用任何系统调用 这是真的 另外 SIGSEGV 处理程序的唯一可移植行为是中止或退出 但我知道如果返回 linux 实际
  • c - 后台运行的程序的退出状态

    我有一个任务 其中我必须创建一个迷你 shell 它能够执行很多操作 包括作业控制 我设法使用 fork 和 execvp 创建新的工作 但我还想获取 execvp 运行的程序的退出代码 根据我从其他帖子中查找到的内容 我可以使用以下方法来
  • 如何配置和采样英特尔进程内性能计数器

    简而言之 我试图在用户级基准测试进程中实现以下目标 伪代码 假设 x86 64 和 UNIX 系统 results for iteration 0 iteration lt num iterations iteration pctr sta
  • 当我执行 pip --version 时,它显示错误为 ImportError:没有名为 pyparsing 的模块

    我尝试安装 卸载py解析以及它不起作用 我被这个问题困住了 我还必须安装额外的库 这是错误消息 Traceback most recent call last File usr bin pip line 5 in
  • 强制 shell 在 SunGrid 引擎中使用 conda 变量中的 python [重复]

    这个问题在这里已经有答案了 我正在尝试在 SunGrid 引擎中执行 python 文件 并且从 anaconda3 环境变量中执行它 我的代码很简单 from future import print function import url
  • UNIX 域 STREAM 和 DATAGRAM 套接字之间的区别?

    这个问题是NOTSTREAM 类型和 DATAGRAM 类型 INTERNET 套接字之间的区别 我知道 STREAM 套接字使用 TCP 数据报套接字使用 UDP 以及所有 TCP UDP 内容 按顺序到达的数据包 ACK NACK 等
  • PhoneGap - 构建 PhoneGap Android 应用程序在 Linux 上出现编译错误

    我在我的 linux ubuntu 12 04 机器上构建phonegap android 应用程序时遇到错误 我已经安装了nodejs 将JAVA HOME ANT HOME ANDROID HOME vars和 JAVA HOME bi
  • Linux 和 Windows 上的相同计算 --> 结果不同

    我编写了以下算法来将十进制值转换为二进制 十六进制等 string toFormatFromDecimal long long t Format format int digitCount ceil log t log int format
  • 如何可视化包含/指向彼此的 C 结构图?

    我正在使用Ubuntu 10 04 正在研究内核对象的编程 我遇到了一些相当复杂的结构 我很难阅读 所以我想我应该尝试找到一些可以帮助我可视化它们的工具 到目前为止我唯一能找到的是VCG http rw4 cs uni sb de sand
  • java轻量级调试器[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个轻量级的 java 调试器 无论是在 IDE 中还是独立的 命令行或 GUI 中 我正在使用 ant 和 vim 并且尝试过
  • 使用 localinstall 更新 yum 包

    如果使用安装包yum 本地安装像这样 yum y localinstall nogpgcheck some package 1 0 0 rpm 现在 如果我尝试运行 yum y localinstall nogpgcheck some pa
  • 将 React 应用程序作为后台进程运行

    我对部署前端代码完全陌生 因此提出了这个问题 我有一个 React 应用程序 需要作为后台进程运行 但是我对如何执行此操作有点困惑 我运行一个 npm 脚本 npm run build 在服务器上构建 缩小和服务项目 构建过程的相关代码是这
  • 编译JNI时出现问题

    我通过引用已使用 JNI 生成的头文件实现了以下 C 代码 include
  • 安装 gulp browserify 总是报错

    我尝试使用以下命令安装 gulp browserify npm install gulp browserify save dev 我已经成功安装了许多其他软件包 例如 gulp autoprefixer gulp concat gulp m
  • Linux 上的 JavaFX

    Linux x86 和 x64 上的 JavaFX 情况如何 JavaFX 应用程序可以在 Linux 操作系统上顺利执行吗 我发现了 2011 年和 2012 年的一些问题 当时应用程序不稳定 目前发布的 JFX 版本是 2 2 4 在
  • 如何检查 Linux 控制台屏幕保护程序是否黑屏

    有没有办法以编程方式 通过 ioctl 等 或通过读取 sys proc 或 dev 中的文件 检查屏幕是否已被 Linux 控制台屏幕保护程序清空 谢谢并致以最诚挚的问候 G nter 好的 检查了 相关代码部分是 include

随机推荐

  • 如何/可以手动调用触发器 Firebase 函数?

    在我们的应用程序中 我们不断使用可调用函数 有时冷启动可能会让人头疼 因为我们仍在开发它并且除了我们之外没有用户使用它们 我们认为加快这个过程的方法是在打开应用程序 登录之前调用每个函数 它们不多 目前大约有 20 个 我们的账单不会到月球
  • 模板语言与直接 PHP

    我要编写一个 CMS 但现在我正在写下我所有的想法 并试图在开始之前理清我的所有概念 我纠结的一件事是是否使用模板语言并解析网站页面 并用内容项替换模板标签 或者只是使用直接 PHP 开发网站并让 CMS 生成有帮助的数据结构 例如 nav
  • C++ POD 类型不能有构造函数吗?

    我有一个类和一个 const 变量 struct A int b A const a 班上A是POD 可以这样初始化 A const a 3 恕我直言 拥有这样的构造函数看起来不错 struct A int b A int newB b n
  • stbir_resize_uint8 内存访问崩溃

    我正在使用 stb image 将图像上传到 GPU 如果我只是使用 stbi load 上传图像 我可以确认 nvidia Nsight 该图像已正确存储在 GPU 内存中 不过 我喜欢在将某些图像上传到 GPU 之前调整其大小 在这种情
  • 删除c#中datagrid中的空白灰色空间

    替代文本 http www freeimagehosting net uploads 260c1f6706 jpg http www freeimagehosting net uploads 260c1f6706 jpg 我如何删除空白空间
  • libtorrent-rasterbar 无法使用磁力链接下载元数据

    我正在尝试使用 libtorrent rasterbar 0 16 13 的无 DHT 仅跟踪器行为来下载远程元数据文件 torrent 不幸的是 我收到了很多peer disconnected 错误 从我的程序中播种并通过 BT 或 QB
  • 如何从有条件的列中获取最新值

    我在 Excel 中有一个表 其中包含以下列 Date 人名 金额 英镑 该表用于记录人们何时付钱给我 通常 我可以让不止一个人在同一天向我付款 而且 随着时间的推移 同一个人会在很多天向我付款 记录添加到表格底部 以便按日期排序 但不再按
  • 尝试使用作为 ObjectType key 的变量设置对象属性时,类型“any”不可分配给类型“never”

    在下面的代码中 typscript 编译器在更新方法中显示错误 指出 any 不能分配给类型 never 我注意到当类型包含与其他类型混合的布尔值时 keyof 类型不起作用 如何使其编译时在类型中具有混合类型值 type ConfigSt
  • 解决 C++ 中的 Project Euler 问题的最佳 bignum 库? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我还是一名学生 我发现欧拉项目非常有趣 有时 问题需要比原始类型更大的计算 我知道你可以实现 但我懒得
  • VBA 中的 Excel 下拉列表:“无法获取工作表类的 DropDowns 属性”

    我有这个代码 Sub addDropdown Name ActiveSheet DropDowns Add 74 25 60 188 25 87 75 Select Set n ActiveSheet DropDowns Name If N
  • Fabric 2.3 并行执行sudo命令

    我正在尝试使用 Fabric 2 3 在某些服务器上运行一些需要 sudo 的任务 我的主要目标是并行化操作 所以我想到使用ThreadingGroupFabric api 类 但它不支持sudo 为了清楚起见 下面是我的代码 usr bi
  • 返回 JSON 或部分 html 的 ASP.NET MVC 控制器操作

    我正在尝试创建控制器操作 该操作将根据参数返回 JSON 或部分 html 将结果异步返回到 MVC 页面的最佳方法是什么 在您的操作方法中 返回 Json object 以将 JSON 返回到您的页面 public ActionResul
  • JDBC 插入错误

    我正在尝试使用 jdbc 将一些数据插入到我的数据库中 我使用了正确的表 数据库名称和参数 一切都经过检查 Code public static void main String args throws IOException ClassN
  • NLTK:为什么 nltk 无法识别 stanford-ner 的 CLASSPATH 变量?

    这是我的代码 from nltk tag import StanfordNERTagger st StanfordNERTagger english all 3class distsim crf ser gz 我得到 NLTK was un
  • 在链配置的命名空间中找不到类“App\Entity\Users”

    我想使用 Symfony 4 添加身份验证系统 我正在使用 Mssql 数据库 该数据库已创建并填充 这不是第一次 我正在使用它 但这是我第一次遇到问题 我从数据库导入了所有实体 尤其是Users Entity 我也配置了LoginForm
  • 如何在 R tidyverse 中转换列类型

    我试图熟悉 Tidyverse 的使用 但数据类型转换被证明是一个障碍 我知道自动将字符串转换为因子并不理想 但有时我想使用因子 因此一些可以轻松地将 tibble 中所需的字符列转换为因子的方法将非常好 我更喜欢使用 readxl 包读取
  • Swift 中以 Equatable 和 Printable 作为参数的通用函数和属性

    如何编写一个允许任何对象但必须是的函数Printable and EquatableSwift 中的对象数组 class func withItems items AnyObject 我需要的物品是Printable and Equatab
  • 在 python 中使用正则表达式返回唯一匹配

    生成正则表达式的所有唯一匹配项的最有效 或最 Pythonic 方法是什么 现在我刚刚申请set 使用后findall 但我不确定是否有更好的方法 查找所有匹配项的其他方法 使用其他方式通过正则表达式在文本中搜索 您可以与一路上获得的匹配项
  • 如何将 Thread.currentThread() 与保存的 Thread 引用进行比较? ==,等于,..? [复制]

    这个问题在这里已经有答案了 我正在编写一个类 它将来自其他方法的操作排队到 ConcurrentLinkedQueue 中 然后有一个 process 方法 该方法只能从处理队列的创建线程中调用 这是因为其他方法的操作可以从其他线程调用 但
  • 尽管 EXPORT_SYMBOL 模块插入时出现“模块中的未知符号”

    我正在尝试编译并插入 r8169 realtek 以太网驱动程序 我的内核版本是 ebin sony uname r 4 2 0 rc3 custom 我的本地磁盘中有相同的完整源代码 用于安装当前的内核 当我运行时该模块编译成功make