我为android编译了金鱼armv7内核。
一切正常,我的编译内核在模拟器上运行良好。 我的问题是,我想在我的金鱼内核中插入一个内核模块(.ko)。 但是交叉编译“你好世界”#39;内核模块给了我一些错误。 所以我用Google搜索并发现我需要用
重新编译我的金鱼内核' CONFIG_MODULES = Y'
选项已启用。 当我在互联网上阅读时,我在我的.config脚本中添加了以下行。
CONFIG_MODULES=y
CONFIG_MODULES_FORCE_LOAD=y
CONFIG_MODULES_UNLOAD=y
CONFIG_MODULES_FORCE_UNLOAD=y
但如果我使用这些选项重新编译我的金鱼内核,我会收到以下错误。
LD net/built-in.o
LD vmlinux.o
MODPOST vmlinux.o
GEN .version
CHK include/generated/compile.h
UPD include/generated/compile.h
CC init/version.o
LD init/built-in.o
LD .tmp_vmlinux1
net/built-in.o: In function `tcp_nuke_addr':
activity_stats.c:(.text+0x4e4b4): undefined reference to `rt6_lookup'
activity_stats.c:(.text+0x4e5c4): undefined reference to `in6addr_any'
make: *** [.tmp_vmlinux1] Error 1
root@ubuntu:/disk2/android/kernel/goldfish#
一些文档说我应该从脚本中删除CONFIG_NETFILTER = y。 我做了,但结果是一样的。
我现在被困住了......有人可以帮帮我吗? 提前谢谢你。
答案 0 :(得分:0)
https://source.android.com/devices/tech/kernel.html上有一个建议的Linux配置选项列表,包括CONFIG_NETFILTER
。
答案 1 :(得分:0)
我删除了与IPV6,INET6相关的所有配置 请记住仅禁用与IPV6相关的模块,而不禁用IPv4。
# CONFIG_IPV6 is not set
之后我就能够构建它。
答案 2 :(得分:0)
也可以
CONFIG_IPV6 = y
似乎build尝试将IPv6配置为模块,但是如果IPv6不在内核中,则内核使用的功能将不可用