Das von Intel 2007 ins Leben gerufene Projekt Moblin, das MOBile LINux, bietet Entwicklern eine zukunftsträchtige Plattform, um ihre Anwendungen für MIDs, Netbooks und In-Vehicle Infotainment (IVI) zu realisieren. Die Linux Foundation verwaltet das Moblin-Projekt und bindet zahlreiche Unterprojekte ein.
Eine Studie von Forward Concepts sieht die MID-Verkaufszahlen von 305 000 im Jahr 2008 auf 39,6 Mio. Geräte im Jahr 2012 hochschnellen. Intel-CEO Paul Otellini sagte in einem Interview mit Associated Press im Mai 2008, Linux werde die Verkäufe von MIDs dominieren. ABI Research prognostizierte August 2008, dass Linux bis 2013 auf doppelt so vielen MIDs, Netbooks und Smartphones wie Windows läuft. Unter diesen Linux-basierten Geräten sei Moblin führend, gefolgt von Nokias Maemo und dem LiMo-Projekt. Man kann also von einem Markt sprechen, in dem Musik drin ist.
Intel sieht Moblin für Geräte prädestiniert, in denen sein Atomprozessor steckt, also überall dort, wo geringer Stromverbrauch und niedrige Kosten ausschlaggebend sind. Die CPU misst den Stromverbrauch und reduziert ihn, um die Akkuleistung zu verlängern. Intels Enhanced-Speed-Step-Technologie passt die Leistung dem Bedarf des jeweiligen Systems an. Abmessungen und Speicher sind für den kleineren Formfaktor optimiert. Auch die kurze Boot-Zeit von zwei bis fünf Sekunden von einer SSD bzw. 15 Sekunden von einer Festplatte ist attraktiv.
Moblin lässt sich auf vielen Netbooks, Nettops und MIDs installieren und auf herkömmlichen Notebooks (sofern sie SSE3 und SSSE3 unterstützen) mithilfe einer Live-CD oder eines Live-USB-Sticks testen. Die Webseite www.moblinzone.com stellt alle Projekte vor, liefert Hintergrundinfos und diskutiert das neueste Marktgeschehen rund um Moblin. Zudem können Entwickler auf der Subpage http://www.moblinzone.com/downloads zahlreiche Entwicklungswerkzeuge wie das Software Development Kit (SDK) herunterladen. Es enthält den Quellcode für alle Hauptkomponenten der Plattform sowie deren Dokumentation und Beispielcode. Seit dem Frühjahr 2009 ist die Beta von Moblin 2.0 der Ausgangspunkt für alle Moblin-Projekte.
Die Moblin-Architektur
Die Architektur baut auf einem plattformspezifisch gepatchten Linux-Kernel und seinen Treibern auf. Auf diesen setzt der Moblin Core auf, der auf GNOME Mobile basiert. Darüber sitzt die plattformabhängige Benutzeroberfläche, etwa bei einem Auto-Infotainment-System.
App-Services
Der Moblin Core ist unterteilt in UI-Services und App-Services. Die App-Services umfassen alle Funktionen, die man von der Infrastruktur eines Betriebssystems erwartet, so etwa die Energieverwaltung, die Verwaltung von Internet- und anderen Verbindungen, Multimediaunterstützung sowie einen Webbrowser. Die Multimediafunktion stellt Audio-/Videowiedergabe und einen Bildbetrachter inklusive der Multimediaframeworks Helix oder Gstreamer bereit.
Der Moblin-Browser basiert auf Mozilla und umfasst die Gecko Rendering Engine. Er unterstützt eine berührungsempfindliche UI und eine MID-UI-Integration. Plug-ins wie Adobe Flash stehen bereit, während Web Services wie Mojito und LibREST die Einbindung von sozialen Netzwerken und Twitter erlauben.
Das Telephony-API erlaubt die Integration von Funktionen für mehrere 3G Voice Stacks und die Integration mit Voice-over-IP. Der Connection Manager ConnMan unterstützt WLAN, WiMAX und 3G-Datenverbindungen. Der Bluetooth-Support ist fest eingeplant, ebenso die Einrichtung von PIM Services. Die GPS-Unterstützung ist durch GeoClue integriert.
UI-Services
Zu den UI-Services gehören die Frameworks QT und GTK+, die als standardmäßige Widget-Toolkits für Linux bekannt sind, sowie die 3D User Interface Library Clutter, die Intel mit der Firma Opened Hand eingekauft hat. Diese Library nutzt OpenGL, um schnelle, portable und animierte Elemente einer GUI bereitzustellen, darunter auch Medienplayback und Web-Rendering. Wer mit Clutter programmieren möchte, findet ein objektorientiertes API vor, die auf die Manipulation von 2D-Objekten im 3D-Raum zugeschnitten ist. Clutter baut auf glib, gobject, pango und cairo auf und wurde in C mit Bindungen zu Python, Perl und C# entwickelt. Clutter-qt and Clutter-gtk erlauben das Einbetten von Clutter in Anwendungen, die auf QT und GTK+ basieren. Die Lizenz ist GNU LPGL.
Das Moblin SDK
Um gleich in medias res gehen zu können, lädt der Entwickler das Moblin SDK von moblin.org herunter. Es umfasst die Moblin-v2-Distribution, die Entwicklungsumgebung und mehrere Tools. Die Distribution enthält vorgefertigte, validierte Images, die man sich in der aktuellsten Version besorgen sollte, enthält sie doch Bibliotheken, Headers, Werkzeuge sowie eine API zur Dokumentationserstellung.
Zur Entwicklungsumgebung gehören Moblin v2, KVM und VMware. Als IDE kommt Eclipse infrage. Unter den mitgelieferten Werkzeugen sind der Linux-Project-Generator wichtig, mit dem sich eine Applikations-Template erzeugen lässt, und der Moblin Image Creator, der die Erstellung eines eigenen (optionalen) Images erlaubt. Intel empfiehlt jedoch die Nutzung fertiger Images.
Der Linux-Project-Generator
Mit diesem Werkzeug lässt sich die Erstellung eines Moblin-2.0-Projekts, entweder einer Applikation oder einer Library, schnell starten. Es bietet Hilfestellung hinsichtlich der Moblin Compliance, indem es z. B. die korrekten Library-Versionen auflistet. Der Anwender kann die gewünschte Lizenz auswählen: GPL, LGPL, BSD oder MIT. Der Project-Generator stellt ihm zur Bedienung eine GUI, eine Konsole sowie Befehlszeilenoptionen (zwecks Automation) zur Verfügung. Beispielcode für häufige Arbeitsschritte ist bereits enthalten. Diese Beispiele sind mit "So geht’s"-Dokumenten und Codeausschnitten verbunden (git://git.moblin.org/projgen.git).
Der Moblin Image Creator 2
Mit dem Moblin Image Creator 2 (MIC2) kann der Entwickler sein eigenes Projekt und Linux-Dateisystem für ein Zielgerät auf die Beine stellen, z. B. als Live-CD und Live-USB. Voraussetzung für die MIC2-Nutzung ist entweder Ubuntu ab Versionsnummer 8.10, OpenSUSE ab 10.3 oder Fedora ab 9.0. Im Folgenden ist nur Fedora 9.0 berücksichtigt (mehr Details auf moblin.org). Um zu prüfen, ob die vorliegende Distribution unterstützt wird, kann man folgenden URL aufrufen: http://repo.moblin.org/moblin/tools. Dieser URL hält Packages für MIC2 und unterstützende Werkzeuge bereit, die in manchen Distributionen fehlen könnten. Man kann den MIC2 auch vom GIT-Tree klonen und installieren:
git clone git://git.moblin.org/moblin-image-creator-2cd moblin-image-creator-2make cleanmakesudo make install
Im nächsten Schritt erstellt der Entwickler in der MIC-GUI das Projekt und legt das Target fest. Dabei kann das Target mit einer Vielzahl von Funktionsgruppen versehen werden, etwa mit Runtimes oder einem Desktop usw. In einem optionalen dritten Schritt lässt sich das Target-Dateisystem weiter anpassen, etwa durch Mediendateien.
Im vierten Schritt wird das eigentliche Image für ein Zielgerät erzeugt. Es gibt zwei Typen von Images: live oder installierbar. Bei live wird Moblin direkt vom USB-Stick oder einer CD gebootet. Bei der Option installierbar wird die Festplatte des Zielgeräts gelöscht und mit dem Inhalt des Images überschrieben. Das ist nicht immer wünschenswert. Der Befehl $ sudo dd if=<path to image> of=<location of usb drive> erzeugt ein Image auf einem bootbaren USB-Stick.
Der letzte Schritt besteht im Booten des Images auf einem Netbook (oder MID etc.). Einfach den USB-Stick anschließen und das Zielgerät starten oder rebooten. Wenn der USB-Stick (gemäß BIOS-Voreinstellung) zuerst gebootet wird, wird ein Menü angezeigt, dass dem Nutzer mehrere Optionen anbietet: Live-CD, Live-USB, Loop Images, KVM Images, VMDK (VMware). Sobald das gewählte Image installiert worden ist, wird es nach einem Neustart des Zielgeräts aktiviert – fertig.




