Vous pouvez utiliser flashrom pour mettre à jour le BIOS d'une carte mère.
Exemple (Abit KN9 Ultra):
La carte est une carte AMD Athlon 64, un socket AM2, un chipset Nvidia, sorti en 2006. Il a une puce flash de 256 Ko qui est remplaçable. Le BIOS est étiqueté «Award», qui semble être la marque de commerce de Phoenix.
Flashrom prend en charge ce chipset et cette puce flash.
Le support peut être testé avec une commande comme:
# 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.
Il est logique de sauvegarder le contenu actuel de la puce flash, d'abord:
# flashrom --programmer internal -c Pm49FL004 -r backup.bin
Il peut ensuite être comparé à un fichier image vanille du fournisseur (en utilisant par exemple xxd
etvimdiff
).
Certaines différences sont attendues - car certains BIOS stockent également des informations supplémentaires (par exemple DMI) et la configuration (par exemple les adresses MAC) dans le flash. C'est également le cas avec l'Abit KN9 Ultra. Les données DMI sont stockées dans les premiers 1872 octets - et sont facilement recréées par le BIOS lors du démarrage. Les adresses MAC sont stockées à l'offset 0x74E30.
Les fichiers du firmware du fournisseur sont emballés dans une archive zip qui contient awdflash.exe
et un BIN
fichier, par exemple M520A_23.BIN
. Dans cet exemple, le fichier bin contient l'image BIOS telle quelle, c'est-à-dire qu'il peut être directement écrit sur la puce flash avec une commande comme:
# 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.
Selon la mise à jour, il peut être nécessaire d'effacer le CMOS pour le prochain redémarrage - sinon le BIOS pourrait ne pas démarrer. Sur cette carte, le CMOS peut être effacé via un réglage de cavalier. La suppression via un logiciel est également possible (par exemple via CmosPwd ).
Pour conserver les adresses MAC par défaut uniques, la nouvelle image du fournisseur peut être corrigée avant de clignoter, par exemple:
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
Pièges:
- L'écriture flash peut échouer en raison d'un code d' activation de la carte mère spécifique (c'est-à-dire pour désactiver la protection en écriture) qui n'est pas encore implémenté par flashrom.