Update: Ich bin wieder etwas weiter, die Diskette hatte durch das Ausschalten im Laufwerk einen Lesefehler. Neu formatiert oder andere Diskette, kann wieder gelesen werden.
Ich habe herausgefunden, dass der Recovery-Modus eine Funktion namens "Boot Block" verwendet. Das ist ein bereich im Flash, der schreibgeschützt ist und ein Mini-Betriebssystem beinhaltet, der nur von Laufwerk A: starten, die AUTOEXEC.BAT ausführen und sehr einfache DOS-Programme starten kann. Grafikausgabe gibt es nur über ISA, sonst halt blind.
1. Nun kann man sich mit jedem beliebigen Flash-Programm, das man im unbeaufsichtigten Betrieb starten kann, eine Recovery-Diskette bauen. Das hat auch funktioniert, Uniflash wird dann so gestartet:
Ergebnis: Uniflash startet, piepst, meldet danach mit einem Dauerpiepser einen Fehler.
2. Angeblich sucht das AMIBIOS auch nach einer Datei namens AMIBOOT.ROM auf der Diskette und flasht diese selbständig und piept dann freudig viermal.
Ergebnis: Der Boot Block liest tatsächlich irgendwas von Diskette, in einem Muster, dass dazu passt. Aber kommt nicht zum Ende. Ich bin nicht sicher, ob das Board sowas wirklich schon kann – aber es tut immerhin, als ob.
3. Auf der Gateway-Recovery-Diskette befindet sich ein eigenes System, das eine Datei namens OLDBIOS.BIN flasht.
Ergebnis: Bekannt, es kommt nicht zum Ende.
4. Im Intel-BIOS-Paket ist das Intel-Programm FMUP, was aber ein eigenes Dateiformat hat. In dem Format habe ich nur das alte BIOS. Außerdem will es per Tastatur bedient werden, ich habe aber keine ISA-Grafikkarte.
Getestet wurden immer das alte und das neue BIOS.
Fazit: Ich glaube langsam, dass der Flash-Baustein kaputt ist oder sowas …
Mittlerweile startet das Board nur noch vom Boot Block, auch im normalen Betriebsmodus. Keine Ahnung, ob es einfach neu flashen möchte …
Das bringt mich auf eine Spur! Der Recovery-Jumper verändert offenbar die höchste Adressleitung vom Flash (A16). Dadurch weren BIOS-Bootcode und Bootblock im Adressraum ausgetauscht! In jedem Fall kann man mit oder ohne den Jumper den Baustein auslesen oder flashen … wenn man Pech hat, überschreibt man einfach das BIOS mit einem zweiten Bootblock und in die andere Hälfte kommt ein unvollständiges BIOS Also beim Backup kein Jumper gesetzt. Beim Zurückflashen im Recovery-Mode dann gesetzt. Natürlich bekommt man dann den Code sehr leicht in die falsche Reihenfolge! Es sei denn, man dreht die Hälften in der Binärdatei um, dann stimmen sie wieder. Dann wird der Boot Block vom Uniflash gegengeprüft und stimmt auch mit der Binärdatei überein – ist natürlich immer noch nicht geschrieben worden, aber nun identisch mit dem Backup Ich glaube, das teste ich morgen mal! Gute Nacht …