我一直在尝试做的是将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/
我感谢您的任何帮助。 (只是想学习新东西。:-))
答案 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即可完成。
这是另一个显示移植逻辑的链接:
在vanilla内核(如Ubuntu / Fedora等)中构建Android兼容性层还有另一项努力,以便您可以在PC上使用Android应用程序: