问题标签 [insmod]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2731 浏览

linux - insmod: '错误...无效的模块格式' - 交叉编译用法

我想解决这个错误,显然是在更新和构建内核并使用以前的 Linux 设备驱动程序模块时发生的(我将一个或两个参数设置更改为内核,编译并构建并获取新的内核映像,为此问题开始)。

但是,在构建新的模块设备驱动程序时,我不断收到错误消息:

[nn.nnn]'module.ko':版本魔法'4.9.0-00011-ge82bfab-dirty SMP mod_unload aarch64'应该是'4.9.0 SMP mod_unload aarch64'

几点评论:

  • 检查了以前的帖子相关问题(insmod error: inserting './hello.ko': -1 Invalid module format"),但它使用 'uname -a' 这对我没有帮助,因为我使用我的 Linux 操作系统作为编译环境到其他操作系统(嵌入式) - 交叉编译使用。
  • 我在内核源代码树(内核下载包)中搜索了版本字符串,但只找到了自动生成字符串的位置(在../include/generated/utsrelease.h)
  • 内核的 Makefile(我使用的是 uImage:u-boot Legacy uImage,Linux / OS Kernel)和 module.ko 使用相同的 CROSS_COMPILE 路径。

我在这里缺少什么?

0 投票
0 回答
266 浏览

linux - 我们可以在 /proc/kallsyms 中添加一个条目吗?

我想为foo我的程序添加一个功能my_pgm.c。我用它extern foo();

当我运行 Makefile 运行时,它运行my_pgm.c良好,但由于它在运行时不存在,/proc/kallsym所以insmod my_pgm.ko会引发错误。

在 dmesg 它打印像 Unknown symbol my_pgm (err 0)

foo 定义为另一个文件的一部分。我从那里使用函数指针 foo nm another_file.ko。我想将此指针条目插入/proc/kallsyms

我的问题是我们可以修改/proc/kallsyms吗?如果是这样如何修改它?(如果我编辑文件并覆盖它,那么当我重新打开文件时更改也不会反映)

0 投票
1 回答
75 浏览

linux - 运行“Hello World”linux 模块的问题

我正在尝试从“Linux 设备驱动程序”一书中编译和运行“Hello World”模块,我要编译的程序 ~/ldd3/hello.c 是:

Makefile 是:

当我运行 make 时,编译似乎没问题:

但是当我运行时:

“Hello World”消息没有被打印出来。我跑步时也没有打印消息

你能告诉我为什么吗?谢谢

0 投票
0 回答
1375 浏览

ubuntu - 无法将模块插入内核

这是我对内核模块的介绍。我正在关注Linux 内核模块编程指南,并且刚刚编写了我的第一个简单模块。

这是我的模块文件hello.c

这是我的Makefile

当我运行make命令时,这就是我得到的..

make -C /lib/modules/4.15.0-45-generic/build M=/home/nailaakbar modules

make 1 : 进入目录'/usr/src/linux-headers-4.15.0-45-generic'

建筑模块,第 2 阶段。

MODPOST 0 个模块

make 1:离开目录'/usr/src/linux-headers-4.15.0-45-generic'

制作结果

但是现在当我尝试使用此命令将其插入内核时;

我收到了这个错误

insmod:错误:无法加载模块 hello.ko:没有这样的文件或目录

我尝试了不同的解决方案,比如将这两个函数设为静态,或者更改文件位置,但没有任何结果。

目前我正在桌面上运行所有这些命令,并且我正在为 linux 环境使用双启动。

谁能帮我解决我在这里做错了什么?

可能重复的问题实际上解决了我的问题,但这不是我的直接问题。我在问题搜索期间经历了这个问题,但无法理解。这实际上是对我的问题的一条评论,改变了我对错误的看法,然后提到的答案解决了我的问题。

0 投票
0 回答
177 浏览

debian - Debian cifs 客户端突然崩溃

以前,Debian 挂载的 win10 cifs 运行良好。访问cifs文件时突然提示“输入/输出错误” 查看ls /proc/fs, cifs is missing

甚至 nfs 服务器也无法启动。

我不应该做任何修改系统配置,只是将ubuntu 10.10的modinfo复制到debian 9环境,半小时后出现上述现象。

重新加载 cifs.ko 失败

没有到岸价

挂载 cifs 服务器失败

0 投票
1 回答
485 浏览

linux - insmod:错误:无法插入模块:套接字的协议类型错误

insmod nf_nat_ipv4.ko,但这会返回错误:

dmesg 中没有日志。操作系统没有安装 iptables。但是 insmod 适用于 nf_conntrack, nf_nat 。任何建议将不胜感激

0 投票
1 回答
18721 浏览

makefile - 警告:modules_install:缺少“System.map”文件。跳过 depmod

我正在尝试使用depmodmodprobe实用程序插入内核模块,以解决任何依赖关系。当我构建模块时,它会抛出“警告:modules_install:缺少'System.map'文件。跳过depmod。

后来当我尝试执行modprobe它时会抛出一个错误,说 “modprobe: FATAL: Module i2c_eeprom_client.ko not found in directory /lib/modules/4.19.58-v7+”

下面是我正在使用的make文件:

下面是构建的输出:

我该如何解决这个问题?请帮忙

平台:Raspberry PI 3b+,Raspbian - linux 4.19.58-v7+

0 投票
0 回答
2661 浏览

docker - docker [Errno 2] ip6tables v1.6.1: can't initialize ip6tables table `filter': Table does not exist (你需要insmod吗?)

我正在使用以下命令在 ubuntu 中运行 docker 映像

我收到以下错误

docker [Errno 2] ip6tables v1.6.1: can't initialize ip6tables table `filter': Table does not exist (你需要insmod吗?)

我四处搜索,许多建议是在本地机器上禁用 ipv6,因为不能在每个容器的基础上禁用 ip6 表。

最后,我找到了一个解决方法,即创建一个条目以防止探测 ip6table

解决办法是什么?

0 投票
1 回答
58 浏览

c - 商业软件中的内核模块问题

我正在构建的安全软件包含一个内核模块。因为内核必须处理数据包。

不要使用 DKMS,因为它是商业软件。

如果内核版本上升,insmod 就不起作用。

我应该怎么办?你有个好主意吗?

0 投票
1 回答
943 浏览

c - insmod 因“模块中的未知符号”而失败

我正在使用 Linuxmint Cinnamon 19 Ubuntu 18.04,内核版本 4.15.0-20-generic

我在编译过程中看到以下内容:

然后我尝试使用 sudo insmod lift.ko 安装模块

在日志中看到:dmesg | 尾巴

生成文件

电梯.c

issue_request.c

start_elevator.c

stop_elevator.c

函数是静态的,同一目录中只有一个 makefile。所以我的问题是:为什么不能加载电梯.ko 以及如何修复?