Documentation‎ > ‎

VirtualBoxHowTo

#How to run the eeepc.iso inside VirtualBox

 
 

Introduction

This document tells how to run the eeepc.iso inside VirtualBox. The tested version are 3.0.2 on Fedora 11, and 2.2.4 on Windows XP and Fedora 11.

Workable features:

  • Internet access (DHCP mode).
  • Audio, playing music.

Details

Config your VirtualBox like this:

  • OS Type: Linux 2.6
  • Base Memory: At least 256MB, 512MB is better.
  • Video Memory: 8M
  • CD/DVD-ROM image: eeepc.iso
  • Sound device: change to Sound Blaster 16. ICH AC97 will not work. (if you have a solution, let us know)
  • Network device: PCnet-Fast III, attached to NAT. You can also use bridged adapter, but you need a DHCP server in your environment.

Boot options

On the boot menu, please select the VESA mode item.

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.

Advanced

Save data to harddisk

Basically the eeepc.iso is a live cd system. Like other live cd, all data are saved to ramdisk, so will lose after power off. However, it is possible to save data to the virtual disk of vbox by specifying some boot options. This section describes the details. But you need good Linux expertise to complete it.

  • First, create a virtual disk for your Android virtual machine, and boot eeepc.iso to the debug mode. Then you should see the shell prompt. This is a busybox shell. You can get more shell by switching virtual console Alt-F1/F2/F3.
  • Create two partitions by fdisk or cfdisk. Format them to ext3. Then reboot.
  • # cfdisk /dev/sda
    # mdev -s
    # mke2fs -j -L DATA /dev/sda1
    # mke2fs -j -L SDCARD /dev/sda2
    # reboot -f
  • On the boot menu, select VESA or Debug mode, press TAB, then add
  • DADA=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 davematthew@gmail.com 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.

Screenshots

  • Browsing Internet on Virtual Box
  • Playing music
  • Browsing Internet on Virtual Box with resolution 1024x768
Comments