Official website for Linux User & Developer
FOLLOW US ON:
Mar
16

Develop for the Nokia N900 and Maemo 5 OS!

by Kunal Deo

Learn how to program the next-generation smartphone-come-internet tablet, the Nokia N900…

Advisor:Kunal Deo
Kunal Deo
is a veteran open source developer. Currently he is leading two open source projects: WinOpen64 and KUN Wiki. He is also a KDE developer. He has contributed to many open source projects, including KDE-Solaris, Belenix and Openmoko.  He is currently writing a book, ‘Porting On Open Solaris’.

Resources:
Debian-based Linux distribution: It is recommended that you use a Debian-based Linux system like Ubuntu or Kubuntu for Maemo development. Installation on other distributions is also possible, but you need to fiddle with the set-up script.
Xephyr X11 server: Xephyr is a KDrive-based X server which targets a window on a host X server as its framebuffer. It is used to run Maemo application on the development system. The same X11 server is also used in other projects as well, such as Openmoko. This can be installed using the package manager. On Debian-based systems, you can use the following command:

$ sudo apt-get install xserver-xephyr

Python-qt4: If you intend to used a Python-based GUI installer for the SDK, which we do in this tutorial, you will need this package as well. Use the following command:

$ sudo apt-get install python-qt4

Maemo GUI installer Python script: Maemo is not distributed in the form of ready-to-install packages – instead you will need to use an script that will fetch various packages and put things in order for you. There are various versions of this script available, including a Bash shell script, a Python script and a Python GUI script. We will be using the Python GUI script. This script can be downloaded from here.
Storage: Around 3GB of free space.

This is the fourth Linux-based smartphone development we have covered in Linux User & Developer. Check out earlier issues of the magazine for the coverage on Openmoko, Palm Pre and Google Android. This alone proves that Linux is already a big thing for smartphone or embedded development. And everybody is welcome – especially Linux developers, because it is Linux’s heart and soul running on these devices.

Maemo is a software platform based on the Debian Linux distribution, and it comprises the Maemo OS and the SDK. It was originally created by Nokia for that company’s internet tablets. In fact, the first device based on Maemo was the Nokia 770, which shipped in November 2005. Until recently, Maemo was an internet-tablet-only platform, but with the release of Nokia N900 this has changed. The N900 is a very powerful smartphone based on Maemo 5.

Nokia also stated at the CES 2010 event that more devices based on Maemo are in the pipeline. Maemo consists of mostly open source software with a small amount of Nokia’s proprietary code. Nevertheless, rest assured that the N900 is a complete pocketable Debian system. Maemo is built with well-known open source components such as GCC, GTK, GStreamer, Qt, GNOME and Mozilla. Lots of existing open source software has been easily ported over the Maemo platform, such as OpenOffice, Firefox and MPlayer.

1. Running the set-up script
In this step, we will install the Maemo 5.0 SDK using the Python GUI installer script. To start the installer, open a terminal and perform the following command to open the set-up wizard:

$ sudo python maemo-sdk-install-wizard_5.0.py

Click Next to continue. Here you will find three options to select from. Select the Custom installation and click Next to continue. After the licence screen, the wizard will prompt you to select the user for which the SDK needs to be installed. Make sure that you select the correct user here. Accept the default settings from the next screen and click Next.

For the final step, Maemo will present you with the summary of selected options – it should look similar to the screenshot on the right. Click Install to start the installation. Installation will take a considerably long time, so you may want to go and make a nice cup of tea in the meantime.

Pages: 1 2 3 4 5 6 7
  • Tell a Friend
  • Follow our Twitter to find out about all the latest Linux news, reviews, previews, interviews, features and a whole more.
    • Ray McConaghy

      When I finally run the program (codeColor) I get the following error ( this is, however the latest SDK for Maemo5). Can you help?

      [sbox-FREMANTLE_X86: ~/codeColor] > run-standalone.sh ./codeColor
      codeColor[3820]: GLIB CRITICAL ** Gtk – gtk_widget_set_sensitive: assertion `GTK_IS_WIDGET (widget)’ failed

      Also, I got confused with the article… it asked me to create a directory called …/codeColor… but the prompt in your article showed you running in scratchbox in a directory …/codeEditor ( where did that come from?). I am a newbie so perhaps these are stupid questions!!

      Best regards

    • Ricardo

      I’m not able to access this full article, clicking the diferent page numbers or even directly loading the URL in my browsers always redirects to first page.

      Tested with Firefox 3.6.8 and Opera 10.61.

      Bug? Anyone else having the same problem?

    • Sean

      Same problem here, can’t get past page 1. Using IE 7 on Vista.

    • florian

      will not go past Page 1.
      it would be awesome if someone could fix this.Thanks.

      Florian, using maemo 5 browser

    • Russell Barnes

      Fixed – thanks for picking up on it.

    • http://nill ZIA

      living in CIS Russia . My question how to reinstall Maemo sofware 5 or latest without USB internet or bluetooth support (which not working in my N900 )? Is there any way how to reinstall this from flash memory card 2GB any support or download stand alone Exe File any software ? Thanks if you can reply my email waiting