SheevaPlug – uboot Update


Wie schon angekündigt dokumentiere ich hier die Aktionen mit der Sheevaplug.
Auf meinem Squeeze System mit derzeit aktivem 2.6.30-2-686 Kernel wird die Kiste sofort erkannt und das Device /dev/ttyUSB0 wird erstellt.
Um das Device zu verwenden, sollte man in der Systemgruppe dialout sein.  Wer das nicht ist, kann sich als root der Gruppe via

adduser $USER dialout

hinzufügen. Sollte das notwendig sein, muss man sich am System ab- und wieder anmelden. Erst dann ist die Modifikation aktiv und kann mit dem Befehl „id“ auf der Konsole geprüft werden.

Es bestehen nun mehrere Möglichkeiten zu dem Device zu connecten. Putty oder cu stehen auf jedenfall zur Wahl. Ich entscheide mich für cu welches schnell via aptitude installiert ist.
Die Verbindung kann dann über

cu -s 115200 -l /dev/ttyUSB0

hergestellt werden. Leider sieht man hier die wunderschöne ASCII Grafik nicht richtig 😉

__ __ _ _
| / | __ _ _ ____ _____| | |
| |/| |/ _` | ‚__ / / _ | |
| | | | (_| | | V / __/ | |
|_| |_|__,_|_| _/ ___|_|_|
_ _ ____ _
| | | | | __ ) ___ ___ | |_
| | | |___| _ / _ / _ | __|
| |_| |___| |_) | (_) | (_) | |_
___/ |____/ ___/ ___/ __|
** MARVELL BOARD: SHEEVA PLUG LE

U-Boot 1.1.4 (Mar 19 2009 – 16:06:59) Marvell version: 3.4.16

U-Boot code: 00600000 -> 0067FFF0 BSS: -> 006CEE80

Soc: 88F6281 A0 (DDR2)
CPU running @ 1200Mhz L2 running @ 400Mhz
SysClock = 400Mhz , TClock = 200Mhz

DRAM CAS Latency = 5 tRP = 5 tRAS = 18 tRCD=6
DRAM CS[0] base 0x00000000 size 256MB
DRAM CS[1] base 0x10000000 size 256MB
DRAM Total size 512MB 16bit width
Flash: 0 kB
Addresses 8M – 0M are saved for the U-Boot usage.
Mem malloc Initialization (8M – 7M): Done
NAND:512 MB

CPU : Marvell Feroceon (Rev 1)

Streaming disabled
Write allocate disabled

USB 0: host mode
PEX 0: interface detected no Link.
Net: egiga0 [PRIME], egiga1
Hit any key to stop autoboot: 0
Marvell>>

An dieser Stelle sollte man zügig irgendeine Taste drücken, sonst bootet die Kiste in das vorinstallierte System.
Nun ist man auf der Marvell Commandline. Über

help

kann man sich die verfügbaren Kommandos anzeigen lassen.
Wichtig ist die uboot Version die man sich mit dem Befehl

version

ausgeben lassen kann.
Meine Kiste gibt mir folgende Ausgabe:

U-Boot 1.1.4 (Mar 19 2009 – 16:06:59) Marvell version: 3.4.16

Ein dringendes Update auf 3.4.19 ist erforderlich – mit dieser Version wurde die FAT32 Unterstützung verbessert.

Für das Update gibt es auch wieder mehrere Möglichkeiten – entweder über TFTP oder über USB. Ich nutze die USB Variante und formatiere deshalb mit gparted einen 1GB Stick mit FAT32.
Über die Marvellkonsole will ich nun, wie auf dieser Seite beschrieben, die notwendigen Schritte durchführen. Leider jedoch wird „usb start“ schon wie folgt quittiert.

Marvell>> usb start
(Re)start USB…
USB: scanning bus for devices… 2 USB Device(s) found
scanning bus for storage devices… Device NOT ready
Request Sense returned 00 00 00
0 Storage Device(s) found

Auch mehrere „reset“ bringen keine Besserung. Die installierte uboot Version scheint tatsächlich etwas buggy zu sein oder der Noname Stick wird schlichtweg verpöhnt.

Also fluchs einen anderen Stick (Kingston – 1GB) ausprobiert – und wird wenigstens auf Anhieb gefunden

Marvell>> usb start
(Re)start USB…
USB: scanning bus for devices… 2 USB Device(s) found
scanning bus for storage devices… 1 Storage Device(s) found

Das ist aber auch nicht immer der Fall wie ich eben durch ein erneutes „reset“ feststellen musste.
Als wenn das nicht genug wäre, schockt mich auch noch folgende Meldung:

Marvell>> fatload usb 0:1 0x0800000 uboot.bin
reading uboot.bin
Invalid FAT entry
4096 bytes read

Vielleicht sollte man doch die auf der Anleitungsseite empfohlene TFTP Variante wählen. Nun gut, einen Versuch war es Wert würde ich sagen – hätte ja auch klappen können *ggg*

Also installier ich mir auf die schnelle einen TFTP Server via

sudo aptitude install tftpd-hpa

und definiere das Verzeichnis /opt/tftp welches auch selbstständig angelegt wird.
Hier kopiere ich jetzt die Datei u-boot.bin-3.4.19 rein und entpacke diese dort. uboot.bin liegt nun also an der vorgesehenen Stelle.

Nun folge ich den Anweisungen der genannten Seite und siehe da:

Marvell>> setenv serverip 192.168.222.14
Marvell>> setenv ipaddr 192.168.222.88
Marvell>> bubt uboot.bin
Using egiga0 device
TFTP from server 192.168.222.14; our IP address is 192.168.222.88
Filename ‚uboot.bin‘.
Load address: 0x2000000
Loading: #################################################################
############################
done
Bytes transferred = 473888 (73b20 hex)

**Warning**
If U-Boot Endiannes is going to change (LE->BE or BE->LE), Then Env parameters should be overriden..
Override Env parameters? (y/n) y
Erase Env parameters sector 655360…
Erase 0 – 655360 …
Copy to Nand Flash…
done

Dieses Fest quittiere ich natürlich mit einem „reset“ und warte gespannt.

Ergebnis: Der Reset geht gefühlt doppelt so schnell und folgende Version erwartet mich

Marvell>> version
U-Boot 1.1.4 (Jul 19 2009 – 16:03:28) Marvell version: 3.4.19

Geschafft! Bestens!
Fazit: Nächstes Mal sofort die TFTP Variante nutzen! 😉

Manual – U-Boot Commands

,

  1. Bisher keine Kommentare.
(wird nicht veröffentlicht)