Documentation‎ > ‎

VirtualBoxHowTo

 
 

Introduction

The following are instructions on how to run Android-x86 inside VirtualBox.

Note: For optimal performance, make sure you have enabled either VT-x or AMD-V in your host operating system's BIOS.

Android-x86 versions tested against Virtualbox versions.
Date Tested Virtualbox Host OS Android-x86 Result
?? 2.2.4 Windows XP ?? Good
?? 3.0.2 Fedora 11 ?? Good
Nov. 2 2017 5.2.0 Windows 10 6.0-r3 32/64 bit Good

Downloading

Download an ISO of Android-x86 from here.

Caution: If you are using Android-x86 for debugging purposes, some binaries (gdb for example) are built for 32-bit architectures and will not support debugging 64-bit binaries such as the Android app host. Download a 32-bit distribution instead.

Create a new VM

If you have not already created a VirtualBox virtual machine for Android-x86 yet, do so as follows:

  1. Click the "New" button, and name your new virtual machine however you like. Set Type to Linux, and Verison to Linux 2.6 / 3.x / 4.x. Note that you should choose the appropriate bit type for the version of Android-x86 that you downloaded.
  2. Specify how much RAM will be allocated to your virtual machine when you run it. Android doesn't specify a bare-minimum requirement for memory, just keep in mind what apps you plan on running. 2GB (2048MB) is a good place to start, and you can change this later if you need to.
  3. Create a new Hard disk image which will act as your machine's storage. The recommended starting size of 8GB is enough. Click through the rest of the options for creating your Hard disk.

Your virtual machine has now been created. It still needs to be initially installed at this point.

Settings

Tested on VirtualBox 64-bit for Windows, version 5.2.0. Android-x86 version 6.0-r3, both 32-bit and 64-bit.

Select your machine, then click the Settings button and refer to the below recommended configuration to make sure your settings match.

  • [System] Optional: Processor(s) may be set above 1 if you have more than one virtual processor in your host system. It is uncertain whether or not this has any affect on Android-x86, be it positive or negative.
  • [Display] Optional: Video Memory may be increased beyond the minimum selected automatically. Again, the affects of this are unknown.
  • [Display] Optional: Enable 3D Acceleration may be checked. The Linux Guest Additions may need to be installed to get any benefit from this.
  • [Storage] Find the first "Empty" item (this should have an icon of a CD). In the Attributes, click on the CD icon with a small down arrow, and pick "Choose Optical Virtual Disk File...". Specify the Android-x86 ISO that you downloaded.
  • [Audio] Intel HD Audio seems to be natively supported in Android-x86.
  • [Network] By default, your installation of Android-x86 will be able to automatically connect to the internet. If you do not want this, uncheck Enable Network Adapter under the Adapter 1 tab.

Install

Click the green Start arrow to power-on your virtual machine. You'll be presented with a list of options. Use the arrow keys to pick which one you want, then press Enter once the one you want is selected.

If you don't want to install Android-x86 yet and just want to test it, pick one of the Live CD options (except for Debug mode). Pick the Installation option if you want your system to be installed to the virtual hard drive.

If you want to use higher resolution, you can edit the boot option by pressing TAB, change vga=788 (800x600) to vga=791 (1024x768) or vga=794 (1280x1024), and press Enter. You can also use vga=ask to see all available modes. But please note Android will only work under 16-bit mode.

Partition

When you are prompted to Choose a partition, you'll want to Create/Modify partitions. Do not use GPT! This will cause the GRUB installation to fail later.

You may partition your disk however you see fit. If you just want a simple installation, create one partition taking up the entire disk and format it as ext4.


Continue through the installation. You should install GRUB when it prompts you do so. You may also leave /system as read and write when prompted.

Once the installation is complete, reboot your virtual machine and remove the ISO from the virtual CD drive. Once Android-x86 has loaded, you can perform the Android setup and begin using your machine.

Advanced

Custom partitions, SDCard

When booting Android-x86, you may specify which partitions represent the data and sdcard. On the boot menu, select an entry you would like to boot from, press TAB, then add the following as it suits your needs:

DATA=sda1 SDCARD=sda2

Press Enter to boot. These options specify user data (your setting, your uploaded applications, ...) go into /dev/sda1, and data saved in sdcard go into /dev/sda2.

If you build the ISO from source, you can add these options to bootable/newinstaller/boot/isolinux/isolinux.cfg.

Here is a note from David when using fdisk:

  1. Create a new virtual machine with a hard disk.
  2. Launch the Live ISO in Debug mode (I used android-x86-2.2-generic.iso) to get the commend prompt.
  3. "fdisk /dev/sda", then type:
    1. "n" (new partition)
    2. "p" (primary partition)
    3. "1" (1st partition)
    4. "1" (first cylinder)
    5. "xx" (choose the last cylinder, leaving room for a 2nd partition)
    6. "w" (write the partition)
  4. Repeat #3, but call it partition 2, and use the remaining cylinders.
  5. "mdev -s"
  6. "mke2fs -j -L DATA /dev/sda1"
  7. "mke2fs -j -L SDCARD /dev/sda2"  
  8. Reboot ("reboot -f")
  9. At the boot menu, choose VESA, then hit TAB and type so that the end of the line reads: "DATA=sda1 SDCARD=sda2". (Only need for the generic target images, for VM target images, this is not needed)
  10. After booting (and of course disabling mouse integration via the machine menu), the SD card is read as unformatted, but you can format it by going to Settings > SD card & phone settings > Format SD Card, then Mount SD card.
  11. The SD card should now work!
Note: for the step  7, if you want to format to vfat only, then you can do :
newfs_msdos /dev/sda2
Also remember the partition type has to be fat32 (b or c). By using vfat, the step 10 is not needed.

DevTools application has a MediaScanner which  (re)indexes your SD card for cases where you manually copied media over. This ensures that you see new images and/or music in the apps without having to reboot.

If you downloaded it from within android, the application asks the relevant service to index new files.

Playing music

This section describes two ways to upload music files into Android running on a vbox so you can play them by the Music app. Of course, you can save the files to the virtual disk mounted at /sdcard, as described above.

Upload files by adb

Adb is Android Debug Bridge, a tool to debug Android system. If you compile from source, it is located in out/host/linux-x86/bin/adb. Otherwise you can get it from Android SDK. Suppose the network of your vbox is OK, you can upload a file from your host by

$ ADBHOST=<ip of vbox> out/host/linux-x86/bin/adb push <a music file> /sdcard

You need to know the ip of your vbox. You can get it by Alt-F1 and netcfg. You may also need to reboot Android to see the uploaded files. Of course in this way you have to mount /sdcard to a virtual disk partion.

For complex network settings of the VirtualBox VM, you should refer to Debug Howto on how to connect adb to the VM.

Upload files by wget

You can also upload files by wget in the debug mode. In the debug mode shell, before entering Android,

# cd /android/sdcard
# netcfg eth0 dhcp
# wget <url of a music file>

Then type exit to enter Android.

Comments