Projects/Mobile/MaemoVM

From KDE TechBase
(Redirected from Projects/Maemo/VM)

Which Maemo?

As of today (December 2009), the latest Maemo release available is the Maemo 5.0 one (aka Fremantle). This wikipage and our VMs are only dealing with this release.

Foreword

The Maemo SDK being (a) Debian/Ubuntu specific (b) hard to setup, depending on which version combinations you use, or tutorial you use, your mileage may vary. That's why we've taken the route of creating a VM, this way you can start right away by just firing up the VM.

Important: The goal of this VM is to make it easier to deploy the official Maemo SDK now. For development we plan to have a cross building toolchain but the VM is the today and working solution. Also note that in order to have a simulator working without a phone this VM will still be necessary.

SDK VM Setup

  • Download qtmaemosdk.7z;
  • Unzip (got zipped with 7-zip);
  • Use VMware, Virtual Box or qemu on the VM (they should all work with it);
  • Go to Nokia EULA and accept it;
  • Keep a copy of the provided token (looks like a MD5 sum);
  • Log into the VM and run: ./install_qt_fremantle_sdk.sh <token>
  • Wait for the nokia-binaries and libqt4-maemo5* packages to install;
  • Done.

Phone Setup

  • On the phone, edit /etc/apt/sources.list.d/hildon-application-manager.list and add the following line:

deb http://repository.maemo.org/extras-devel/ fremantle free non-free

  • Then use apt-get to install the libqt4-maemo5* packages (obviously, the ones suffixed by -dev you don't need at runtime on the phone).

Using the VM

  • Login: maemo, password: maemo
  • The maemo user has sudo powers
  • avahi is installed, so if your VM got the network (e.g. VMware) a simple "ssh -X [email protected]" should work
  • The VM comes with a few helper scripts:
    • maemo-start to fire up the GUI simulator and runtime (kicks in Xephyr, don't forget the "-X" parameter with ssh)
    • maemo-stop to stop the runtime
    • sb to invoke a command in the currently selected runtime
  • Also you might be interested in the following scratchbox command:
    • sb-menu which allows to change current settings (like selecting runtime) and is menu driven
    • sb-config which provides the same features than sb-menu but is command line driven (neat for scripting if your making your own build farm and such)

Important note: Scratchbox behaves like a completely insulated environment. Which kind of sucks as you have to copy your files in the scratchbox chroot before being able to use them... very inconvenient for source code. So as a convenience, we provide some bind mount, and anything in /home/maemo/dev will be seen from within scratchbox. That means that if you have source code in /home/maemo/dev you can go in the source folder and directly type "sb make" for instance which will do the right thing.