Ви можете використовувати flashrom для оновлення BIOS материнської плати.
Приклад (Abit KN9 Ultra):
Дошка - плата AMD Athlon 64, AM2 Socket, чіпсет Nvidia, випущена з 2006 року. У неї є флеш-чіп 256 Кб, який можна замінити. BIOS позначений «Премією», яка, схоже, є торговою маркою Phoenix.
Flashrom підтримує цей чіпсет і флеш-чіп.
Підтримка може бути протестована за допомогою команди типу:
# 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.
Спершу має сенс створити резервну копію поточного вмісту флеш-чіпа:
# flashrom --programmer internal -c Pm49FL004 -r backup.bin
Потім його можна порівняти з файлом зображення ванілі від постачальника (використовуючи, наприклад, xxd
і vimdiff
).
Очікуються деякі відмінності, оскільки деякі BIOS також зберігають додаткову інформацію (наприклад, DMI) та конфігурацію (наприклад, MAC адреси) у спалах. Так само і з Abit KN9 Ultra. Дані DMI зберігаються в перших 1872 байтах - і легко відновлюються BIOS під час завантаження. MAC-адреси зберігаються при зміщенні 0x74E30.
Файли прошивки постачальника упаковані в zip-архів, який містить awdflash.exe
і BIN
файл, наприклад M520A_23.BIN
. У цьому прикладі бін-файл містить зображення BIOS таким, яким він є, тобто його можна безпосередньо записати виконати флеш-чіп з командою типу:
# 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.
Залежно від оновлення, можливо, буде потрібно очистити CMOS для наступної перезавантаження - інакше BIOS може не запуститися. На цій платі CMOS можна очистити за допомогою перемички. Очищення за допомогою програмного забезпечення також можливе (наприклад, через CmosPwd ).
Для збереження унікальних MAC-адрес за замовчуванням нове зображення постачальника може бути виправлене перед миготінням, наприклад:
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
Підводні камені:
- Спалах запис може руйнуватися з - за конкретну материнську плату плати дозволяє (наприклад , для відключення захисту від запису) коду , який не реалізований на FlashROM, поки.