Manual Build of L4Android

This page describes how you can manually build all the pieces necessary to run L4Android on x86.

Prerequisite

To build the Android userland you need to install the required build tools as
described here. To build L4Android you need to build the L4Re environment and the Fiasco.OC microkernel first. See L4Re and Fiasco.OC for more details on how to get and build them. Be sure to check out the l4linux_requirements module. Currently we recommend using revision 38 from the public repositories.

Build Android Userland

The Android userland can be build independently from the rest of the system. We assume you have downloaded the Android source code like described in the
download section. For x86 do

$ cd /to/android-x86/source
$ make iso_img TARGET_PRODUCT=generic_x86 -jX

From here you can continue building disk images with the Android userland.

Build L4Android

First get the L4Android sources as described on the
download page.
  1. Create build directory

    somedir$ mkdir l4android_obj
    somedir$ cd /path/to/l4android/src
    src$ make L4ARCH=x86 O=/path/to/l4android_obj x86-android_defconfig

  2. Configure L4Android

    somedir$ cd /path/to/l4android_obj
    l4android_obj$ make L4ARCH=x86 menuconfig

    Set the correct L4 build tree directory (mandatory) and select additional features if you like. In the L4 section you have to select the stub driver for the block device driver for dataspaces and the framebuffer driver.

  3. Build Kernel

    l4android_obj$ make L4ARCH=x86 -jX

    Choose X according to your number of CPU cores.
If you haven't done so yet continue with building disk images with the Android userland. Then you can create an iso image which you can run in qemu.