android内核和vanilla linux内核之间的补丁差异

dom*_*msl 5 linux git android github linux-kernel

我一直在尝试做的是修补或合并Android内核中的差异到特定板的Linux内核.我在成功合并2时遇到了麻烦.我试图使用这些命令合并内核来制作补丁文件:第一:我试图找到vanilla linux内核与android树合并的时间点.

 git log --pretty=oneline --format="%Cgreen%h %Creset%s" \
            --grep="Linux 3." -n 20 
Run Code Online (Sandbox Code Playgroud)

然后我做补丁:

git diff c16fa4f HEAD > 3.4-to-android.patch
Run Code Online (Sandbox Code Playgroud)

补丁是巨大的~200MB,但是当我应用补丁时,我得到了一长串错误.我关注这个网站:http://blogs.arm.com/software-enablement/498-from-zero-to-boot-porting-android-to-your-arm-platform/

我感谢您的任何帮助.(只是想学习新东西.:-))

Pet*_*eoh 2

Android 内核和 Vanilla 内核之间有很多差异:

http://www.linaro.org/blog/android-blog/androidization-of-linux-kernel/

CONFIG_ASHMEM=y
CONFIG_STAGING=y
CONFIG_ANDROID=y
CONFIG_ANDROID_BINDER_IPC=y
CONFIG_ANDROID_LOGGER=y
CONFIG_ANDROID_RAM_CONSOLE=y
CONFIG_ANDROID_LOW_MEMORY_KILLER=y
Run Code Online (Sandbox Code Playgroud)

为了克服许多 IPC 问题,Android 没有普通 Linux 中的任何普通 IPC 机制(因此内核没有实现它):共享内存、命名管道、信号量等。所有这些都可以完成由 Android BINDER 代替。

这是另一个显示移植逻辑的链接:

http://community.arm.com/groups/android-community/blog/2013/09/18/from-zero-to-boot-porting-android-to-your-arm-platform

还有另一项工作是在 vanilla 内核(如 Ubuntu / Fedora 等)中构建 Android 兼容层,以便您可以在 PC 上使用 Android 应用程序:

https://lkml.org/lkml/2013/12/4/469