Update des ROM-Disk Images

Der Inhalt des FLash kann mit Hilfe des pmon, einem kleinen Monitor des Agenda VR3, auf einen neuen Stand gebracht werden. Der Inhalt kann entweder als S-Record oder als binäre Datei vorliegen. Da der Betrieb der seriellen Schnittstelle die Stromversorgung sehr belastet, sollten neue Battereien eingesetzt werden. Eigene Daten sollten zuerst gesichert werden, da unter Umständen ein restaurieren der Defaults notwendig ist und damit eigene Dateien verloren gehen.

Eine "verdeutschte" root-disk für den VR3 gibt es unter http://www.8ung.at/efu/agenda.html

Es gibt verschiedene Romdisks, bei denen zum Teil auch die binaries inkompatibel sind!

H2O ist neuer als Matrix.

Bei SNOW werden die Libraries anders verlinkt, dadurch sind die Programme schneller und auch etwas kleiner. Es gibt aber auch einen Nachteil. Weitere Informationen findet man unter: http://www.desertscenes.net/agenda/snow/.


PMON schützen

Mit folgendem Kommando kann geprüft werden, ob der pmon schon geschützt ist:

PMON> m -b bf000000 98
PMON> d -b bfc00000

Ist PMON nicht geschützt, erhält man folgende Ausgabe:

bfc00000  89 00 18 00 XX 00 00 00 ...

Hat das Byte XX den Wert 00, ist der Block nicht geschützt. Hat es den Wert 01, ist der Block schreibgeschützt.

Der Schreibschutz wird mit den folgenden Kommandos gesetzt. Achtung: Werden die Kommandos nicht korrekt eingegeben, kann der Agenda unbrauchbar werden!

PMON> m -b bfc00000 60
PMON> m -b bfc00000 01

Dieser Speicherbereich kann nun mit folgenden Kommando ausgegeben werden:

PMON> d -b bfc00000

Es sollte etwa folgende Ausgabe erscheinen:

bfc00000  80 00 80 00 80 00 80 00  80 00 80 00 80 00 80 00   ................   
bfc00010  80 00 80 00 80 00 80 00  80 00 80 00 80 00 80 00   ................   
bfc00020  80 00 80 00 80 00 80 00  80 00 80 00 80 00 80 00   ................   
bfc00030  80 00 80 00 80 00 80 00  80 00 80 00 80 00 80 00   ................   
bfc00040  80 00 80 00 80 00 80 00  80 00 80 00 80 00 80 00   ................   
bfc00050  80 00 80 00 80 00 80 00  80 00 80 00 80 00 80 00   ................   
bfc00060  80 00 80 00 80 00 80 00  80 00 80 00 80 00 80 00   ................   
bfc00070  80 00 80 00 80 00 80 00  80 00 80 00 80 00 80 00   ................   
bfc00080  80 00 80 00 80 00 80 00  80 00 80 00 80 00 80 00   ................   
bfc00090  80 00 80 00 80 00 80 00  80 00 80 00 80 00 80 00   ................   
more...

Jetzt kann der Speicher wieder in den datenmodus geschaltet werden:

PMON> m -b bfc00000 ff

Nun wird das gleiche Verfahren für größere Adressen wiederholt:

PMON> m -b bfc20000 60
PMON> m -b bfc20000 01

Jetzt kann dieser Speicherbereich auch ausgegeben werden:

PMON> d -b bfc20000

Es sollte wieder etwas folgende Ausgabe erscheinen:

bfc20000  80 00 80 00 80 00 80 00  80 00 80 00 80 00 80 00   ................   
bfc20010  80 00 80 00 80 00 80 00  80 00 80 00 80 00 80 00   ................   
bfc20020  80 00 80 00 80 00 80 00  80 00 80 00 80 00 80 00   ................   
bfc20030  80 00 80 00 80 00 80 00  80 00 80 00 80 00 80 00   ................   
bfc20040  80 00 80 00 80 00 80 00  80 00 80 00 80 00 80 00   ................   
bfc20050  80 00 80 00 80 00 80 00  80 00 80 00 80 00 80 00   ................   
bfc20060  80 00 80 00 80 00 80 00  80 00 80 00 80 00 80 00   ................   
bfc20070  80 00 80 00 80 00 80 00  80 00 80 00 80 00 80 00   ................   
bfc20080  80 00 80 00 80 00 80 00  80 00 80 00 80 00 80 00   ................   
bfc20090  80 00 80 00 80 00 80 00  80 00 80 00 80 00 80 00   ................   
more...

Und zum Schluss:

PMON> m -b bfc20000 ff

Damit ist die Prozedur beendet.


Erstellen einer eigenen ROM-Disk

Die ROM-Disks liegen im cramfs Format vor. Eine neue ROM-Disk kann mit agmake.sh erstellt werden. Für Puristen gibt es noch AC's vrp tools.

Um vorhandene ROM-Disks zu modifizieren, werden folgende Tools benötigt:

Mit diesen Tools müssen nun fogensde Schritte durchgeführt werden:

Folgende Probleme können auftauchen:


Laden einer S-Record Datei

Liegt die Datei als S-Record vor, muž sie mit dem etxack Protokoll übertragen werden. Wenn als Terminalprogramm minicom benutzt wird, muß das Protokoll etxack installiert werden.

Um die S-Record Datei zu laden, muß im pmon der Befehl "load" eingegeben werden. Anschließend kann im Terminalprogramm die Datei gesendet werden. In minicom wird dazu <Ctrl-a> s gedrückt, anschließend etxack als Protokoll und dann die Datei gewählt.

Die Datei ist an die Adresse 0x80080000 geladen und muß nun noch in das Flash gebrannt werden. Dabei ist darauf zu achten, den pmon, der bei 12MB bzw. 0xc00000 liegt, nicht zu überschreiben! Dazu ist das folgende Kommandi einzugeben:

$linux: flash 80080000 780000 200000


Laden einer Binärdatei


Liegt die Datei als Binärdatei vor, kann sie mit dem Programm vrflash auf den Agenda geladen werden.

Der Download wird mit folgender Kommandozeile gestartet:

vrflash -l -R root.cramfs romdisk

Die Ausgaben des Programmes sollten etwa so aussehen

Opening serial port...done
Waiting for input from port (CTRL-C to exit)... done

Jetzt muß der VR3 neu gestartet werden, um das Monitorprogramm pmon zu starten. Anschließend sollten die Ausgaben des vrflash Programms etwa so aussehen:

Looking for PMON prompt...done
Sending etxack start command...done
Starting etxack send (xmodem-load)...done
Looking for PMON prompt...done
Sending xmodem start command...done
Starting xmodem send - root.cramfs...
-- [7758/7758k] | 9.00 KB/s | 100% | DONE --
Elapsed time: 13:45
Looking for PMON prompt...done
Sending flash command...done
-- [7758k/7758k] | 100.00 KB/s | 100% | DONE --
Elapsed time: 11:15

Defaults restaurieren

Nachdem ein neues Romdisk Image geflasht wurde, mß das das restore defaults script ausgeführt werden. Dazu muß im pmon folgender Befehl eingetippt werden:

$linux console=ttyS0,115200 init=/sbin/restore_defaults
Achtung: Dieser Befehl löscht Benutzerdaten im Flash!