Sie können flashrom verwenden , um das BIOS eines Motherboards zu aktualisieren.
Beispiel (Abit KN9 Ultra):
Das Board ist ein AMD Athlon 64-Board mit AM2-Sockel und Nvidia-Chipsatz, das ab 2006 erhältlich ist. Es verfügt über einen austauschbaren 256-KB-Flash-Chip. Das BIOS ist mit "Award" gekennzeichnet, was anscheinend ein Warenzeichen von Phoenix ist.
Flashrom unterstützt diesen Chipsatz und diesen Flash-Chip.
Die Unterstützung kann mit einem Befehl wie dem folgenden getestet werden:
# flashrom --programmer internal
Calibrating delay loop... OK.
Found chipset "NVIDIA MCP55".
Enabling flash write... OK.
Enabling full flash access for board "abit KN9 Ultra"... OK.
Found PMC flash chip "Pm49FL004" (512 kB, LPC, FWH) mapped at physical address 0x00000000fff80000.
Es ist sinnvoll, zuerst den aktuellen Inhalt des Flash-Chips zu sichern:
# flashrom --programmer internal -c Pm49FL004 -r backup.bin
Es kann dann mit einer Vanille-Image-Datei des Herstellers verglichen werden (z . B. mit xxd
und vimdiff
).
Einige Unterschiede sind zu erwarten, da in einigen BIOS-Versionen auch zusätzliche Informationen (z. B. DMI) und Einstellungen (z. B. MAC-Adressen) im Flash gespeichert sind. Dies ist auch beim Abit KN9 Ultra der Fall. Die DMI-Daten werden in den ersten 1872 Bytes gespeichert - und können vom BIOS während des Startvorgangs problemlos neu generiert werden. Die MAC-Adressen werden am Offset 0x74E30 gespeichert.
Die Hersteller-Firmwaredateien werden in ein Zip-Archiv gepackt, das awdflash.exe
eine BIN
Datei enthält , z M520A_23.BIN
. In diesem Beispiel enthält die bin-Datei das BIOS-Image wie es ist, dh es kann direkt auf den Flash-Chip geschrieben werden.
# flashrom --programmer internal -c Pm49FL004 -w M520A_23.BIN
Calibrating delay loop... OK.
Found chipset "NVIDIA MCP55".
Enabling flash write... OK.
Enabling full flash access for board "abit KN9 Ultra"... OK.
Found PMC flash chip "Pm49FL004" (512 kB, LPC, FWH) mapped at physical address 0x00000000fff80000.
Reading old flash chip contents... done.
Erasing and writing flash chip... Erase/write done.
Verifying flash... VERIFIED.
Abhängig vom Update muss das CMOS möglicherweise für den nächsten Neustart gelöscht werden. Andernfalls startet das BIOS möglicherweise nicht. Auf dieser Karte kann der CMOS über eine Jumpereinstellung gelöscht werden. Ein Löschen per Software ist ebenfalls möglich (zB über CmosPwd ).
Um eindeutige Standard-MAC-Adressen beizubehalten, kann das neue Anbieter-Image vor dem Flashen gepatcht werden, z.
dd if=backup.bin of=mac.bin bs=1 count=16 skip=$(echo 16 i 74E30 p | dc)
dd if=mac.bin of=M520A_23_with_mac.bin bs=1 seek=$(echo 16 i 74E30 p | dc) \
conv=notrunc
Tücken:
- Das Flash-Schreiben kann aufgrund eines Motherboard-spezifischen Board-Aktivierungscodes (dh zum Deaktivieren des Schreibschutzes) fehlschlagen, der noch nicht von Flashrom implementiert wurde.