ChromeBookへのLinuxインストール(準備編)

【無保証、損壊の危険あり】この記事ではChromeBookのハードウェア・ソフトウェアに変更を加えるため、ChromeBookを元に戻せないような状態にする可能性がある。実施する場合は自己責任で行うこと。

以前にArchLinuxのインストール方法としてまとめたが、ArchLinuxを使っておらずその後の記事を掲載するつもりもないので、元記事を削除し、必要な部分だけ残すことにした。
この記事ではChromeBook(Acer C720)でSeaBIOSを設定する手順について説明し、実際にLinuxをインストールする手順については別途説明する。

前提

自分が購入したChromeBookがAcerのC720(C720-2420)なので、この記事ではそれに関する情報のみ載せる。

Linux導入準備の流れ

  1. デベロッパーモードの有効化
  2. SeaBIOSの有効化
  3. ハードウェア書き込み保護の無効化
  4. GBBフラグの設定
  5. ハードウェア書き込み保護の有効化

デベロッパーモードの有効化

chrubuntuのインストールで説明したのと同じ方法でデベロッパー(開発者)モードにする。具体的には以下の手順となる。

  1. ChromeBookを終了しておく。
  2. キーボード最上段のescと→を押しながら、電源をオンにする。
  3. リカバリ画面になったら、Ctrl-Dを押し、その後、Enterを押す。
  4. 開発者モード用の初期化が始まり、その後自動的に再起動される。

SeaBIOSの有効化

これも以前の記事と同じように無線LANを有効にした後、ログイン画面する。

  1. ChromeBookを起動する。
  2. 無線LANの設定を行い、インターネットへアクセスできるようにする。
  3. EULAの画面をAcceptしてログイン画面に進む。(ただしログインしない)
  4. ctrlとaltを押しながら最上段の→キーを押し、ChromeOSのCUIログイン画面に移る。
  5. ユーザーIDとして、chronos と入力してログインする。(パスワードは入力しない)

次にSeaBIOSを有効化する。
$ sudo bash
# crossystem dev_boot_usb=1 dev_boot_legacy=1

シャットダウンする。

ハードウェア書き込み保護の無効化

デフォルトでSeaBIOSを起動するように変更するにはGBBフラグを設定する必要がある。また、このようにしないとバッテリーが空になった際に、自動的にChromeOSがリカバリされ、インストールしたLinuxが失われてしまう。GBBフラグを設定するには、ソフトウェア書き込み保護の無効化を行う必要があり、それに先立ってハードウェア書き込み保護の無効化を行う。

この手順を行うとAcerの保証が受けられなくなるので注意すること。

ArchLinuxサイト上のC720の情報ページに従い、C720の裏面のネジを全て取り外す。具体的な手順は以下の通りである。

  1. 裏面に見える12個のネジを全て外す。
  2. 保証用のシールを外して、その下のネジを外す。(保証が受けられなくなるので注意)
  3. 裏面のパネルを注意深く外す。
  4. 写真を確認しながら、バッテリー右上にある7番のネジを外す。
  5. 裏面のパネルを元に戻す。

裏面パネルは比較的簡単に外れる。ディスプレイヒンジ側の中央あたりに爪を入れ、やさしく開けていけば良い。

バッテリーが接続されたままなので、基盤上のネジを外す場合はドライバーを電子部品等に接触させないように十分に注意して行うこと。
また、外したネジは後で元に戻すので失くさないように注意する。

GBBフラグの設定

通常通りにChromeBookの電源を入れ、先ほどの「SeaBIOSの有効化」と同じようにCUIログインを行って、以下を実行する。
$ sudo su
# flashrom --wp-disable
# flashrom --wp-status

最後のコマンドで書き込み保護が無効化されていることを確認する。
# /usr/share/vboot/bin/set_gbb_flags.sh
上記を実行した結果が以下のようになっていることを確認する。
GBB_FLAG_DEV_SCREEN_SHORT_DELAY 0x00000001
GBB_FLAG_FORCE_DEV_SWITCH_ON 0x00000008
GBB_FLAG_FORCE_DEV_BOOT_LEGACY 0x00000080
GBB_FLAG_DEFAULT_DEV_BOOT_LEGACY 0x00000400

同じ内容であれば以下を実行して、SeaBIOSがデフォルトで起動するように設定する。
# /usr/share/vboot/bin/set_gbb_flags.sh 0x489
ソフトウェアの書き込み保護を有効にする。
# flashrom --wp-enable
ChromeBookをシャットダウンする。

ハードウェア書き込み保護の有効化

先ほどの「ハードウェア書き込み保護の無効化」と同じように裏面のパネルを取り外し、外したネジを7番の場所に元通り付ける。
SeaBIOS関係の設定は以上である。