繁体   English   中英

Raspberry Pi上的Linux内核模块错误

[英]Linux Kernel Module Error on Raspberry Pi

我有一台小的树莓派计算机,而我正在玩创建内核模块的第一本游戏。 我已经下载了源代码,并设法编译了我的测试模块,但是当我尝试加载它时,出现此错误:

insmod: error inserting 'hello.ko': -1 Invalid module format

当我查看dmesg时,我看到此错误:

hello: version magic '3.1.9+ mod_unload modversions ARMv6 p2v8 ' should be '3.1.9+ mod_unload modversions ARMv6 '

谁能指出我的正确方向,我不确定它告诉我什么?

干杯卢克

听起来您下载的内核源与Pi上安装的内核不匹配。

您从哪里下载的?

要获取正确的内核源,请在命令行中键入以下内容:

sudo apt-get install linux-source 

这应该为您的内核下载正确的内核源代码(它是一个元软件包)。 现在,您应该在/lib/modules/下看到一个与您的内核版本相匹配的目录(当您键入uname -r时打印出的版本)

重新编译并链接您的代码-通过在Makefile中添加如下一行,确保选择了正确的内核源:

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

现在,新编译的.ko模块应该与您的内核匹配,并且插入时不会有任何抱怨。

祝好运!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM