Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.

Archived:Developing with ESBOX and Maemo SDK using Virtual machine Image

From Wiki
Jump to: navigation, search

Archived.pngArchived: This article is archived because it is not considered relevant for third-party developers creating commercial solutions today. If you think this article is still relevant, let us know by adding the template {{ReviewForRemovalFromArchive|user=~~~~|write your reason here}}.

The article is believed to be still valid for the original topic scope.

Article Metadata
Created: vdharankar (04 May 2010)
Last edited: hamishwillee (25 Apr 2013)



Maemo development happens to be quite difficult at this stage, ESBOX IDE helps developers a lot in this efforts. Merely installing Maemo SDK will not make one instantly get going. Since Maemo is linux based one needs to have proficiency in Linux and commands.

ESBOX Introduction

ESBOX is an IDE based on Eclipse comes in two flavors.

1. A plug-in to existing Eclipse installation
2. Standalone IDE similar to Carbide.c++

More information on ESBOX can be found Here. Installing ESBOX is very simple but configuring it with Maemo SDK or Scratchbox 1 is not so easy. Its expected to do the development natively but in that case you might have to switch completely to Linux. If you are not interested in switching to linux completely then there are multiple solutions available.

ESBOX and Scratchbox 1 Installation

Installing SDK and ESBOX separately on Linux

As said earlier its expected to do the development natively for ease, the best alternative so far is to use a Virtual Machine on Windows box. If you have dedicated Linux machine then you can configure the Linux box by installing SDK and ESBOX manually but if you are a beginner then it is not at all suggested.

Still SDK and ESBOX can be downloaded individually by following the links

1) SDK (Use GUI installer which requires PyQt4) from here
2) ESBOX can be downloaded from this page. The plug in and core IDE are available in two different archives.

The easier way

The individual installation needs great degree of experience and expertise on Linux system. The easier way of having your Maemo development environment ready is to use ready to use VM image of ubuntu 8.10 build.

Since this is a Virtual Machine build, three Virtual Machines are supported

1. VMWare (VMPlayer)
2. VirtualBox

You need to have one of the machine installed on your Windows Box ( XP/Vista).

Installing using VirtualBox(VB)

You can download VirtualBox(VB) from Sun Microsystems official site, its free, this may be one of the advantage over VMWare. Once you have VB ready, you need to download and extract the hard disk image of a ready to use Ubuntu installation, which has the development environment readily installed( and believe me this works great).

Download the latest virtual image of Ubuntu Desktop version from here. This contains hard disk image that can run on multiple VMs so not to worry if you have something other than VB. This virtual image of OS hard disk after installation of all packages contains following things pre-installed for you.

1. Ubuntu 8.10
2. Scratchbox 1 targets (both X86 and ARMEL)
3. SDK with Maemo environment
4. Esbox

Above all the things are ready to use and pre-configured. If you need you may update them online, but beware of updating Ubuntu to something higher than 8.10 as ESBOX and SDK has some issues on the higher versions. Currently 8.10 is the most stable with ESBOX and Scratchpad 1 targets. Ubuntu 8.10 is also called as Intrepid. After downloading the virtual image from ESBOX website extract it to a suitable folder, for next step you will need this.

Installing virtual image to VirtualBox

To install the image to the VB , start with New OS installation


Select the operating system and version appropriately


Select the 'use existing hard disk' option in next step, because we have already downloaded hard disk image of pre-installed SDK, ESBOX Ubuntu OS.


Now select the browse button to locate the image file which you must extract from downloaded archive. This hard disk image file is having .vmdk extension.


On this screen now click the 'Add' button to locate and add the .vmdk file, add the file to the list and select it as a next step.


Now go on clicking next button and you are done with new OS installation in VB using hard disk image. Now you can start the OS / boot the OS, to see whats there for you.

The ready to use development box

Once you boot the OS you will be able to see several icons on Ubuntu desktop they include ESBOX, SDK etc.


Hello World Application

Its very easy to create your first 'Hello World' application with ESBOX, though the linux build system is very complex and difficult to learn. ESBOX lets you create the basic project framework very easily without writing even a single line of code. The steps involved are very similar to Carbide.c++ based project.

Step 1 : Create project

Start ESBOX and from file menu select a new project, you may select C or C++, the UI look and feel of C and C++ applications on Maemo is different on device, in emulator they appear to be same. If you want to go for Maemo native look and feel select C project which uses GTK library, not sure wats the difference in C and C++ API and UI.


Step 2 : Select Project Template

As a next step select the Maemo 5 project template and under that select Hello World. You have multiple choices available in this step. If you want to for a Qt project then the project type should be C++.


Step 3 : Select Project Configuration

In the next step select project configuration. There are basically two project configurations for FREMANTLE (Maemo 5)

1. X86 -  for emulator
2. ARMEL - for device deployment

Under each you have Debug and Optimized. The ARMEL has issues with Emulators so if you intend to use emulator then dont forget to select X86 configuration for build


Step 4 : Finalize the project

Select defaults for next steps and you are done. At the end ESBOX will ask you for update of packages, if you wish to do so select yes then it will check for updates online, but in my opinion there are chances that it may disturb the configuration so as a beginner you better say 'NO' and go ahead with build


Step 5 : Running 'Hello World'

Now build the project by right clicking on the project name and selecting Run As -> Maemo Localo Application option Once the build is done without any error (mostly), ESBOX will detect that the emulator/Application Framework is not running so it will ask if you want to start it, say yes and enter the amazing world of Maemo Development. Once the emulator is started successfully you will see the 'Hello World' running.


Application running on Maemo


Step 6 : Running it on 'Device'

To run the application its important to select ARMEL configuration, perform build and then create debian package. Once the ".deb" package is ready ESBOX lets you install the application directly on device. But for this step your device needs to be connected to the PC, and PC connectivity should be setup.

Connecting USB devices is slightly complex in VirtualBox but with some good efforts that can be done, also your Ubuntu box will need some additional packages from "PC Connectivity Project"


This article explains few concept associated with Maemo development and introduces the tools. The article mainly focuses on how to setup your own Maemo development environment and get started with "Hello World" application.

- Original Author vdharankar

This page was last modified on 25 April 2013, at 07:20.
41 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.


Thank you!

We appreciate your feedback.