Samsung Series 3 Chromebox に任意のOSを入れる

長い戦いだった…

問題1

Chromeboxというのがある。ChromebookをMac miniにした感じのやつ。で、こいつのBIOSは特殊で、普通のモードとレガシーブートモードというのがある。普通のモードだとなんとGoogleが署名したブートイメージしか起動できない。不自由ですね。なので好きなLinuxディストロを起動したいときはレガシーブートモードを使う。のだが、レガシーブートモードはHaswell世代以降のChromeboxにしか搭載されていない。表題のSamsung Series 3 ChromeboxはSandy Bridgeなので、レガシーブートモードが搭載されていない。つまりChrome OSしか起動できない!

解決策1

不自由なBIOSを消し飛ばして、自由なBIOSを焼く

問題2

Chromeboxは出荷時の状態ではBIOSを焼き直すことはできない。じゃあどうするかというと、一般的には、Chromeboxの裏蓋を開けて、中にあるでかいネジを一つ抜くとBIOSを焼きなおせるようになる。表題のSamsung Series 3 Chromeboxは一般的ではないので、裏蓋を開けて、目に入ったネジを全て抜いて、コードも全部抜いて、基盤をひっくり返して、裏にはんだを垂らし、そのあとで全てを組み立て直す必要がある。ギョエピー

解決策2

やっていき

まず底面と壁の隙間に爪をねじ込んで裏蓋をこじ開ける。するとこうなる

まず金属っぽい色のパーツを外す。するとこうなる

この青い基盤をひっくり返して、裏にはんだを垂らす必要がある。ひっくり返すために、コードを抜いたりネジを抜いたりする。ひっくり返すとこうなる

このjumperの銀色2つが導電するようにはんだを垂らす

本当は白いところに何かをはめて導電するようにするんだろうが、そんなパーツ持ってないので仕方ないね

これでBIOSを焼けるようになった

あとはやるだけ

まずChrome OSのデベロッパーモードを有効にする。次にChromeを起動して、Ctrl+Alt+Tでターミナルを開いて、shellと打って、sudo -sでrootになって、flashrom --wp-disableと打つ。これが成功すれば正しくはんだづけできている。後の作業をまとめたシェルスクリプトを配布している人がいたので、あとはこれを実行すればいいと思う。

終わったら、シャットダウンして、OSのインストールメディアが入ったUSBメモリを刺して、電源ボタンを押す。起動後BIOSが一瞬だけ画面にメッセージを出すので、出てる間にESCを押す。するとブートメディアの選択画面に入れる。

自分が引っかかった注意点がいくつかある。このChromeboxにはDVI端子とDisplayPort端子がある。BIOSはDisplayPortの方には映像を出力してくれなかった。結果以下のような勘違いをした。DVI端子を使いましょう。



あと、自分はKinesis Advantageというキーボードを使っているのだが、BIOSはこいつを認識してくれなかった。なのでESCが押せず、ブートメディアの選択画面に入れずに時間を溶かした。QMKファームウェアのキーボードとかELECOMの500円キーボードとかは反応した。そういうのを使いましょう。

このChromeboxのストレージは16GBしか無い。Ubuntu Serverとかは最低要件で22GBぐらい必要だった気がする。使うならArchとかが良いと思う。

参考文献

https://www.youtube.com/watch?v=le9DtV1ABLM
https://wiki.archlinux.jp/index.php/Chrome_OS_%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%83%95%E3%82%A1%E3%83%BC%E3%83%A0%E3%82%A6%E3%82%A7%E3%82%A2
https://groups.google.com/a/chromium.org/forum/#!msg/chromium-os-discuss/P64GQOQNZMw/