HOWTO: Install Android-x86 2.2 in VirtualBox

60

Android-x86

Since Android-x86 2.2 was officially released a few days ago, I figured I’d provide a quick rundown of how to get it up and running in VirtualBox. All in all, it is pretty straightforward. Download, install, download, install. But if you’ve never installed a Linux based system before, some of the steps will look quite foreign. Plenty of screenshots will help with that!

Step 1: Install VirtualBox

This one’s easy. Head over to the Downloads section on the VirtualBox site and snag the appropriate installer for your OS. Since it will be a little different for each OS, I won’t provide screenshots for each step here. In general there’s just a lot of “Next” clicking involved. Of note, the networking component of the setup process will temporarily disrupt your connection. So if you’re downloading anything else, wait until it is finished before continuing with the setup.

Once installation is completed, you’ll be greeted with a screen like this the first time you run VirtualBox:

Fresh VirtualBox install

Fresh VirtualBox install

Step 2: Get the Android-x86 ISO

Next up, you’ll need the Android-x86 ISO itself. The one to snag is android-x86-2.2-generic.iso.

Since the project is active, by the time you read this, there may be a new ISO out. So also check the Downloads section on Google Code: http://code.google.com/p/android-x86/downloads/list

Step 3: Create a New VirtualBox VM

Now it is time to create a virtual machine for Android-x86 to run in. Hit the “New” button and you’ll get a “Create New Virtual Machine” dialog.

Create a new VM

Create a new VM

The first screen is just some fluff, hit “Next” and jump to the useful stuff. Now you get to name your new VM and specify the OS. The name can be anything you like, I named mine “Android x86 2.2 Froyo”. For “Operating System” select “Linux” and for “Version” select “Other Linux”.

VM Name and Type

Set your new VM's name and OS type

Next up is specifying the amount of memory available to the new VM. The default is 256MB, which is likely sufficient unless you’re doing something that specifically needs more. If need be, you could get away with less, but I wouldn’t suggest ever going under 128MB. It will boot with 96MB, but it is not much fun to use!

Allocate Memory

Allocating memory to your VM

Next up you’ll need to choose whether or not you want to create a Virtual Hard Disk, or VHD.

If you’re wanting to save your changes (installed apps, settings and whatnot) then you’ll need to create a VHD, leave the box checked and hit “Next”.

If you only intend to boot the Live CD and toy around for a bit, you can skip this part by unchecking the “Boot Hard Disk” box. When you hit “Next” you’ll get a warning about needing some sort of bootable media—just ignore it, that’ll get taken care of in the next step. Hit “Finish” and jump to the next step of the tutorial.

Virtual Hard Disk Creation

Choose whether or not you want to create a VHD

You’ll be presented with the “Create New Virtual Disk” dialog. Once again, it starts out with an inconsequential step, so hit “Next”. Now you’ll have to decide if you want a virtual disk which is dynamically sized or a fixed size. If you choose to make an 8GB fixed VHD, the file the wizard creates will take up a full 8GB. Whereas dynamic just resizes on the fly, up to the maximum size you select. You’ll probably just want to leave it dynamic so you’re not filling up space that’s really not being used.

Choose VHD Type

Choose the type of VHD you want to create

Next up, set how large you want your VHD to be. The default is 8GB which is sufficient, but it all depends on your needs. Set the appropriate size, hit “Next” and then “Finish” twice—once for the VHD and once for the VM itself.

VHD Size

Choose the size of your VHD

You should now have a shiny new VM!

Your new VM!

Your new VM!

Step 4: Mount the ISO

Now that you’ve got a VM ready to use, there’s one last step before booting the ISO—mounting the ISO! Right click the VM in your list and bring up its “Settings” dialog, then go to the “Storage” section of it. Under “IDE Controller” you’ll see an entry for your VHD, if you created one, and a CD icon that says “Empty” next to it. Select the CD entry and you’ll see another CD icon on the right hand side. Click it and select “Choose a virtual CD/DVD disk file…”. This pops open a standard file dialog; browse to wherever you saved the ISO in Step 2 and select it. After that, hit OK to exit the Settings dialog.

Mounting the Android-x86 ISO

Mounting the Android-x86 ISO

Step 5: Boot it up!

You’re now ready to boot the new VM. Double click on it and the VM will start running. If this is a fresh VirtualBox install, you should have several dialogs popping up. The first talks about the “Auto capture keyboard” option. The important thing to remember is that if you need to break out of the VM to control the rest of your system again, hit the right hand Ctrl key (at least on Windows) and the VM will release control back to the host OS. Next, you may get a dialog about your system’s color depth being greater than 16 bit. This can be safely ignored. Check the “Do not show this message again…” box and you’re set. Last will be a dialog about “Mouse pointer integration”, which we’ll actually need to turn off in a moment. Hit OK on these and you should see the Live CD’s boot menu:

