Android 4.0 running on x86 CPUs

This morning the android-x86 team has released a RC build of Android Ice Cream Sandwich. It comes in a few flavours: Asus EEE-PC, Asus notebook and AMD Brazos to name a few. If you have a different netbook, fear not: the EEE PC build should run just fine.

I have installed the new build on my Acer Aspire One AOA110 (ZG5) and most features work out of the box:

  • Atheros WiFi card
  • Intel 945 graphics
  • Touchpad
  • Android Market
  • Fake SD card
  • Camera
  • Suspend – a bit buggy

Unfortunately, ethernet networking is still not supported (it’s been this way since 3.2), so this build will not have connectivity when running in VMware or Virtualbox. The same applies to the ethernet adapter in netbook itself.

EDIT: The following ISO image supports Ethernet on Virtual Machines: http://www.buildroid.org/Download/android-x86-vm-20120307.iso.gz Please keep in mind that this build does not have Android Market/Google Play.

Remember not to install GRUB if you install Android alongside other operating systems – it will leave other systems unbootable!

To remedy this, I have added these lines to my /etc/grub.d/40_custom file:

menuentry "Android-x86 4.0 Ice Cream Sandwich" {
insmod ext2
set root='(hd0,5)'
linux /android-4.0-RC1/kernel quiet root=/dev/ram0 androidboot.hardware=eeepc acpi_sleep=s3_bios,s3_mode SRC=/android-4.0-RC1 DATA=
initrd /android-4.0-RC1/initrd.img
}

UPDATE: First paid 3D game that works on Android x-86 is Fruit Ninja. Congratulations, Halfbrick!

And here you can have a look at some screenshots from this new build:

Android Honeycomb 3.2 running on x86 CPUs

NEW: Android 4.0 Ice Cream Sandwich running on x86 PC/netbook: check this post


The Android-x86 project has recently released Android Honeycomb 3.2 compiled for x86 processors. It can easily run on a PC, laptop, netbook or even inside a virtual machine. Moreover, this version includes Android Market! Unfortunately, the current RC2 build does not have any Ethernet kernel modules compiled, so it is not possible to access the Internet if you install it on a VMware or Virtualbox virtual machine.

Is it just a toy for geeks or can it be actually useful? I vote for the latter, but not just yet. Developers need to notice and support the new platform first. We also have to know, that some netbooks have already been sold in dual boot Windows – Android configuration (look for Acer Aspire One D250). Android can be actually more useful for netbooks than Windows. This is due to short boot times and lots of useful widgets, which display information right on the desktop. I have successfully used Android 2.2 for a while on my Acer Aspire One for some time, and I was only missing the Android Market and a bit more stability regarding power management (problems with waking up from stand-by).

But as you recall, I have also mentioned the need for developer support. Why? Because Android running on x86 CPU will only run SDK based apps. It won’t however work with more advanced games or apps written in NDK. Why? Because NDK apps are compiled for a specific CPU – ARM in this case. NDK based apps would have to be recompiled in order to run on x86 CPUs. So until x86 Android becomes a widely recognized platform, we will probably not be able to run most games and programs on this platform.

UPDATE: First paid 3D game that works on Android x-86 is Fruit Ninja. Congratulations, Halfbrick!


EDIT: I have just installed the Honeycomb 3.2 on bare metal – Acer Aspire One (AOA 110 / ZG5). The eeepc build works out of the box, with smooth accelerated graphics, working WiFi and Android Market.

Works out of the box:

  • WiFi
  • Sound
  • Touchpad
  • Browser
  • Android Market
  • Mail
  • Settings
  • Widgets

Does not work:

  • SD card emulation (storage works as USB instead)
  • Screen will sometimes rotate randomly
  • After one sleep/wake cycle it can’t wake up.
  • Voice commands (Audio error)
  • Ethernet (there is no kernel module)

To install it alongside an existing linux distribution, about 3-4 GB of space is required. You can use GUI based GParted to shrink your exisiting linux partition, or console based e2fsresize. DO NOT LET THE ANDROID INSTALLER TO INSTALL GRUB – it is known to cause your previous linux unbootable. Instead, after performing the Android installation, edit your existing GRUB2 configuration (Ubuntu example for /dev/sda5 below)

sudo vi /etc/grub.d/40_custom

Add the following lines at the end of the file:

menuentry "Android-x86 Honeycomb" {
  insmod ext2
  set root='(hd0,5)'
  linux /android-2011-11-13/kernel quiet root=/dev/ram0 \
     androidboot_hardware=eeepc acpi_sleep=s3_bios,s3_mode \
     SRC=/android-2011-11-13 DATA= DPI=160
  initrd /android-2011-11-23/initrd.img
}

Save file, run update-grub