编译内核模块遇到的问题(已解决)

2020-02-21 21:29发布

本帖最后由 FSL_TICS_ZJJ 于 2014-9-11 13:30 编辑

编译内核模块产生的KO文件是I686格式的,下面是我的配置文件:

ARCH=arm


PWD=${shell pwd}

KERNEL_SRC=/home/a/ltib/rpm/BUILD/linux/

obj-m:=main.o

module-objs:=main.o
all:
        ${MAKE} -C ${KERNEL_SRC} M=${PWD} modules
clean:
        rm *.ko

实际结果
insmod: can't insert 'main.ko': invalid module format

modinfo后发现文件居然是X86格式下的
filename:       main.ko
author:         VRNSS
license:        GPL
vermagic:       3.0.35-2666-gbdde708 SMP preempt mod_unload modversions 686
depends:        

PS,我的文件系统和内核已经编译完成可以使用,按道理说不应该出现这种情况
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
maimaige
1楼-- · 2020-02-22 19:27
你需要将/home/a/ltib/rpm/BUILD/linux/ 里面配置好,编译一遍,再编译你这个ko
a7458969
2楼-- · 2020-02-23 00:34
配置好后出现一大堆错误,而且我看引用的库文件依然是X86下面的
a7458969
3楼-- · 2020-02-23 01:55
 精彩回答 2  元偷偷看……
FSL_TICS_Rita
4楼-- · 2020-02-23 03:53
a7458969 发表于 2014-8-18 19:16
找到问题的原因了,在linux内核源代码的主Makefile的说明里面找到的,ARCH和CROSS_COMPILE等设置make ARCH= ...

这个我们会进一步改进的,很抱歉给您带来的麻烦。

一周热门 更多>