The Android-x86 boot menu

The Android-x86 boot menu

If your goal is simply to boot the Live CD, select the “Live CD – VESA mode” option. At that point, it should boot up and be ready to use—almost! Remember that “Mouse pointer integration” thing? Well you’ll probably notice that you won’t see your mouse cursor showing up at all. From the “Machine” menu, select “Disable Mouse Integration”. Then click inside the VM, you’ll get another dialog about capturing the mouse pointer. Hit “Capture” and you’re ready to go—just remember that the right hand Ctrl key releases control back to your host OS. Since you’re not installing to a VHD, you’re done. Enjoy Android-x86!

Android-x86 up and running!

Android-x86 up and running!

Step 6: Installing Android-x86 to the VHD

So everything is set up and ready to run, but there are a few steps left if you want to install Android-x86 to a virtual hard drive. From the boot menu select “Installation – Install Android-x86 to harddisk”. A bunch of text will fly by and you’ll get the following menu:

Partition creation

Time to create a partition

Select the “Create/Modify partitions” option and you’ll then be presented with the cfdisk partition editor.

The cfdisk partition editor

The cfdisk partition editor

From here select “New”, then “Primary” and then it will ask you what size you want the partition to be. It defaults to the full size of the VHD, so you’ll probably just want to hit enter and go with it. Next select “Bootable” and then “Write”. It will ask you to type out the word “yes”—do so. If you were installing this to a physical instead of virtual hard drive, this tool can do some serious damage to your file system, so that’s why it is picky enough to have you type it out. But since we’re in the land of the virtual, all is well! You’ll get a “Writing partition table to disk…” message and should now have an “sda1″ entry in the table, like so:

Partition created

Partition created

Now you’ll want to select the “Quit” option to jump back to the installation procedure. You should now have an entry there which says “sda1   Linux        VBOX HARDDISK”. Select that entry to continue.

Ready to install

Ready to install

Now you’ll need to format the newly created partition. Select ext3 from the list and continue. Another dialog asking you to confirm will pop up. Again, this is another thing that would completely screw up an existing hard drive, so it will warn about data loss. Select “Yes” and a progress bar will show up, formatting the drive.

Format the new partition

Format the new partition with an filesystem ext3

Once it is done formatting, you’ll be asked to install the GRUB bootloader. This is important, so don’t skip it, otherwise your freshly installed VHD won’t boot!

Install GRUB

Install the GRUB boot loader

Now you’ll be asked whether or not you want “/system” to be read-write. Unless you’re a developer, just select “No”. Another progress bar will show you the progress of the actual installation. Almost done!

/system read-write

Select whether or not you want /system to be read-write

Android-x86 is now installed on your VHD! You can now run the OS, reboot, or create a fake SD card to use within the VM. If you want an SD card available to save media to, select the SD option; it’ll ask you how large it should be (in MB), create it and have you reboot.

Since the ISO is still mounted, the VM will boot off it again after a reboot. From the “Machine” menu, “Close” the VM, go back into the VM settings and unmount the ISO following the same instructions from step 4, but select “Remove disk from virtual drive”. Then it will boot off the freshly installed VHD instead.

Android-x86 installed

Android-x86 installed and ready to rock!

Summary and Downloads:

That’s it! You should now have a VM with Android-x86 installed on a VHD, ready to use. Don’t forget to disable mouse integration so you can see your cursor, and remember that right Ctrl releases back to the host OS. Other keys of importance: Back is mapped to Escape; Home is mapped to the Windows key; Menu is, appropriately, mapped to the Menu key (if you don’t know which one that is, it’s the one you never use between Ctrl and Alt on the right hand side of the keyboard).

Enjoy and have fun!

About the Author

