Open Source im professionellen Einsatz
Linux-Magazin 02/2006

Workshop: Embedded-Linux-Entwicklungsumgebung Maemo einrichten

Findet Maemo

,

Zusammen mit dem Internet Tablet 770 veröffentlichte Nokia Mitte 2005 eine komplette Open-Source-Entwicklungsumgebung, die Maemo Development Platform. Wie Sie Maemo richtig einsetzen und welche Vorteile sie gegenüber herkömmlichen Crosscompilern bietet, erklärt dieser Artikel.

576

Die Überraschung auf der Linux World Expo & Conference Ende Mai 2005 in New York war groß, als ausgerechnet der Mobilfunk-Riese Nokia ein Handheld-Gerät vorstellte, das kein Telefon oder Smartphone ist und noch dazu ein Embedded-Linux als Betriebssystem einsetzt. Zeitgleich veröffentlichte Nokia die freie Entwicklungsumgebung Maemo Development Platform. Maemo [1] ist eine universelle Entwicklungsumgebung für Embedded-Systeme aller Art, nicht nur für das seit November käufliche Nokia 770 Internet Tablet.

Die Anwendungs-Entwicklung unterscheidet sich auf der Maemo-Plattform kaum von der Programmierung herkömmlicher Desktop-Applikationen, da die grafische Oberfläche auf X11 und GTK+ 2.6 basiert. So genannte Hildon-Funktionen aus den Bibliotheken »hildon-libs« und die »libosso« vereinfachen die Bedienung von Handhelds wie dem Nokia 770. Die Interaktion zwischen Applikation und Desktop ist sehr an Gnome angelehnt, einige Funktionen verwenden zum Beispiel intensiv »gconv« und »dbus«, Windowmanager ist die aus GPE [2] bekannte Matchbox [3].

Grundstein der Maemo-Entwicklungsumgebung ist Scratchbox [4], mit der Sie mehrere Entwicklungssysteme für unterschiedliche Prozessor-Plattformen verwalten. Die passenden Scratchbox-Toolchains, die die richtigen Binärdateien für die jeweilige Prozessor-Plattform erzeugen, bekommen Sie ebenfalls auf der Scratchbox-Homepage.

Prozessor-Transparenz

Die GNU Compiler Toolchain unterstützt es schon seit vielen Jahren, Programme für eine andere Prozessorarchitektur als die des Hostsystems zu übersetzen. Diese Methode stößt aber schnell an Grenzen, wenn Werkzeuge wie die GNU Autotools zum Einsatz kommen - sie erzeugen meist Testprogramme für die Zielplattform und führen sie aus, etwa um bestimmte Prozessorfunktionen zu prüfen. Die GNU Compiler Toolchain erzeugt zwar die Testprogramme für die Zielplattform problemlos, sie funktionieren jedoch nicht auf der inkompatiblen CPU des Hostsystems - der Build-Prozess bricht hier ab.

Die Scratchbox bietet für diese Fälle die Funktion der CPU-Transparenz: Wann immer innerhalb der Scratchbox Code der Zielplattform ausgeführt werden soll, leitet Scratchbox den Code an eine Instanz weiter, die ihn auch ausführen kann - zum Beispiel an den Software-Emulator Q-Emu oder an »sbrsh«, das den Code über eine SSH-Variante direkt auf dem Zielgerät laufen lässt, in diesem Fall dem Nokia 770. Alle x86-Binaries hingegen benutzen weiterhin die CPU des Entwicklungsrechners.

Die Maemo-SDKs [5] enthalten alle für die Entwicklung auf der jeweiligen Plattform notwendigen Programme und Bibliotheken in genau der Version, die Sie für die Programmierung benötigen. Es handelt sich um virtuelle Linux-Systeme, Rootstraps genannt, die von den Bibliotheken des Wirtsystems vollkommen unabhängig sind. Mit dem virtuellen X-Server Xephyr können Sie sogar eine grafische Oberfläche benutzen, die vom Wirtsystem unabhängig ist.

Scratchbox vorbereiten

Die komplette Maemo-Entwicklungsumgebung besteht aus etlichen sehr großen Paketen. Da das Maemo-System selbst auf Debian aufbaut, ist die Installation auf einem herkömmlichen Debian-System oder einer Debian-basierten Distribution wie Ubuntu am leichtesten und zudem am besten getestet.

Zuerst installieren Sie Scratchbox [4], Maemo unterstützt zurzeit jedoch nur die Version 0.9.8.5. Insgesamt ist das ein halbes Dutzend Pakete mit ungefähr 200 MByte Umfang: »scratchbox-core«, »scratchbox-devkit-debian« für die Erstellung von Debian-Paketen, »scratchbox-doctools«, »scratchbox-libs«, die Toolchain für den Arm-Prozessor »scratchbox-toolchain-arm-glibc« und die Toolchain für den x86-Prozessor Ihres Wirtsystems, also die »scratchbox-toolchain-i686-glibc«.

Während der Einrichtung fragt Scratchbox die Benutzer ab, die später mit dem System arbeiten sollen, und legt für sie neue Homeverzeichnisse unterhalb des Scratchbox-Verzeichnisses »/scratchbox« an. Diese Benutzer werden automatisch Mitglieder der neuen Benutzergruppe »sbox«, die Scratchbox ebenfalls während der Installation hinzufügt. Wichtig ist, dass Sie vor dem ersten Start von Scratchbox auch effektiv Mitglied dieser Gruppe sind, sich also eventuell noch einmal aus- und wieder einloggen.

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • So Smart

    Kein Handy mehr, aber auch noch kein Netbook: An der Schwelle zum Mini-PC steht Nokias N 900 mit einer 600 Mhz-CPU, 256 MByte RAM, 32 GByte Speicher, Maemo 5 und Open GL.

  • Mein erstes Telefon

    Ein Großteil mobiler Smartphones lässt selbst programmierte Anwendungen ablaufen und liefert dazu auch die notwendigen Werkzeuge mit. Je nach Plattform unterscheiden sich Lernkurve, Tools und Grad des Zugriffs auf die mobile Hardware. Eine Bestandsaufnahme.

  • Aus heiterem Himmel

    Nokia überraschte auf der Linux World Conference in New York mit einem Pocket-Computer mit Linux und Gnome-Oberfläche. Die Community hat über zwei Jahre bei der Entwicklung mitgeholfen, ohne von dem Gerät zu wissen oder auch nur den Namen des Herstellers zu kennen.

  • Desktop Summit: Maemo wechselt zu Qt

    Die Firma Nokia wird in Zukunft für ihre Benutzeroberfläche Maemo das Toolkit Qt verwenden. Das teilten Firmenvertreter auf dem Gran Canaria Desktop Summit mit.

comments powered by Disqus

Ausgabe 05/2017

Digitale Ausgabe: Preis € 7,62
(inkl. 19% MwSt.)

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.