如何为OpenVPN编译"tun.ko"文件?

dum*_*ers 5 android openvpn linux-kernel

大家都知道,android有一个非常频繁的系统更新,对于每个主要的更新,只要linux内核发生变化,就需要重新编译tun.ko文件.

对于姜饼的最新更新,我发现旧的tun.ko文件是无用的,找不到从哪里得到这样的文件(我已经尝试过XDA和谷歌),所以我决定自己编译tun.ko.

我确实找到了一些介绍如何编译文件的文章和博客.我有ARM交叉编译器和android内核(来自GitHub的android镜像,因为kernel.org for android是无法访问的),但总是会出现错误,例如:

$ ARCH = arm make modules SUBDIRS = drivers/net

错误:内核配置无效.缺少include/generated/autoconf.h或include/config/auto.conf.在内核src上运行'make oldconfig && make prepare'来修复它.

/ bin/sh:/ bin/false:没有这样的文件或目录

警告:缺少符号版本转储/Users/xxx/Downloads/msm/Module.symvers; 模块将没有依赖关系和modversions.

构建模块,第2阶段./Users/xxx/Downloads/msm/scripts/Makefile.modpost:42:include/config/auto.conf:没有这样的文件或目录make [1]:*没有规则来制作目标`include /配置/ auto.conf".停止.make:* [modules]错误2

我无法弄清楚为什么会出现这些错误,任何人都可以帮助我离开?

非常感谢!

p_l*_*p_l 0

您需要首先适当地配置内核,否则无法构建模块。在大多数情况下,应该可以从设备中提取内核配置(应该在 /proc/config.gz 中),但它是一个可选功能,因此可能会丢失。

不过,为您的内核(与设备版本相同)进行一些非常通用的配置往往是可行的。