Androidization of linux kernel background image

Androidization of linux kernel

Vishal Bhoj

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:;a=shortlog;h=refs/heads/arm/vexpressdt-rtsm;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:;a=shortlog;h=refs/heads/linaro-androidization-tracking;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 -b arm/vexpressdt-rtsm

    git checkout -b android

  2. Add the remote topic branch:

    git remote add androidization 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:


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: for the Android-3.3 branch.