Możesz użyć Flashrom, aby zaktualizować BIOS płyty głównej.
Przykład (Abit KN9 Ultra):
Płytka to płyta AMD Athlon 64, AM2 Socket, chipset Nvidia, wydana od 2006 roku. Ma wymienną pamięć flash 256 KB. BIOS jest oznaczony „Award”, który wydaje się być znakiem towarowym Phoenix.
Flashrom obsługuje ten mikroukład i ten układ flash.
Wsparcie można przetestować za pomocą polecenia:
# 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.
Warto wykonać kopię zapasową bieżącej zawartości układu flash, najpierw:
# flashrom --programmer internal -c Pm49FL004 -r backup.bin
Następnie można go porównać do pliku obrazu waniliowego od dostawcy (używając np. xxd
Ivimdiff
).
Spodziewane są pewne różnice - ponieważ niektóre BIOS-y przechowują także dodatkowe informacje (np. DMI) i konfigurację (np. Adresy MAC) we flashu. Dotyczy to również Abit KN9 Ultra. Dane DMI są przechowywane w pierwszych 1872 bajtach - i są łatwo ponownie generowane przez BIOS podczas rozruchu. Adresy MAC są przechowywane z przesunięciem 0x74E30.
Pliki firmware sprzedawca są pakowane w archiwum zip, który zawiera awdflash.exe
i BIN
pliku, np M520A_23.BIN
. W tym przykładzie plik bin zawiera obraz systemu BIOS w takiej postaci, w jakiej jest, tzn. Można go zapisać bezpośrednio za pomocą układu flash za pomocą polecenia:
# 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.
W zależności od aktualizacji może być konieczne wyczyszczenie pamięci CMOS podczas następnego restartu - w przeciwnym razie BIOS może się nie uruchomić. Na tej płycie CMOS można wyczyścić za pomocą ustawienia zworek. Możliwe jest również czyszczenie za pomocą oprogramowania (np. Przez CmosPwd ).
Aby zachować unikalne domyślne adresy MAC, nowy obraz dostawcy można załatać przed flashowaniem, np .:
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
Pułapki:
- Zapis Flash może się nie powieść z powodu kodu włączającego płytę główną (tj. Wyłączającego ochronę przed zapisem), który nie jest jeszcze zaimplementowany przez Flashrom.