Linux kernel 使用预编译的对象文件构建内核模块会给出未定义的符号!错误

Linux kernel 使用预编译的对象文件构建内核模块会给出未定义的符号!错误,linux-kernel,android-x86,Linux Kernel,Android X86,我正在尝试为android-x86 3.10内核构建一个内核模块,其中包含一个预编译的对象文件,如下所示 tmp objs:=sample1.o预构建.o obj-m+=tmp.o o有一个sample1.c,但prebuild.o是预编译的对象文件 在构建android-x86 3.10内核映像时,内核构建是未定义的!Prebuild.o中存在的符号错误 请帮助解决此生成错误。每个内核模块都应针对同一内核进行编译。这意味着,如果您有任何预编译的对象文件,内核会抛出错误(由于版本不匹配),并且预

我正在尝试为android-x86 3.10内核构建一个内核模块,其中包含一个预编译的对象文件,如下所示

tmp objs:=sample1.o预构建.o obj-m+=tmp.o

o有一个sample1.c,但prebuild.o是预编译的对象文件

在构建android-x86 3.10内核映像时,内核构建是未定义的!Prebuild.o中存在的符号错误


请帮助解决此生成错误。

每个内核模块都应针对同一内核进行编译。这意味着,如果您有任何预编译的对象文件,内核会抛出错误(由于版本不匹配)

,并且预编译对象文件中定义的一些符号可能在当前内核版本(3.10)中不存在.

这是因为编译内核后,它将创建一个系统映射,所有函数地址都将参照该映射

每个内核都有自己的System.map文件

请将相关信息添加到问题生成文件和错误日志中。谢谢Santosh。我的供应商只提供了一个prebuild.bin,它没有源文件,我使用objcopy创建了prebuild.o并试图构建内核模块。所以我必须使用prebuild.bin。我厌倦了在Ubuntu 12.04上编译同样的代码,它编译得很好。对于Android-x86,它的给出是未定义的!符号错误。