Randall A. Gordon
Hello, my name is Randall A. Gordon and I have a technology addiction. Geek doesn't even begin to convey the extent of it. If there are ones and zeros involved, there's a good chance I am as well. To get a bit more specific, my major personal interests are web design & development, augmented & simulated reality and ubiquitous computing. I'm currently rocking an overclocked and highly customized Palm Pre (sacrilege, I know!) while awaiting the arrival of dual-core Android phones.

  • http://www.madelk.co.uk Mark Dell

    Great guide, but I have a couple of post install questions:
    I’m guessing this won’t come with the Android Market or other Google apps, is there a way to install it? Also how’s the performance for things like 3D games?

    • http://randallagordon.com/ Randall A. Gordon

      No official Market, that’s a copyright issue. I’ve got my fingers crossed that Google opens things up on that front to allow non-OEM builds to run it, but there are major security concerns involved, so I wouldn’t hold my breath. It does have AndAppStore installed, but, admittedly, it’s not a 100% stand-in.

      As for games, it’ll depend heavily on the performance of the machine you’re virtualizing on. VirtualBox only supports 2D hardware acceleration on Windows guest VMs, unfortunately. And turning 3D acceleration on seems to just goof things up. I’ve encountered many apps and games that just flat out crash.

      • Liste

        Hi Randall Gordon,

        If I’ve correctly understood, that means we can’t get any of the apps from the Android App store (like https://market.android.com/)? I’ve tried from VirtualBox (thus I am running Android), but It tells me that there are no Android devices associated with this account when I try to download an app despite the fact that I’m running Android.

        From the AndAppStore I can get a few apps that aren’t really worth while, but I can’t even get anything really common like a facebook app or Skype, or anything like that. Sorry I’m new to this all. Have I correctly understood the significance of “No official Market”? And is there not much chance that we’ll be able to get those apps on the Android market? Thanks!

      • abhishek

        it doesnt finish booting

    • sai krishna

      not working

  • http://www.facebook.com/edtheplumber Ed Melancon

    I have been attempting to find a way to use my bluetooth GPS to get turn by turn to work on my laptop to no avail. Anyone has any tips? I also would love to be able to access the market and get certain apps like ping chat to work.

  • http://www.davidcaunt.co.uk/ David Caunt

    You can install the market (and other APKs) via adb but you won’t be able to see the device by default.

    Get the local network address for the VM and then use adb connect to connect adb. You can then use adb commands as normal to see the log, get a remote shell or install files.

    Does anyone know how to rotate the VM/device?

  • http://twitter.com/RogerDukeGreene Roger (DUKE) Greene

    Can this be installed to a physical hard drive and not a virual machine? I have an old laptop I would love to put this on.

    • http://randallagordon.com/ Randall A. Gordon

      Certainly can be! Just burn the ISO to a CD, but make sure it is being burned as a disk image, not just the .iso file onto a CD or it won’t work. Or you can use Unetbootin (http://unetbootin.sourceforge.net/) to create a bootable flash drive.

      Just be aware that there’s a fairly high chance your hardware won’t be supported. Wi-Fi can especially be a pain to get working without a good bit of system level Linux knowledge.

  • Kplgmc

    Anyway to change how big you can make the fake sd card? It seemed limited to 2048 when I made it.

  • Anonymous

    Hello Randall Gordon.
    I did all steps of your instructions but after unmount the ISO and rebooted the VM issue: “FATAL: no bootable medium found! System halted”
    Help me please, what i do wrong ?

    • http://randallagordon.com/ Randall A. Gordon

      Sounds like the Virtual Hard Drive didn’t get setup/saved properly. I’d suggest just double checking to make sure you didn’t accidentally unmount both the ISO AND the VHD. If it is still mounted properly, just remount the ISO and try installing again.

      • Anonymous

        Its work !! Thanks.
        But have one more question: when change keyboard language, and from console i reboot OS, after reboot keyboard dont changed :(

        • http://randallagordon.com/ Randall A. Gordon

          Unfortunately I don’t have an answer for that one.

  • Mikage Kun

    @David Caunt,

    Is there a tutorial out there on how to do this (install the Android Market)? The Android SDK was so clunky it’s why I went with the x86 and Virtual Box option. I’m not opposed to using the SDK if it’s the only way to get the market running in my virtual box version of Android x86, but I could really use some step by step instructions.

  • Paul Baker

    Randall –

    Just wanted to express my appreciation for your step-by-step tutorial, especially the work you did to mark up the screen shots.  Prior to finding your page I spent hours looking at other videos and tutorials; most were sketchy and/or ambiguous. 

    Thanks!
    Paul Baker

  • Napalmenema68

    Nice.  Thanks.

  • Hackerblackspear

    Where’s the SD card location in the HDD ? I can’t find it to put my file,or where the adb.exe and how can I access ?

    • Spamfreeliu

      any answer to this?

  • Venukodavath

    Excellent article. Just works!!!

  • http://www.facebook.com/profile.php?id=613940664 Vishal Biyani

    Hey Thanks for wonderful article. How do I access Home/Menu button of Android within the Virtual machine?

    • Andy

      Did you find out? I didn’t see an answer anywhere in the comments.

      • https://plus.google.com/117457510566857497398/about Randall A. Gordon

        By default “android-HOME” maps, conveniently, to the Home key on the keyboard. “android-MENU” isn’t nearly as obvious, however—it is the “Windows” key. I believe the middle mouse button works for it as well, but could be wrong. If you want to modify your keymap, here’s the pertinent info:

        http://www.kandroid.org/online-pdk/guide/keymaps_keyboard_input.html

        The file to modify is: /system/usr/keylayout/qwerty.kl

  • Oxanix

    Is it possible to install your own android apps on the virtual box android made in eclipse? I know I can test them using the ADT plugin in eclipse however for a user study I will be doing, we need it to run at similar speeds to the stand alone devices.

  • Stefan Ivanović

    Sorry but the Internet does not work. Do you have the solution?

  • None

    and how about graphic acceleration? how to enable it?

  • abhilash pujari

    its working fine ..no issue…whats abt ethernet…wi-fi

  • jayp

    Running great, but can’t connect to the Internet or market.  The NIC settings are correct in Oracle VM, every time I try to setup an ethernet connection using DHCP in Android, it force closes.  Any ideas on how to fix this because without market, this is pretty much useless to me. thanks.

  • Evren Ozturk

    That’s awesome. It’s really better way than using emulator for developing. Thank you for these useful informations.

  • Mitesh Gangaramani

    I have installed android 3.2 in VM virtualbox,
    But android only supports wi-fi connections,
    Is it possible to have internet connection via virtualbox ethernet connection?
    I wan’t to use my host os mobile dongle for my guest andoid os.

  • MIke

    Thank you. Trying to get setup to develop android apps has been a 3 day labyrinth for me so far.

    I am running Opensuse 11.4. After the VirtualBox Install I ran into a bunch of missing Kernel packages. I was missing DKMS. after installing DKMS it instructed me to run vboxdrv setup which then failed due to missing Kernelsso so I installed Kernel-Source and Kernel-syms.

    I got the the setup ran without errors.

    But now when I try to start my VM i just a get a simple generic error “Failed to open a session …”

  • harsh gautam

    Hi,

    Internet and mouse are not working on the Andriod VM. Any solutions?

    • Teaius

      Under network you should select the bridge option instead of the NAT option.

  • SD

    Hi. After i unmount the ISO, i reboot into the grub loader, and unable to proceed. May i know what’s wrong?

  • hakeemuddin

    i have all things done but after tht live android is ready but on the box i cant see my cursor plz advice me.

  • http://www.m0rd0r.eu Stoill Barzakov

    Everything works this way except the network (cannot use NAT or bridged interface with Android).

    Did you have any success virtualizing the connection with Virtual Box?

    • http://peteswebsite.us/ Peter B

      Someone posted this on another site.

      Guest

      1. Set the Network Adapter for the VM to NAT
      2. Open Terminal Type the following;
      “VBoxManage modifyvm {Virtual Machine Name} –natpf1 adb,tcp,*,5555,*,5555″

      I solve this on my end!

      Give it a shot and let us know if it worked please. Thanks

  • Edwin Thompson

    I’m really confused. The first concern occured when I did not see the same screen, directly shown above step #6. One thing that was not clear and I tried was to download the file: android-x86-4.0-RC1-amd_brazos.iso The first file was: android-x86-4.0-RC1-s103t.iso. Hoewver, the VM only results in a black screen. I have an Intel I7 running Windowns 7/64. Any suggestions on this would be greatly appreciated.

    I also tried to go back to step #4 to ““Remove disk from virtual drive”. When I did this, the Fatal message now says, “No bootable medium found! System halted.” Any ideas how I could correct this?

    Finally, what is the procedure for safely removing the virtual HD without causing any problems.

    You did a great job on this tutorial, especially compared to a lot of others. I just don’t have enough information to correct any of these problems.

    BTW, when it does boot up properly it seems to take quite awhile.

  • Nuhendra

    Nice tutorials.But i am stucked in one or two issues.
    First i want to use resolution of 320*480 and second i want to mount sdcard.Hope i can get some help.Thanks in advance

  • Robin

    just check simple tutorial on youtube ” How to install android OS on pc” check out the video with orange background real piece of cake and INTERNET WOrKS FINE after this i downloaded Android-2.2 mounted on VirtualBOX by clicking new, again fun and games like angry bird and all works great.

    Have a gud one bye folks

  • brent

    So, when i try to boot, i get the logo fine…it goes back and forth, back and forth, and never finishes…how long should i wait/what’s wrong?

  • Mark

    The Android-x86 guys wrote an official page for that, please include the link to http://www.android-x86.org/documents/virtualboxhowto

    If audio does not work: change sound device from ICH AC97 to Sound Blaster 16.

  • Kyoungsu

    I successfully created a fake SD card and reboot it.
    However, if I check SD card space in setting menu, there are no space available so that I can’t download any application. Would somebody resolve this problem?

  • anonymoose

    Android-x86 versions 2.2 and 2.3 have built-in wired Ethernet networking — no tweaking required. Those versions are faster and lighter, as well.

    I could not get wired networking to work at all in Android-x86 3.2, and in Android-x86 4.0 I had to use a bunch of tweaks (see http://ubuntuguide.org/wiki/Android_emulation ).

    It is just easier in the long run to use Android-x86 v. 2.3 if you have a wired internet connection.

    (I use Android-x86 in VirtualBox).

  • http://www.lynnsoft.com Ott Sathngam

    Thank you so much Randall, you make installing Android on to VirtualBox easy. That is what I call expert in the field. I am working on MDM special security feature for Android. I have been tried to boot my modified new kernel from USB for many hours. Then, I ran across your article here. It took me about 10 min and my kernel was booted. Again many thank.

    Otts

  • Vijay aher

    thank you It is useful for me

  • Sam

    Hey thanks for the how to! I have one question. When i am going through menus, I cant figure out to go back or the home screen. Is there a way?

  • Somone

    Hi, I have done all the above steps, but It does not seem to boot, it loads up then gives me a black blank screen. Any help here?

  • Robert Cohn

    Hello –

    Thanks very much for the tutorial! It mostly worked as you described.

    I was trying to use this VM and load the “Hello World” Android app from Eclipse (I had no success in trying to use VMs created in that environ.).

    To run this app (using the VM’s default NAT networking NAT), I found I couldn’t connect with adb until running this vboxmanage cmd (seen many places on the net, where “AndroidVM” is the VM name):
    vboxmanage modifyvm AndroidVM –natpf1 adb,tcp,*,5555,*,5555

    This allowed me to connect to the VM with this command (where the IP is found by running ipconfig /all from a Windows cmd prompt):
    adb connect 192.168.56.1

    When I opened Eclipse and ran the “Hello World” app as an Android Application, I was able to connect to the VM from the Android Device Chooser. The startup trace shows that the app was installed on the VM but seems to be hanging while starting the default Activity:

    [2013-01-01 10:09:35 - MyFirstApp] Android Launch!
    [2013-01-01 10:09:35 - MyFirstApp] adb is running normally.
    [2013-01-01 10:09:35 - MyFirstApp] Performing com.example.myfirstapp.MainActivity activity launch
    [2013-01-01 10:09:57 - MyFirstApp] Uploading MyFirstApp.apk onto device ‘192.168.56.1:5555′
    [2013-01-01 10:09:57 - MyFirstApp] Installing MyFirstApp.apk…
    [2013-01-01 10:10:11 - MyFirstApp] Success!
    [2013-01-01 10:10:11 - MyFirstApp] Starting activity com.example.myfirstapp.MainActivity on device 192.168.56.1:5555
    [2013-01-01 10:10:17 - MyFirstApp] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.example.myfirstapp/.MainActivity }

    The VM itself still shows its startup screen (with the date, lock and sound buttons, etc.). No indication that the app is running.

    Any idea what’s going on here?

    Once again, many thanks for the tutorial and any help you can provide.

    Best regards,

    Bob

    • Robert Cohn

      Hello again –

      Seems I was able to solve the problem. Essentially, I was battling my own ignorance of what to do in the Android desktop. When I pulled up on the Unlock button and navigated to the apps area, the “Hello World” app was there (technically, the app’s name is “MyFirstApp”) and worked as expected.

      Maybe somebody else can benefit from my stumblings by reading my two posts.

      As a side note, I upped my HD size to 8Gbytes and had it created with the full size. Not sure, but I think this allowed the VM to initialize to the desktop sooner than using the smaller size and dynamic HD creation.

      Best regards and thanks,

      Bob

  • John

    Hi! When i try to run live android or to run after instalation it shows android lettters shining like loading but im waiting so long and nothing happens! What can i do?

  • Giulia

    In my VirtualBox installation i got Menu opened with F1.

© 2011  AndroidSPIN. All rights reserved.
A Subsidiary of MobileTweek Inc.