开发Android内核补丁

Pra*_*uis 3 android kernel patch

我一直在阅读,可以将补丁应用到您的Android内核以为其提供更多功能。

这是一个示例:https : //patchwork.kernel.org/patch/2254211/

但是我的问题是,我究竟如何从头开始开发补丁?我对修补程序的编码语言以及开发内核修补程序所需的文档在哪里感到困惑。我已经在XDA开发人员中问过这个问题,但是似乎没人知道,这就是为什么我在这里问这个问题。

iks*_*eam 5

首先,您将需要要修补的内核源,如此处所述:

https://source.android.com/source/building-kernels.html

正如您在链接中看到的那样,这些文件是用C编写的。当您获得源代码时,可以在这些文件中更改一些行以创建自己的补丁,以上链接中也说明了如何构建更改的内核。您也可以添加新文件以获得完整的新功能。

要创建您的.patch文件,您将必须执行以下操作

diff -Naur old_file.c changed_old_file.c > patch.txt
Run Code Online (Sandbox Code Playgroud)

或者您也可以使用eclipse或git这样做,如下所示:

https://docs.moodle.org/dev/How_to_create_a_patch

创建修补程序并将其应用的另一个有用工具是被子。如何使用它,您可以在这里阅读:

https://wiki.debian.org/UsingQuilt

该文档在带有注释的代码中完成。根据开发人员的不同,会有更多或更少的注释来解释代码中发生的情况。其他文档可在以下位置找到:

https://www.kernel.org/doc/Documentation/

我认为Linux内核编码风格也用于Android内核开发中。因此,您应该坚持内核其余部分的编码风格,以使维护人员认可您的补丁。

https://www.kernel.org/doc/Documentation/CodingStyle

[编辑]: 如果您想参加社区,最好订阅您最感兴趣的内核部分的邮件列表。您还可以了解需要修补的内容。Google网上论坛可能是询问如何进行其他问题的好地方。

https://source.android.com/source/community/index.html

您还可以在这里获取android的源代码:

https://android.googlesource.com/?format=HTML

我有东西遗漏了吗?

  • 如果您有一个要更改的想法,它可以帮助您搜索源代码树。例如电池。电池与电源有关,因此我搜索了电源并找到了power_supply.h http://lxr.free-electrons.com/diff/include/linux/power_supply.h?diffval=2.6.28;diffvar= v如果您正在Linux系统上工作,则可以使用grep在源树中查找包含#include <linux / power_supply.h>行的每个文件。仔细查看文件及其头文件,您可能会找到合适的位置来应用补丁 (2认同)