Documentation/Maemo 5 Developer Guide/Development Environment/Maemo SDK Virtual Images

= Maemo SDK Virtual Images =

Maemo SDK Virtual Images Short Guide

 * 1) Introduction


 * Maemo SDK Virtual Images are good option for those developers that do not want to spend time and effort to download, install and configure all required tools for Maemo applications development. Also, Maemo SDK Virtual Images are a very good choice to be used on Maemo development workshops and training sessions, since it is no more necessary to configure attendees´ machines. It significantly reduces the dependencies of host machine, such as installed software and superuser privileges. All you need to do is to install the virtualization software of your choice and deploy Maemo SDK Virtual Image for it. With this setup attendees can launch the virtualization environment, such as VMWare Player, as guest users without ever accessing host environment with administration privileges. Inside Maemo SDK Virtual Images users have, of course) full administration privileges to the Ubuntu and Maemo SDK environment. Don’t hesitate to use Maemo SDK Virtual Images: they were created to make Maemo application development a lot easier!


 * This document provides a short set of instructions how to properly install and configure Maemo SDK Virtual Image on your machine, including networking issues.


 * Host hardware


 * From host machine is required at least 2GB of RAM and an additional 10 GB of free hard disk space.


 * Host operating system


 * You can use a Debian-based Linux distribution (Debian, Ubuntu, Kunbutu), Windows (Windows XP, Windows Vista or Windows 7) or Mac OS X for your host machine.


 * Virtualization software


 * It is possible to use VMWare, VirtualBox or QEMU as virtualization environment. We strongly suggest you to use VMWare Player for some important reasons. At first, VMWare Player is free for other than Mac OS X environment. It provides good support for host-guest communication. With VMWare Player, the USB, parallel port, CD/DVD, storage disks and TCP/IP network work properly. However, free VMWare Player does not provide support for Mac OS X, but you can use other VMWare products in Mac OS X (for example, VMWare Fusion).


 * For VirtualBox users the functionality of free open source version is not enough but binary only version (PUEL licensed) needs to be used for Maemo SDK VIrtual Images. Performance of the VirtualBox PUEL version is about the same as with VMWare environment but licensing allows usage only for personal and evaluation usage.


 * For QEMU users the performance may be an issue. QEMU is totally free virtualization environment but the performance is much worst than with VMWare or VirtualBox, even with KQEMU QEMU Accelerator that must be used to get usable Maemo development environment.


 * List of required softwares


 * 7zip uncompress;


 * A virtualization tool: VMWare (any VMWare product, such as VMWare Player, VMWare Workstation or VMWare Fusion), VirtualBox or QEMU;

Maemo SDK VM Installation 


 * Download Maemo SDK VM from MaemoVMWare Project website. Basically, there are two different Maemo SDK Virtual Images: one virtual image with Ubuntu Server installed, and another one with Ubuntu Desktop. The former is mainly used together with ESbox as build environment. The virtual machine with Ubuntu Desktop is mainly used as built-in development environment.


 * Unzip Maemo SDK VM with 7zip tool according to instructions at this site. Since the virtual images are somewhat large (for example, virtual image with Ubuntu Desktop has 7GB), the process to uncompress the images may take several minutes, depending on how fast is your machine. Generally, it takes about 5 minutes for Ubuntu Server virtual image, and about 17 minutes for Ubuntu Desktop virtual image.


 * Once your virtual machine is uncompressed, it is ready to be used! If you’re using VMWare as virtualization tool, Maemo SDK Virtual Image already provides a *.vmx description file that is used to load virtual machines. However, for VirtualBox or QEMU, it is necessary to perform some extra tasks:
 * VirtualBox: it does not provides a description file (such as *.vmx for VMWare players). Therefore, you need to install them. For more information, visit this link.
 * QEMU: It is important to install KQEMU Accelerator to speed up virtual image execution. To run the machine with QEMU, execute the following command:
 * (On Linux)
 * $ qemu -hda maemosdk_*_*.vmdk -L /usr/bin/qemu -m 512
 * (On Windows)
 * c:> qemu.exe -hda maemosdk_*_*.vmdk -L C:\QEMU\pc-bios -m 512

Networking 


 * Networking proxy is not configured on Maemo SDK Virtual Machines. Therefore, if you need to configure a proxy, you have to do it on two different environments (both INSIDE virtual machine): on outside (Ubuntu Server/Desktop) and inside Scratchbox. For more information about how to set proxy support outside Scratchbox (Ubuntu Server/Desktop), see more information on Ubuntu HOWTO: Proxy Support.


 * Inside Scratchbox, it is necessary to define the http_proxy variable in the format http://host:port/. If you have to login then use the format http://username:password@host:port/. To define this variable, you need to add the following lines to the root login file /root/.bashrc.

http_proxy=http://username:password@host:port/ export http_proxy


 * Scratchbox does not initialize resolv.conf properly. Such file defines DNS servers. Whenever Scratchbox is started, it copies /etc/resolv.conf from host PC BEFORE such file is created by Ubuntu NetworkManager. In order to solve this problem, restart Scratchbox using the following command line

$ sudo /scratchbox/sbin/sbox_ctl restart

More Links 


 * Current "under development" versions of the documentation can be found from Garage project Maemo SDK Virtual Images


 * Current Maemo SDK Virtual Image beta versions can be downloaded from this Maemo Development Environment Downloads page.


 * This image is geared toward GTK Development and is a vdmk image, which can be ran on VMWare product, QEMU or VirtualBox.

= Virtual PC / VMWare Virtual Images =

Current VPC SDK Images can be picked up at | VPC Development Image - The home page is located at: | VPC-SDK Home Page

This image is geared towards Qt Development and is a Virtual PC (vhd) image, VMWare products can also convert and use the image.

Either image can be used for either development (QT or GTK), but each image has pre-installed software targeting the specific target environment.