LinuxでChromeOS FlexのUSBを作成する方法

Shell Script

こんにちは、山田ハヤオです。

Ivy Bridge世代のジャンクノートを3000円で入手しました。

Arch Linuxを入れるのにも飽きたのでChromeOS Flexを入れてみようと思います。

ChromeOS Flexのリリース時は受験勉強をしてたので、実は触れるのは初めてです。

スポンサーリンク

Linuxでは通常の方法でUSBを作成できない

普通、OSをインストールする場合はUSBメモリにOSイメージを焼いて起動します。

ChromeOS/ChromiumOSでは、「ChromeBook リカバリユーティリティ」を用いてUSBメモリを作成します。

これはChromeOS Flexも例外ではありません。

しかし、このツールはLinux上では実行できません。

Google公式の方法も一応存在している

ヘルプを見てみましょう。

Recover your Chromebook - Chromebook Help
When your Chromebook’s operating system (OS) doesn’t work properly, you can recover it. Recovery removes and reinstalls the OS. For newer Chromebooks, you can r...

最下部に「Linux パソコンを使用する場合」という項目があります。

ここでは「linux_recovery.sh」という代替のシェルスクリプトがダウンロードできます。

しかし、これらのスクリプトはChromeBookのイメージファイルしか取得できず、ChromeOS Flexには非対応です。

ChromeOS FlexのUSBメモリをLinuxで作成する

Googleの公式な方法はChromeOS Flexでは使えないことが判明したので、非公式な方法を用います。

おさらい

ところで皆さんは以下の記事を覚えていますでしょうか。

リカバリーユーティリティのソースコードから内部APIを見つけ出しました。

今回もその内部APIを用います。

イメージファイルを取得するコード

上記のAPIを呼び出し、ChromeOS Flexのイメージファイルを探し出してダウンロードします。

(jqコマンドとcurlコマンドをインストールしてください)

curl -sL "https://dl.google.com/dl/edgedl/chromeos/recovery/cloudready_recovery.json" | jq -r ".[] | select(.name == \"ChromeOS Flex\") | .url" | xargs curl -L -o ./chromeos_flex.zip

ダウンロードしたファイルを展開する

unzip ./chromeos_flex.zip

正常にダウンロードできたか確認する

正しいチェックサムを取得

curl -sL "https://dl.google.com/dl/edgedl/chromeos/recovery/cloudready_recovery.json" | jq -r ".[] | select(.name == \"ChromeOS Flex\") | .sha1"

ダウンロードしたファイルのチェックサムを取得

sha1sum ./chromeos_flex.zip

上の2つのコマンドを実行して、出力が一致すれば正常にダウンロードできています。

展開したファイルをUSBメモリに焼く

/dev/sdxは書き込み先のUSBメモリに変更してください。

sudo dd if="./$(curl -sL "https://dl.google.com/dl/edgedl/chromeos/recovery/cloudready_recovery.json" | jq -r ".[] | select(.name == \"ChromeOS Flex\") | .file")" of=/dev/sdx

長いコードに見えますが、展開後のファイル名をAPIで取得したあとにddコマンドで書き込んでいるだけです。

終わり

ChromeBookのリカバリの場合はGoogle公式のシェルスクリプトを、ChromeOS Flexの場合は今回の非公式な方法を使うといいと思います。

APIでURLやファイル名を取得しているので、常に最新のバージョンを取得できます。

コメント

タイトルとURLをコピーしました