2019年5月26日日曜日

ASRock Z390 Phantom Gaming 4のBIOSをラズパイで焼いた

参考元:Raspberry PiでマザーボードのBIOS修復
https://qiita.com/r-ni/items/4c579d7d5ece93892762

設定が飛ぶのは勿論、BIOSが復旧不能になる可能性があります。
自己責任にてお願いします。
 

用意するもの

Raspberry Pi(今回使用したのは3B)
ジャンパワイヤ(メス-メスx5,オス-メスx4あると楽)
ブレッドボード

イメージの用意

https://www.asrock.com/mb/Intel/Z390%20Phantom%20Gaming%204/index.jp.asp#BIOS
バージョン4.00のInstant Flashでアップデートするものをダウンロード
Z39PG4_4.00をラズパイのホームディレクトリに転送

ラズパイの準備

シェルにて以下2コマンド実行
SPIの有効化
$ sudo raspi-config nonint do_spi 0

flashromのインストール
$ sudo apt-get update && sudo apt-get install flashrom -y

マザーボードとラズパイの接続

マザーボードに乗っていたSPI FlashはWinbondのW25Q128JVSIQでした。
https://www.digikey.jp/product-detail/ja/winbond-electronics/W25Q128JVSIQ/W25Q128JVSIQ-ND/5803943

テスターでSPI Flashの足と当たって調べたマザーボードのBIOS PH1コネクタのピンアサインはこんな感じ

ラズパイのピンアサイン(Raspberry Pi GPIO Pinoutより)
Graphical Raspberry Pi GPIO Pinout
ラズパイとマザボのピンヘッダの接続
raspi GPIO 17番(3V3)---SIO2,VCC,SIO3
raspi GPIO 19番(MOSI)---SI/SIO0
raspi GPIO 21番(MISO)---SI/SIO1
raspi GPIO 23番(SCLK)---SCLK
raspi GPIO 24番(CE0)---CS#
raspi GPIO 25番(GND)---GND


バックアップと書き込み作業

シェルにてflashromを使って作業する
イメージのバックアップ
$ sudo flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=16000 -r ./backup.rom

一旦再起動(当方の環境だと再起動しないと書き込みに失敗した)
$ sudo reboot

イメージの書き込み
$ sudo flashrom -w ./Z39PG4_4.00 -V -p linux_spi:dev=/dev/spidev0.0,spispeed=16000