首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误,无效模块格式,fedora 35

错误,无效模块格式,fedora 35
EN

Stack Overflow用户
提问于 2022-04-05 04:24:13
回答 1查看 1.1K关注 0票数 0

我正在尝试学习内核模块,并遵循一个简单的hello world示例。我的电脑在运行fedora 35。当我运行sudo insmod mymodule.ko时,我会得到错误insmod: ERROR: could not insert module mymodule.ko: Invalid module format

从阅读其他人的问题来看,这似乎与内核版本与模块编译的不匹配有关,但是uname -r返回5.16.18-200.fc35.x86_64modinfo mymodule.ko给出的vermagic: 5.16.18-200.fc35.x86_64 SMP preempt mod_unload似乎表明它们是相同的。

在其他一些帖子之后,我尝试了dmesg并得到了:[ 1689.372354] module: x86/modules: Skipping invalid relocation target, existing value is nonzero for type 1, loc 00000000d2334323, val ffffffffc140e000,它与其他用户所经历的完全不同(并且似乎与内核版本无关),但是我无法理解它。

我的makefile,万一有用的话:

代码语言:javascript
复制
obj-m += mymodule.o

all:
        make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules

clean:
        make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-07 01:45:49

这篇文章让我走上了正确的道路,可能会帮助其他不使用fedora Linux Kernel Module Development "module: x86/modules: Skipping invalid relocation target, existing value is nonzero for type 1"的人。

问题在于内核头,与以往一样,通过可靠的卸载和重新安装解决了问题:

代码语言:javascript
复制
sudo dnf remove kernel-devel
sudo dnf install kernel-devel
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71746284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档