Openmoko Freerunner flashen

Neo front 3 telefon rootfs.jffs2 phone openmoko open source linux kernel hardware handy gta02 freerunner dfu util bash

Openmoko Freerunner

Das Openmoko Freerunner Telefon wird standardmäßig mit vorinstalliertem Kernel und root-Dateisystem geliefert. Diese Dateien werden bei der Produktion aufgespielt und sind nicht aktuell. Inzwischen gibt es eine Reihe von verschiedenen Distributionen für den Freerunner, die sich ständig weiterentwickeln. Um einen neuen Kernel und ein neues root-Dateisystem aufzuspielen, kann der Freerunner geflasht werden.

Hardwarevoraussetzungen:
— Ein Openmoko Freerunner
— Ein regulären Linux PC
— Ein USB-Verbindungskabel (Standardmäßig mitgeliefert)

Softwarevoraussetzungen auf dem regulären Linux-PC:
— das Tool dfu-util
— ein root-Dateisystem (rootfs)  – per download (i.d.R. mit der Dateiendung   .jffs2)
— ein Kernel-Image (uI mage) – per download (Dateiendung   .bin)

Das folgende Beispiel bezieht sich auf Images von freesmartphone.org (FSO). Falls nötig, Backup nicht vergessen!

1. dfu-util installieren (Ubuntu: sudo apt-get install dfu-util)
2. Das rootfs und das Kernelimage auf den PC herunterladen (in diesem Beispiel von:
3. Freerunner ausschalten
4. Freerunner in das NOR-Bootmenü booten. Dazu die Taste AUX und dann gleichzeitig die Taste POWER für ein paar Sekunden drücken.
5. Achtung! Nun sollte es zügig weitergehen, da sich der Freerunner in dieser Phase nach 30 Sekunden Inaktivität abschaltet.
6. Erst jetzt (nicht zuvor!) den Freerunner per USB mit dem Linux-PC verbinden.
7. Mit dfu-util -l kann man sich anzeigen lassen, ob Freerunner erkannt wird:

use:/home/moko # dfu-util -l
dfu-util - (C) 2007-2008 by OpenMoko Inc.
This program is Free Software and has ABSOLUTELY NO WARRANTY
Found Runtime: [0x1d51:0x5113] devnum=3, cfg=0, intf=0, alt=0, name="UNDEFINED"

8. Manchmal werden hier mehrere Geräte angezeigt, dfu-util verweigert den Dienst. (“More than one DFU capable USB device found, you might try `–list’ and then disconnect all but one device“). Hier kann man versuchen das Kabel zu ziehen und neu zu verbinden. Oder man gibt das gewünschte Gerät beim Flashen (siehe weiter unten) mit der Option –device exakt an. Um das “ungewollte” device abzunabeln, merkt man sich die Bezeichnung (Bsp: [0x1d51:0x5113] ). Dann identifiziert man das entsprechende devive über den Befehl lsusb. Auch integrierte Webcams, WLAN-Karten usw.usw. können als usb-Geräte in lsusb auftauchen. Ein simples Ausschalten des Schalters für das WLAN führte bei mir zum Erfolg.
9. Nun kann das rootfs (Endung: .jffs2) aufgespielt werden (hier im Beispiel mit genauer Angabe des device 0x1d51:0x5113):

dfu-util --device 0x1d51:0x5113 -a rootfs -R -D fso-image-om-gta02.jffs2

10. Falls erfolgreich, sollte man den download starten sehen, der dann so endet:

Starting download: [##################################################] finished!
state(2) = dfuIDLE, status(0) = No error condition is present
Done!

Resetting USB to switch back to runtime mod

11. Nun den Kernel (Endung: .bin) aufspielen (Achtung 30 Sekunden!)

dfu-util --device 0x1d51:0x5113 -a kernel -R -D uImage-2.6.28 oe1+gitr34240a1c06ae36180dee695aa25bbae869b2aa26-r3-om-gta02.bin

12. Falls erfolgreich, sieht man eine ähnliche Rückmeldung wie beim rootfs

13. Fertig! Freerunner nun neu booten (durch Drücken des Knopfes POWER)

Weitere Infos: http://wiki.openmoko.org/wiki/Flashing#.232_Image_files_to_flash_into_FreeRunner_memory

Alternative Distribution für die offene Hardwareplattform sind das native Openmokoimage Om 2008.8, sowie  FDOM , Qtopia. Android , Debian und Gentoo.

Eine schöne Einführung in das Thema Openmoko Freerunner ist in der Aprilausgabe von freiesMagazin zu lesen: ftp://ftp.freiesmagazin.de/2009/freiesMagazin-2009-04.pdf