Single Android


The below tutorial outlines how to run single instance of virtualized Android on Google Galaxy Nexus[i9250] phone, using the pre-built binaries as well as the sources.

Demonstration details

  • The following demo is for Google Galaxy Nexus phone, having OMAP 4460 processors.
  • We will run single instance of virtualized Android kernel over the Codezero hypervisor.
  • Android kernel as well as the filesystem are based on android_4.0.3-r1/ICS AOSP release by Google.

Hardware requirements

  • Google Galaxy Nexus mobile phone.
  • Micro-USB to USB converter.

Downloading the pre-built binaries

Download binaries from here. It contains the following files

  • system.img – Android filesystem’s system binary image
  • userdata.img – Android filesystem’s userdata binary image
  • ramdisk.img – Android filesystem’s system ramdisk image
  • Image – ELF file containing Codezero, and Android kernels and ramdisk.img

Setting up the demo

Install AOSP tools and configure fastboot device access by following the Installing AOSP host tools and Configuring USB Access sections of the Initializing the Host Environment page.

Connect the phone to the host machine via Micro-USB to USB converter. Press Volume UP, Volume Down and Power keys of the phone simultaneously, making the phone go into the fastboot mode.

Flash kernel and filesystem binaries and boot the phone

$ fastboot erase cache
$ fastboot flash system system.img
$ fastboot flash userdata userdata.img
$ mkbootimg --kernel Image --ramdisk ramdisk.img -o paravirt-boot.img
$ fastboot flash boot paravirt-boot.img
$ fastboot reboot

Building from sources

Check the Building from Source for Galaxy Nexus page for instructions on building Codezero and Android kernels from the sources.


Comments are closed.