Documentation/Maemo 5 Developer Guide/Development Environment/Maemo SDK Virtual Images
Maemo SDK Virtual Images
Maemo SDK Virtual Images Installation
- Introduction
- Maemo SDK Virtual Images project is a good option for those developers that do not want to spend time and effort to download, install and configure all required tools on Maemo applications development. Also, Maemo SDK Virtual Images are a very good choice to be used on Maemo development workshops, since it is no more necessary to configure attendees´ machines. It significantly reduces the dependencies of host machine, such as installed softwares and superuser privileges. All you need is to deploy the virtual machine, so attendees can play the virtual machine on a previously installed virtualization tool, such as VMWare Player, as guest users. Then, don’t hesitate to use Maemo SDK Virtual Images: they were created to make it Maemo application development a lot easier!
- This document provides a set of instructions to properly install and configure any Maemo SDK VM on your machine.
- Hardware requisites
- It requires at least 2GB of RAM, an additional 10 GB of available 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 OS X on your host machine.
Virtualization tool
It is possible to use VMWare, VirtualBox or QEMU. We strongly suggest you to use VMWare Player for some important reasons. At first, VMWare Player is free. 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, VMWare Player does not provide support for OS X. But you can use any other VMWare product as well (for example, VMWare Fusion).
List of required softwares
- 7zip uncompress tool - http://www.7-zip.org/download.html;
- A virtualization tool: VMWare – http://www.vmware.com (any VMWare product, such as VMWare Player, VMWare Workstation or VMWare Fusion), VirtualBox – http://www.virtualbox.org - or QEMU – http://www.qemu.org ;
- Maemo SDK VM Installation
- Download Maemo SDK VM from http://maemovmware.garage.maemo.org. 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 (https://esbox.garage.maemo.org) 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: It is important to install KQEMU Accelerator to speed up virtual image execution. To run the machine with QEMU, execute the following command:
- $ 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 http://ubuntuforums.org/showthread.php?t=1575.
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.