なにこれ
Chromebook の OS を Ubuntu に入れ替えてみたときの作業録. 基本的には以下のサイトに従えば OK.
今後 Chrome OS は起動できなくなるので注意.
環境
とある店の閉店セールで acer の Chromebook が安くなっていたのでつい購入してしまった.
- 型番:CP713-2W-A38P/E
- CPU:Core i3-10110U
- メモリ:8GB
- ストレージ:64GB eMMC
店頭に並んでいたもので,デモ機だったみたい.
手順
以下の手順に従って進めたところOSを入れ替えることができた.
1. デモを終了
デモ状態だと何もできないので,まずはデモを終了させる. 以下の Youtube の動画を参考に,
How To Enable Demo Mode On Chromebooks - YouTube
- 電源を OFF
- ESC + リセットボタン (↷) + 電源ボタンを同時押し
- 画面の指示に従ってデモを終わらせる
2. 書き込み保護を無効化
UEFI をインストールするために,ファームウェアの書き込み制限を解除する.(eMMC で Linux を起動するにはUEFIが必須らしい)
MrChromebox.tech の Supported Device から,Linux に書き換えたい機種を探す. URFI Firmware がOKになっていれば書き換え可能. 制限を外す方法は,WP Method の列のリンク先にある.
今回の機種の場合,WP Method は CR50 (battery). バッテリーを外せば制限を解除できた.
3. デベロッパーモードを有効化
データがすべて消去されるので注意.
- リセットボタンを押しながら電源ボタンを押す.
- Ctrl + D を押す.
- リセットボタンを押す.
をするとデベロッパーモードに入れる. どうやらタイミングがあるようだが,詳しくは分からなかった. 何回か試すと有効化する画面が表示された.
4. UEFI をインストール
電源を入れると復元用の (ry) みたいな画面が開く. しばらく放置する(か,Ctrl + Alt + F2 (→) を押す)とログイン画面が表示されるのでゲストアカウント等でログインし,ネットワーク接続などの設定をする.
その後,Ctrl + Alt + T で crosh を開く.
shell
コマンドを実行すると bash シェルを開ける.(bash シェル内で sudo bash
を実行すると root になれるが今回は使わない.)
MrChromebox.tech のFirmware Utility Script から,UEFI をインストールするコマンドを実行する.
cd; curl -LO mrchromebox.tech/firmware-util.sh && sudo bash firmware-util.sh
Also, you must execute these commands as a normal/non-root user. Running them as root will break things. DO NOT RUN 'SUDO SU' BEFORE RUNNING THE SCRIPT CMD BELOW.
とあるように,root にならずにコマンドを実行すること.(見落としていて僕はrootで実行してしまいましたが.......)
途中でオプションを選択する必要があるが,Chrome OS はもう必要ないので Install/Update coreboot/UEFI Full ROM firmware
を選択する.
その後UbuntuのisoをRufusなどで書き込んだUSBメモリを刺して再起動.
5. Ubuntu をインストール
画面に従うだけなので省略.
6. バッテリーを戻す
Ubuntu のインストールが完了した後,外していたバッテリーを戻しても Ubuntu が起動したのでとりあえずつけている. このまま問題が無いか様子を見てみる.
2023/5/2 追記
その後 OS を manjaro に入れ替えてみたが,特別なことをしなくてもすんなりインストールできた. UEFI に一度書き換えてしまえばあとはいつも通りで大丈夫みたい?
おわり
ということで,Chromebook の OS を Ubuntu に書き換えて起動することができた. 分解とかOS書き換えとか,サポートが無効になることを購入した初日に色々やったので今後は壊れてもいいおもちゃとして色々遊んでみようと思う. もし誰かの参考になっていたら嬉しい.
その他試行錯誤のログ
おそらく今までの手順でできるはずだが,それまでにもいろいろ試行錯誤していたので,それも念のため残しておく. 主に以下のサイトを見ていた.
- OSの確認OFF
デモを終了させた後,復元用のUSBメモリやSDカードを挿入するよう求められた. Ubuntu の USB メモリを刺すと Chrome OS ではありませんと表示されたので,Ctrl + Dを押してOSの確認をOFFにした.
- SeaBIOS の有効化(のはず)
bashシェルでrootになって以下のコマンドを実行
# crossystem dev_boot_usb=1 dev_boot_legacy=1
すると,
PLEASE USE dev_boot_altfw INSTEAD OF dev_boot_legacy
と表示されたので,これに従って以下のように変更.
# crossystem dev_boot_usb=1 dev_boot_altfw=1
OSの確認はOFFになっていますという画面で Ctrl + L を押すとブートローダを選択できるようになった.
Ubuntu の USB を刺している状態で 1 を押して起動しようとしたが, 一度しか1を押していない状態でも以下のように表示され停止してしまい,失敗.
Hit any key to stop autoboot: 0 =>