0

我正在尝试使用如下预编译的目标文件为 android-x86 3.10 内核构建内核模块,

tmp-objs := sample1.o prebuilt.o obj-m += tmp.o

sample1.o 有一个 sample1.c 但 prebuilt.o 是预编译的目标文件。

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

请帮助解决此构建错误。

4

1 回答 1

1

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

并且在当前内核版本(3.10)中,预建目标文件中定义的少数符号可能不存在。

这是因为在编译内核之后,它会创建一个系统映射,所有函数地址都被引用到该映射。

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

于 2013-08-24T16:23:22.337 回答