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

时间:2012-05-20 03:07:49

标签: android linux git github linux-kernel

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

 git log --pretty=oneline --format="%Cgreen%h %Creset%s" \
            --grep="Linux 3." -n 20 

然后我制作补丁:

git diff c16fa4f HEAD > 3.4-to-android.patch

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

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

1 个答案:

答案 0 :(得分: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

为了克服很多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