las diferencias de parches entre el kernel de Android y el kernel de vainilla Linux

Lo que he intentado hacer es parchar o fusionar las diferencias en el kernel de Android con un kernel de Linux para una placa específica. Estoy teniendo problemas para fusionar con éxito el 2 sin embargo. Intenté fusionar el kernel usando estos commands para hacer un file de parche: 1 °: intenté encontrar el punto en el time donde el kernel de vanilla linux se fusionó con el tree de Android.

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

Luego hago el parche:

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

El parche era enorme ~ 200MB, pero cuando aplico el parche recibo una larga cadena de errores. Estoy siguiendo este sitio: http://blogs.arm.com/software-enablement/498-from-zero-to-boot-porting-android-to-your-arm-platform/

Agradezco cualquier ayuda que pueda tener. (Solo trato de aprender algo nuevo. :-))

Hay muchas diferencias entre kernel de Android y kernel de 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 

Para superar muchos de los problemas de IPC, Android no tiene ninguno de los mecanismos de IPC normales (y, por lo tanto, el kernel no lo implementa) que se encuentran en Linux normal: memory compartida, canalizaciones con nombre, semáforos, etc. Todo esto se puede hacer solo por Android BINDER en su lugar.

Aquí hay otro enlace que muestra la lógica de portabilidad:

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

Hay otro esfuerzo para build la capa de compatibilidad de Android en kernel de vainilla (como Ubuntu / Fedora, etc.) para que pueda jugar con las aplicaciones de Android en su PC:

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