Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
69 lines (44 sloc) 2.73 KB
author categories date description keywords layout link slug tags title wordpress_id
vishal.bhoj
blog
2012-03-20 08:21:41 -0700
Vishal Bhoj of the Linaro Android team explains how he recently "androidized" the 3.2 Linux Kernel for Vexpress-rtsm.
Linaro, Linux on Arm, Arm, Arm SoC, Android, 3.3 Linux Kernel, Androidization
post
/blog/android-blog/androidization-of-linux-kernel/
androidization-of-linux-kernel
Android
android
linaro
patch
Androidization of linux kernel
1392

I have always wondered how one should be applying the Android patches onto any Linux kernel. Recently I had to do the same stuff. Here is a short description on how I androidized the 3.2 Linux kernel. I have added the Android patches to 3.2 Linux kernel for Vexpress-rtsm. Since the kernel was close to the upstream kernel there were no merge conflicts luckily.

Here is the vanilla Linux kernel to which Android patches were added:

http://git.linaro.org/gitweb?p=people/dmart/linux-3-arm.git;a=shortlog;h=refs/heads/arm/vexpressdt-rtsmhttp://git.linaro.org/gitweb?p=people/dmart/linux-3-arm.git;a=shortlog;h=refs/heads/arm/vexpressdt-rtsm

Andy Green from the Landing team has provided a topic(linaro-androidization-tracking) branch for 3.2 Linux kernel:

http://git.linaro.org/gitweb?p=landing-teams/working/ti/kernel.git;a=shortlog;h=refs/heads/linaro-androidization-trackinghttp://git.linaro.org/gitweb?p=landing-teams/working/ti/kernel.git;a=shortlog;h=refs/heads/linaro-androidization-tracking

Androidization process was just 4 step process:

  1. Clone the Linux kernel and create a branch for androidization :

    git clone http://git.linaro.org/git/people/dmart/linux-3-arm.git -b arm/vexpressdt-rtsm

    git checkout -b android

  2. Add the remote topic branch:

    git remote add androidization git://git.linaro.org/landing-teams/working/ti/kernel.git

  3. Fetch and rebase the kernel:

    git fetch androidization

    git rebase remotes/androidization/linaro-androidization-tracking

  4. Add the necessary configs to the board-defconfig file to enable Android components in the 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

Additionally I had to set "CONFIG_VMSPLIT_3G=y" for Android to boot on vexpress RTSM/Fastmodel.

The androidization patches are usually provided by Google but was not available for 3.2 kernel. For people working on 3.3 kernel, androidization patches are available from Google at: https://android.googlesource.com/kernel/common.git for the Android-3.3 branch.

You can’t perform that action at this time.