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

时间:2011-10-11 22:54:02

标签: android linux-kernel openvpn

大家都知道,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。            运行'make oldconfig&&在内核src上做准备以修复它。

     

/ 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]: * No   规则使目标`include / config / auto.conf'。停止。 make:*   [modules]错误2

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

非常感谢!

1 个答案:

答案 0 :(得分:0)

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

为您的内核制作一些非常通用的配置(使用与设备相同的版本)可能会起作用。