Reflashage du Freerunner GTA02
Tags : freerunner, openmoko
Hé oui, lorsqu'on se précipite pour mettre à jour un système embarqué il arrive parfois des bricoles. Ici, j'ai mis à jour Openmoko dès chargement de la batterie. Voyant que tout allait bien, j'ai basculé sur testing et... c'était mal.
Résultat, reflashage du rootfs et du noyau depuis le bootloader uBoot. procédure :
Installation des outils :
% sudo apt-get instal dfu-utils
Récupération des images sur http://downloads.openmoko.org/releases/Om2008.9/.
Comme expliqué sur http://wiki.openmoko.org/wiki/Flashing_the_Neo_FreeRunner procéder comme suit.
Démarrage du système sur la flash NOR (appuyer sur le bouton AUX jusqu'au menu uBoot, maintenir, appuyer sur power). Le menu du booloader NOR ne reste actif que 30 secondes. Si l'écran devient noir avant que vous ayez eu le temps de taper les commande, recommencez.
Brancher le câble USB.
Reflashage du noyau :
% dfu-util -a kernel -R -D Om2008.9-gta02-20080916.uImage.bin dfu-util - (C) 2007 by OpenMoko Inc. This program is Free Software and has ABSOLUTELY NO WARRANTY Opening USB Device 0x0000:0x0000... Claiming USB DFU Runtime Interface... Determining device status: state = appIDLE, status = 0 Device really in Runtime Mode, send DFU detach request... Resetting USB... Opening USB Device... Found Runtime: [0x1d50:0x5119] devnum=58, cfg=0, intf=0, alt=3, name="kernel" Claiming USB DFU Interface... Setting Alternate Setting ... Determining device status: state = dfuIDLE, status = 0 dfuIDLE, continuing Transfer Size = 0x1000 bytes_per_hash=37894 Starting download: [##################################################] finished! state(2) = dfuIDLE, status(0) = No error condition is present Done! Resetting USB to switch back to runtime mode
Flashage rootfs :
% dfu-util -a rootfs -R -D Om2008.9-gta02-20080916.rootfs.jffs2 dfu-util - (C) 2007 by OpenMoko Inc. This program is Free Software and has ABSOLUTELY NO WARRANTY Opening USB Device 0x0000:0x0000... Claiming USB DFU Runtime Interface... Determining device status: state = appIDLE, status = 0 Device really in Runtime Mode, send DFU detach request... Resetting USB... Opening USB Device... Found Runtime: [0x1d50:0x5119] devnum=60, cfg=0, intf=0, alt=6, name="rootfs" Claiming USB DFU Interface... Setting Alternate Setting ... Determining device status: state = dfuIDLE, status = 0 dfuIDLE, continuing Transfer Size = 0x1000 bytes_per_hash=1433927 Starting download: [##################################################] finished! state(2) = dfuIDLE, status(0) = No error condition is present Done! Resetting USB to switch back to runtime mode
Rebooter depuis la mémoire NAND (éteindre le système, appuyer sur power, maintenir et appuyer sur AUX)