Raspberry Pi上的Linux内核模块错误

时间:2012-05-23 19:51:35

标签: linux kernel-module raspberry-pi

我有一台小型覆盆子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 '

任何人都可以指出我正确的方向,我不确定它告诉我什么?

干杯 路加

1 个答案:

答案 0 :(得分:0)

听起来您下载的内核源与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模块现在应该与您的内核匹配并插入而不会抱怨。

祝你好运!