在Android内核中安装内核模块

在Android内核中安装内核模块,android,linux,android-source,netfilter,android-kernel,Android,Linux,Android Source,Netfilter,Android Kernel,我正试图利用linux内核中的netfilter挂钩开发一个TCP流量整形解决方案。现在我想在Android内核中做同样的事情。我使用ubuntu,在那里我可以通过insmod命令安装内核模块。如何在Android内核中实现同样的功能。我已经下载并构建了一个android内核,可以在emulator上运行它。我对Android内核中更改的文件系统感到困惑。有人能帮我在Android内核中安装内核模块吗。如果您正在查看iptables,那么您应该知道它们已经集成到Android中了。您可以阅读本文

我正试图利用linux内核中的netfilter挂钩开发一个TCP流量整形解决方案。现在我想在Android内核中做同样的事情。我使用ubuntu,在那里我可以通过insmod命令安装内核模块。如何在Android内核中实现同样的功能。我已经下载并构建了一个android内核,可以在emulator上运行它。我对Android内核中更改的文件系统感到困惑。有人能帮我在Android内核中安装内核模块吗。

如果您正在查看iptables,那么您应该知道它们已经集成到Android中了。您可以阅读本文以了解如何安装新版本。

如果您正在查看iptables,那么您应该知道它们已经集成到Android中。您可以阅读本文以了解如何安装新版本。

即使可加载内核模块(通过
insmod
命令添加)是扩展正在运行的内核的一种方便方式,或者可能因为这个事实,一些安卓设备没有使用可加载模块支持进行编译。您可以通过检查
proc
文件系统中的
modules
条目或在内核配置中查找
CONFIG\u modules
的值来确定正在运行的内核是否支持可加载的模块。在Android 4.3发布期间,谷歌对所有受支持的Nexus设备禁用了可加载模块支持。需要新的内核构建来启用LKM支持,或者您可以将模块添加为内核的一部分(内置)并构建它。

即使可加载内核模块(通过
insmod
命令添加)是扩展正在运行的内核的一种方便方法,或者可能是因为这一事实,一些Android设备没有使用可加载模块支持进行编译。您可以通过检查
proc
文件系统中的
modules
条目或在内核配置中查找
CONFIG\u modules
的值来确定正在运行的内核是否支持可加载的模块。在Android 4.3发布期间,谷歌对所有受支持的Nexus设备禁用了可加载模块支持。需要新的内核构建来启用LKM支持,或者您可以将模块添加为内核的一部分(内置)并进行构建。

也许您最好看看谷歌团队中有一个专门针对android平台开发的团队,我认为甚至还有一个专门针对knerel开发的团队,或者XDA开发人员,他们做得相当多。就我所知,这是有问题的,因为不同设备的内核代码有点不同(尽管每个制造商都必须打开它们的代码!)很可能您需要编译模块作为内置函数,而不是像我一样编译模块;我不确定insmod是否是android工具集的一部分。@codeScriber我认为这也是问这些问题的好地方。在这里查找问题更容易,您可以清楚地评估问题的影响。唯一的问题是在这个话题上没有足够的专业人士。但我认为这种情况很快就会改变。也许你最好看看谷歌的团队,有一个专门的android平台开发团队,我认为甚至有一个是knerel开发团队,或者XDA开发团队,他们做的很多。就我所知,这是有问题的,因为不同设备的内核代码有点不同(尽管每个制造商都必须打开它们的代码!)很可能您需要编译模块作为内置函数,而不是像我一样编译模块;我不确定insmod是否是android工具集的一部分。@codeScriber我认为这也是问这些问题的好地方。在这里查找问题更容易,您可以清楚地评估问题的影响。唯一的问题是在这个话题上没有足够的专业人士。但我认为这种情况很快就会改变。