マザーボードのBIOSをアップデートしたら起動しなくなったのでその時の修復方法。
自分の環境ではおおよそ3000円前後で必要な機材が揃いました。
####起動しなくなったマザーボード
Asrock Z370 Pro4
####購入したもの
・Raspberry Pi Zero WH ケースセット(マルツで2650円 ケースなしなら2000円)
・ジャンパーワイヤー メスメス(千石電商で400円)
####Raspberry Pi Zero WHを選んだ理由
GPIOピンが付いている(Zeroの無印やWだと別途はんだ付けが必要)
WiFiが付いている(リモートで操作が楽)
互換機だとGPIO操作が面倒(情報があまりない)
####既に持っていたが無ければ購入するもの
・8G以上のmicrosd(400円程度)
・電源用USBケーブル(microB 150円程度)
####必要環境
・Raspberry Pi Zero WHをセットアップと操作をするPC
・WiFiルーター
##BIOSチップの確認
目では見えない小ささの刻印。デジカメで撮影して拡大したところMX25L12873Fと判明。
##BIOSチップとRaspberry Pi Zero WHの接続
最初はテストクリップを用いて接続を考えていたが、マザーボードを見たらBIOSのすぐ左に接続用らしきピンがあったのでそれに接続しました。
(BIOSの左にあるPH1コネクタ)
ピンアサインをネットで調べたが一切情報がない。テスターで調べたところ以下のようなピンアサインとなっているようです。
参考までにMX25L12873Fのデータシート
http://www.macronix.com/Lists/Datasheet/Attachments/7396/MX25L12873F,%203V,%20128Mb,%20v1.2.pdf
###マザーボードとRaspberry Piを接続
GPIOピンアサイン
17番にSIO2、VCC、SIO3を接続
19番にSI/SIO0を接続
21番にSI/SIO1を接続
23番にSCLKを接続
24番にCS#を接続
25番にGNDを接続
##ROM焼き
操作はrootで。
####SPIを有効にする
$raspi-config nonint do_spi 0
要再起動。raspi-configはOSのバージョンで若干の変更があるので通らなかったら調べて下さい(後述のflashromで/dev/spidev0.0のエラーが出たらSPIが有効になっていません)。
####flashromをインストール
$apt install flashrom
####BIOS内を消去
Erase。速度を16000に指定。
$flashrom -c MX25L12835F/MX25L12845E/MX25L12865E -E -V -p linux_spi:dev=/dev/spidev0.0,spispeed=16000
###書き込み
AsrockのサイトからダウンロードしたBIOSをbios.romにmv後に以下のコマンドを実行。
$flashrom -c MX25L12835F/MX25L12845E/MX25L12865E -w bios.rom -V -p linux_spi:dev=/dev/spidev0.0,spispeed=16000
Erase/write done.
Verifying flash...
VERIFIED.
と出力されれば成功。
##注意点
マザーボードのボタン電池は一応外しておきましょう。
内蔵LANのMacAdressが変わります(88-88-88-88-87-88)。
Windowsの再認証が必要となるでしょう。
たぶんシリアル番号やUUIDも飛んでいるのでWindows10でも再認証になる可能性が高いです。
flashromで以前のBIOSのバックアップを取って、新しいBIOSにバイナリエディタで書き換えれば大丈夫らしいですが、自分の時はバックアップが取れなかったので再認証となりました。
##その他
違うマザーボードでもチップ名を調べてテスターがあればなんとかなります。
ピンがない場合やピンアサインを調べるのが面倒だったら、ICテストクリップで直接繋いでしまいましょう。