2014年1月22日水曜日

Raspberry PiでBIOSを焼いてみた。

まぁ正確にはUEFIなんですが。
この前AT90USB162を使ってMX25L3206Eを焼きましたがどうにもVerifyで失敗してる模様…
あとからログを見て気が付いた…
水晶発振子が微妙なのかなぁ?

そういやRaspberry PiにはハードウェアなSPIついてんじゃんと思ってググってみるとやっていた人がいたw

そう、Raspberry PiでBIOSを焼いちゃおうというもの。

Tutorial: Recover from failed BIOS flash using Raspberry PI

ここに詳しく乗っていた。
flashromっていうツールがあったんだな…

使用方法はいたって簡単で
まずflashromをコンパイルするためにライブラリのインストール

sudo apt-get update
sudo apt-get install pciutils-dev

そんでもってあとはflashromのサイトに書いてあるようにflashromをmakeしてインストール

意外とあっさりコンパイルが通ったぞ…

そんでもってRaspberry PiとBIOSチップを接続。
ピンアサインはTutorialにちゃんと書いてあるのでそっち参照。
ちなみに保護抵抗とかはさまずに直結してます!

まず初期化してみる。
sudo flashrom -E -V -p linux_spi:dev=/dev/spidev0.0

一応Flashの種類は自動認識なんだけど候補が複数ある時はチップ指定しないといけないみたい。
ICの表面を見ればわかることなので問題なし!
しかも候補もでるし。

気を取り直してIC指定追加

sudo flashrom -E -V -p linux_spi:dev=/dev/spidev0.0 -c "MX25L3206E"

これでちゃんと初期化された。

あとはBIOSを書き込むだけ。
公式サイトからBIOSをDLしてきてとりあえずBIOS.BINに変更してRaspberry Piに転送。
sudo flashrom -w BIOS.BIN -V -p linux_spi:dev=/dev/spidev0.0 -c "MX25L3206E"
これで書き込みが開始される。
書き込み開始まで地味に時間がかかった(1分ぐらい)
たぶん最初にFlashROM全体を見に行ってるのかな?
あと最後にVerifyも時間がかかる。
気長に待とう。
4MBでも結構待たされるから容量でかいやつはまずいだろう…

とりあえずBIOS書き込み&Verifyは成功したw
あとは適当なCPUポチってテストしてみないとな…


0 件のコメント:

コメントを投稿

Related Post

Fire TV Stick (New モデル)でUSBデバイスを使ってみた

昨日届いた新型のFire TV Stickなんだけど、USBホスト機能がついてるようでOTGケーブルを使うとUSBデバイスが使える模様。 というわけで早速試してみた。 何かに使えるかなと思って買っておいた給電対応OTGケーブルが役に立つ時が来た。 eBayで1ドルぐらいだ...