加载自己编译的模块报错
#demsg:version magic '3.10.65 preempt mod_unload ARMv7 p2v8 ' should be '3.10.65 SMP preempt mod_unload ARMv7 p2v8 '#modinfohelloworld.kofilename: helloworld.ko
license: Dual BSD/GPL
depends:
vermagic: 3.10.65 preempt mod_unload ARMv7 p2v8
求助。
编译过程先加入export ARCH=arm
Makefile里写上
CC=arm-linux-gnueabihf-gcc
LD=arm-linux-gnueabihf-ld
其他正常编译,报的错是can't insert 'helloworld.ko': invalid module format 您好,
出现以上错误是由于加载的驱动所使用的内核版本和系统运行的版本不一致。
这是内核的一个版本校验机制,提供一个将驱动的版本强制改成和运行时内核一致的方法:
1、include/config/kernel.release文件中为内核版本号,将其改为所需版本。
2、include/generated/utsrelease.h文件中
#define UTS_RELEASE “**”
将**改为自己所需内核版本号 。 tanglu 发表于 2020-8-21 08:48
您好,
出现以上错误是由于加载的驱动所使用的内核版本和系统运行的版本不一致。
不行,修改之后dmesg报helloworld: unknown relocation: 10 您好,知识库OKA40i、T3系列中有一篇关于编写linux内核模块的文章,您可以参考一下 https://www.oschina.net/translate/writing-a-**-linux-kernel-module https://www.cnblogs.com/linzizhang/p/4440455.html tanglu 发表于 2020-8-21 14:15
您好,知识库OKA40i、T3系列中有一篇关于编写linux内核模块的文章,您可以参考一下
您好,模块是可以编译的,问题是在板子上加载报错。 tanglu 发表于 2020-8-21 14:15
您好,知识库OKA40i、T3系列中有一篇关于编写linux内核模块的文章,您可以参考一下
把编译链换成自带的5.3.1也不行 方便把您报错的打印信息发过来一下吗 您好, 我们这测试没有问题。
http://bbs.witech.com.cn/forum.php?mod=image&aid=10817&size=300x300&key=01810d27f7c8f728&nocache=yes&type=fixnone
tanglu 发表于 2020-8-22 11:03
方便把您报错的打印信息发过来一下吗
报错的信息前面发过了,没有新的,网上找了很久也没解决,太折磨了 tanglu 发表于 2020-8-22 11:03
方便把您报错的打印信息发过来一下吗
行了,换了个文件名就行了,奇怪得很。
页:
[1]