Download L4Android

The L4Android source code is available via git. Check gitweb to see a full list of available repositories and their latest changes.

Get Source

You can checkout the latest version 2.6.39 with

git clone

To use L4Android you actually need the L4 runtime environment L4Re and the Fiasco.OC microkernel.

Get Android

For x86 you can download the sources from the Android-x86 project. Get the sources for x86 with

$ mkdir directory
$ cd directory
$ repo init -u git:// -b BRANCH
$ repo sync

where BRANCH is either froyo-x86 or gingerbread-x86. For ARM you can download the Android source code directly from the Android repositories where BRANCH is e.g. gingerbread.

$ mkdir directory
$ cd directory
$ repo init -u git:// -b BRANCH
$ repo sync

Prebuilt Images

Building the Android user land from scratch is a lengthy task. Thus we provide you with some disk images which you can use in your own setups.
Android root file system
  1. Froyo x86 (2.2) (md5sum: f5276f78b625d56ca85bcf73876e9c0b)
  2. Gingerbread x86 (2.3.7) (md5sum: 442b52dc542b4e2debe2e81b9f7d1615)
  3. Gingerbread ARM (2.3.7) (md5sum: 33a55b877a42792df19768fcefb35dbb)
Android system images
  1. Froyo x86 (2.2) (md5sum: 26f9b49efcc96ad663014a2ef6be89c3)
  2. Gingerbread x86 (2.3.7) (md5sum: 9a9ea85af55f200dfc8018ada43463d7)
  3. Gingerbread ARM (2.3.7) (md5sum: 89f5f5032277c62485da927919d9e5b8)

Demo Images

We provide some demo images which you can try out with qemu.
  1. L4Android on x86 with Android 2.3 (103MB, md5sum: 413ca86780730f8a17cb866f72f72998)
  2. L4Android on x86 with Android 2.2 (81MB, md5sum: f5742367d581288b78ac6d2c3ba57e0c)
  3. L4Android on x86 with Android 2.2 and 2.3 (159MB, md5sum: 948e729a0251a1dd3e657fc694265ac0)
  4. L4Android on ARM with Android 2.3.4 (tgz, 42MB, md5sum: 42045a92ff6859705a8c084f3a756b64)
Run x86 demos
You can start the ISO images with qemu

qemu -cdrom image_name.iso -boot d -m 512 -serial telnet:localhost:4444,server

For the image with two L4Android instances you need to provide 1024MB of RAM. To get networking you can start qemu with

qemu -cdrom image_name.iso -boot d -m 512 -net nic,model=e1000 -net user -serial telnet:localhost:4444,server

You need to set the DNS server manually. Type

setprop net.dns1

on the Android cmdline.

Run ARM demo
The ARM demo image has been built for the Realview EB with Cortex-A9. This target can be emulated by a recent (>= 0.14.1) version of qemu. Use the following command to start the demo

qemu-system-arm -M realview-pbx-a9 -m 512 -kernel l4_gingerbread-arm.elf -serial telnet:localhost:4444,server & telnet localhost 4444