ASU, FSO und 2007.X

Jeder der sich näher mit OpenMoko beschäftigt wird früher oder später diese Kürzel hören und fragt sich was sie bedeuten. Das wollen wir hier jetzt klären. Also im Großen und Ganzen gibt es drei Softwarestacks für die Openmoko Hardware. Dies sind chronologisch geordnet folgende:

– Openmoko 2007.1 und deren Nachfolger Openmoko 2007.2
– das April Software Update (ASU)
– das neue Openmoko Framework (FSO)

Openmoko 2007.1/2007.2
Der Openmoko 2007.X Stack bestand aus GTK+ sowie den dazugehörigen Applikationen. Er war der ursprüngliche Stack für die Openmoko Hardware.

April Software Update (ASU)
Das ASU war eine Kombination eines Smartphone Stacks welcher im Gegensatz zu dem Openmoko 2007.X Stack auf einer auf X11 portierten Qtopia Umgebung basierte. Der eingesetzt Launcher für dieses System ist Illume.

Openmoko Framework (FSO)
Der FSO Stack (die Openmoko Framework Initiative) soll der aktuelle Stack des Systemes werden. Zur Zeit befindet er sich noch in der Entwicklung, aber in ein paar Monaten sollte er dann so weit sein das externe Entwickler ihre eigenen Software für die Openmoko Hardware schreiben können. Und für alle die sich wundern warum dieser Stack FSO und nicht z.B. OMFW heißt, das lässt sich damit erklären das es sich bei diesem Stack um die Implementation der FreeSmartphone.org APIs handelt. Das passende Userinterface zu diesem Stack heißt Zhone (Zen Phone).

Ich hoffe ich habe etwas Licht ins Dunkeln gebracht :)

Die Roadmap des neuen Openmoko-Frameworks

Dann möchte ich heute mal ein paar Worte zur Roadmap des neuen Openmoko Frameworks verlieren. Zur Zeit sind fünf Meilensteine geplant. Der erste davon wurde vor einiger Zeit bereits vorgestellt, bleiben also nur noch vier. Mit dem Meilenstein 5 sollte die API dann so stabil sein das Anwendungsentwickler damit arbeiten können ohne Angst vor tief greifenden Umstellungen zu haben.

Meilenstein 2
Geplante Fertigstellung: 15.07.2008

Ziele:
– Konferenzschaltung für Telefonieren
– Verbessertes SIM Handhabung
– Telefonbuch Funktionalität soll grundlegend implementiert sein

Meilenstein 3
Geplante Fertigstellung: 01.08.2008

Ziele:
– SMS senden und empfangen
– SMS Nachrichtenanwendung (Messagebook)

Meilenstein 4
Geplante Fertigstellung: 15.08.2008

Ziele:
– Integration der Google Summer of Code Projekte
– Die Anwendung „Einstellungen“

Meilenstein 5
Geplante Fertigstellung: 01.09.2008

Ziele:
– Kalender
– Alarm Uhr
– Weltzeituhr

Weitere Informationen sind auf trac.freesmartphone.org zu finden.

Was ist eigentlich freesmartphone.org?

Wer die Einträge der letzen Tage mitverfolgt hat wird gemerkt haben das ich ab und an die Seite freesmartphone.org erwähnt habe. Diese Erwähnung geschah immer im Zusammenhang mit dem neuen Framework für Openmoko.

Jetzt stellt sich natürlich die Frage was macht das neue Framwork dort? Warum ist es nicht auf den Openmoko Seiten zu finden? Das hat zweierlei Gründe. Erst einmal ist freesmartphone.org die Seite um welche sie die Frameworkentwickler organisieren (das Framework soll schließlich ein einheitliches Framework für Linux Smartphones (nicht nur OM) werden) und zweites soll freesmartphone.org praktisch das Pedant zu freedesktop.org sein.

Flashen des Freerunners

Die Entwicklung der Openmoko-Umgebung hört nicht einfach mit dem Erscheinen des Gerätes auf, wie es bei anderen Geräten leider der Fall ist. Das System wird ständig weiterentwickelt. Openmoko bringt täglich neue Versionen des Root Dateisystems, des Kernels und des U-Boot Bootloaders heraus. Damit man diese neuen in sein Freerunner bekommt, muss man das ganze flashen. Im Gegensatz zu anderen Geräten ist das Umwandeln des Freerunners in einen modischen Türstopper fast ein Ding der Unmöglichkeit. Also keine Angst beim flashen :)

Zum Flashen benötigt man erst einmal sein Freerunner sowie das mitgelieferte USB-Kabel, mit deren Hilfe man das Freerunner mit dem PC verbindet. Zum Verbinden muss man den U-Boot aktivieren. Dies erreicht man indem man beim Einschalten des Freerunners die AUX Taste (befindet sich links oben) gedrückt hält. Danach kann man den Freerunner mit dem USB Kabel verbinden.

Als nächstes benötigt man dann ein Image zum flashen. Dieses Image findet man unter http://downloads.openmoko.org/releases/Freerunner/. Eine Übersicht der verfügbaren Images ist unter http://www.neo1973-germany.de/wiki/FirmwareImages zu finden.

Die Anwendung um das Freerunner zu flashen kann unter http://downloads.openmoko.org/releases/Freerunner/dfu-util bezogen werden. Oder einfach für die Kommandozeile:

wget http://downloads.openmoko.org/releases/Freerunner/dfu-util

Für andere Systeme als x86 muss man die Anwendungen selber kompilieren. Weitere Informationen dazu unter: http://wiki.openmoko.org/wiki/Dfu-util.

Um das Freerunner dann mit dem heruntergeladenen Image zu flashen gibt man folgendes auf der Kommandozeile ein:

./dfu-util -a (Partionsname) -R -D (Name des Images)

Auf den Imageseiten gibt es zwei Dateien zum downloaden. Eine Datei mit der Endung .bin und eine Datei mit der Endung .jffs2. Bei der Datei mit der Endung .bin handelt es sich um den Kernel, bei der Datei mit der Endung .jffs2 handelt es sich um das Rootdateisystem. Um nun den Kernel und das Rootdateisystem zu flashen muss in der Console (auf dem PC^^) folgendes eingegeben werden:

./dfu-util -a kernel -R -D uImage-2.6.24+svnr4082-r4055-r3-neo1973.bin
./dfu-util -a rootfs -R -D Openmoko-Freerunner-20080424-om-gta02.rootfs.jffs2

Mit ersten Anweisung wird der Kernel geflasht und mit der zweiten das Rootdateisystem. Nicht wundern das ganze kann einen Moment dauern bis es fertig ist. Wenn das ganze Erfolgreich ausgeführt wurde steht in Anschluss auf der Konsole:

status(0) = No error condition is present
Done!

Sollte dfu-util das Neo nicht finden so sollte man noch den Parameter -d 0x1457:0x5119 ranhängen so das das ganze dann so aussieht:

./dfu-util -a kernel -R -D -d 0x1457:0x5119 uImage-2.6.24+svnr4082-r4055-r3-neo1973.bin
./dfu-util -a rootfs -R -D -d 0x1457:0x5119 Openmoko-Freerunner-20080424-om-gta02.rootfs.jffs2

Weitere Informationen gibt es unter:
http://wiki.openmoko.org/wiki/Getting_Started_with_your_Neo_FreeRunner
http://wiki.openmoko.org/wiki/Flashing_Openmoko.