Jump to: navigation, search

Android is an operating system based on the Linux kernel, and designed primarily for touchscreen mobile devices such as smartphones and tablet computers.

Android 4.3.1 (Jelly Bean) for XO-4

OLPC is preparing for a customer an Android, Sugar and Gnome dual-boot system for the XO-4 Touch. This will allow children to switch between the operating systems by rebooting, so that educational content can be delivered in either format.

The build is based on our arm-3.5 kernel, with changes which may be found in the arm-3.5-android branch of our olpc-kernel repository.

Do not rely on this build for any critical data, in particular do not associate your regular Google account with this build if your Google account is critical to you.


  • make a backup of anything you want to keep on the XO-4, because it will be erased by this test
  • download the .zd file according to whether your firmware supports symmetrical multi-processing ("SMP"). Firmware versions named as q7c## (where ## is two digits) support SMP, while all earlier versions do not.
if your firmware supports SMP (ver ≥ q7c00) if your firmware does NOT support SMP (ver < q7c00)
  • save the smp.zd file to a USB drive
  • at the ok prompt, type this:
fs-update u:\smp.zd
fs-update u:\32014a4.zd
(limitation: SMP version is not dual-booting with Sugar)
  • when the installation completes, type this:


  • hold no keys to boot Linux, as usual,
  • hold the O game key to boot Android,
  • hold the rocker down key to bring up the boot menu, then select either Linux or Android,

Note: the choice made at the menu is not saved. Previous builds did save the choice. This was removed because the saved state is undiscoverable, so there would have been forced power downs during boot because the child didn't remember what state the system was in, either because they forgot or the laptop was used by someone else.

Keyboard mapping

  • rotate key, shows recent apps,


  • O game key, volume up,
  • X game key, volume down,
  • Square game key, back,
  • Tick game key, enter,


  • f5, search,
  • esc, back,
  • esc+alt, home,
  • esc+ctrl, menu,

Note: keyboard layout can be switched among different OLPC keyboard layouts;

  • Android support following OLPC keyboard layouts:

English (US international); Spanish (Latin America);

Known problems

  • key events from a paired bluetooth keyboard are ignored, <trac>12784</trac>,
  • not implemented; dual core SMP <trac>12297</trac>, and ambient light sensor,
  • does not coexist with olpc-update, it fails because /bootpart/boot/alt is present, but if this is removed and the update applied, the Android kernel and ramdisk will have to be reinstated manually,
    • status: wont fix, can add a Android kernel and ramdisk in olpc-os-builder if coexistence is required,
  • when used with the 8686 wireless module, the bluetooth function is listed in settings, can be turned on, but turns itself off, <trac>12796</trac>,
    • status: won't fix, the module is no longer available.
  • sometimes the first boot dialog hangs when the start button is pressed, <trac>12797</trac>,
    • status: won't fix, not in our control.

See our trac milestone 13.2.0-android report of problems to be fixed.

Test cases

  • boot,
  • use power button for sleep and wake,
  • use of e-book switch (close lid) for sleep,
  • use of headphones to play music from USB drive in MP3 format,
  • use of bluetooth to pair a headset,
  • associate with a Raspberry Pi providing Khan Academy content KA-Pi, access via Browser, play video, fullscreen, play to end,


See Also