Anda dapat menggunakan flashrom untuk memperbarui BIOS motherboard.
Contoh (Abit KN9 Ultra):
Papan tersebut adalah papan AMD Athlon 64, AM2 Socket, chipset Nvidia, dirilis sejak tahun 2006. Papan ini memiliki chip flash 256 KB yang dapat diganti. BIOS diberi label 'Penghargaan', yang tampaknya merupakan merek dagang Phoenix.
Flashrom mendukung chipset itu dan chip flash itu.
Dukungan dapat diuji dengan perintah seperti:
# 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.
Masuk akal untuk membuat cadangan konten flash chip saat ini, pertama:
# flashrom --programmer internal -c Pm49FL004 -r backup.bin
Itu kemudian dapat dibandingkan dengan file gambar vanila dari vendor (menggunakan misalnya xxd
dan vimdiff
).
Beberapa perbedaan diharapkan - karena beberapa BIOS juga menyimpan informasi tambahan (mis. DMI) dan konfigurasi (mis. Alamat MAC) dalam flash. Ini juga halnya dengan Abit KN9 Ultra. Data DMI disimpan dalam 1872 byte pertama - dan mudah dibuat kembali oleh BIOS selama booting. Alamat MAC disimpan pada offset 0x74E30.
File firmware vendor dikemas dalam arsip zip yang berisi awdflash.exe
dan BIN
file, misalnya M520A_23.BIN
. Dalam contoh ini, file bin berisi gambar BIOS apa adanya, yaitu dapat langsung ditulis melakukan chip flash dengan perintah seperti:
# 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.
Bergantung pada pembaruan, mungkin diperlukan untuk menghapus CMOS untuk reboot berikutnya - jika tidak, BIOS mungkin tidak memulai. Di papan itu CMOS dapat dihapus melalui pengaturan jumper. Kliring melalui perangkat lunak juga dimungkinkan (mis. Via CmosPwd ).
Untuk menjaga alamat MAC default unik, gambar vendor baru dapat ditambal sebelum menginstal, misalnya:
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
Perangkap:
- Penulisan flash mungkin gagal karena papan khusus motherboard mengaktifkan (yaitu untuk menonaktifkan penulisan proteksi) kode yang belum diimplementasikan oleh flashrom, belum.