Chromebook
この記事では Acer, HP, Samsung, 東芝, Google によって作られた Chromebook ノートパソコンで Arch を動かす情報を提供しています。現在はページを改訂して以下のリストのようにモデルごとのページを作成しています。
イントロダクション
レガシーブート
最近の Chromebook には"レガシーブート"モードが存在し Linux や他のオペレーティングシステムを簡単に起動することができます。このレガシーブートモードは Coreboot の SeaBIOS ペイロードによって提供されています。Coreboot は Intel が搭載されている Chromebook に載っているファームウェアです (第一世代は除く)。SeaBIOS がディスクの MBR に起動する伝統的な BIOS のように振る舞い、そこから Syslinux や GRUB などの標準的なブートローダーを起動します。
SeaBIOS が載っている Chromebook では、Arch Linux のインストール手順にほとんど変更がなく、多少のマイナーな調整があるくらいです。
SeaBIOS が存在しない機種
古い機種、また最新機種の一部には、ファームウェアに SeaBIOS が付いていません。SeaBIOS が存在しないデバイスに Arch Linux をインストールする方法は3つあります:
- SeaBIOS が付属するカスタムファームウェアを書き込む。
- Chrome OS のカーネルとモジュールを使用する ChrUbuntu を使う。
- 自分でカーネルをビルドして署名する。[1] や [2] を参照。
このページで説明しているインストール方法には、SeaBIOS がない機種でも、カスタムファームウェアを書き込むことにより Arch Linux をインストールする方法を記載しています。
第一世代の Chromebook
Chromebook の第一世代 (Google Cr-48, Samsung Series 5 500, Acer AC700) は Coreboot ファームウェアではなく Insyde H2O ファームウェア を使用しています。第一世代のデバイスに Arch Linux をインストールする方法は3つあります:
- H2C カスタムファームウェアを書き込み (Google Cr-48 のみで利用可能) 他の UEFI ラップトップと同じように Arch をインストール。
- Chrome OS のカーネルとモジュールを使用する ChrUbuntu を使う。
- 自分でカーネルをビルドして署名する。[3] を参照。
ファームウェア書き込み保護
全ての Chromebook にはファームウェア書き込み保護が存在します。インストールの途中で (GBB フラグを更新したりカスタムファームウェアを書き込むために) 書き込み保護を無効化する必要があるかもしれないので、注意しておいてください。
詳しくはファームウェア書き込み保護を見て下さい。
事前注意事項
- Arch をインストールする前に Google ドライブに 100GB-1TB の空き容量が必要になります。これは ChromeOS (バージョン23以上) のためで、linux のためではありません。ドライブの容量を使って ChromeOS を同期・バックアップすることができます。
- 使用している Chromebook の ArchWiki ページを見て下さい、Chromebook 機種一覧を参照。
- あなたの使用しているデバイスの ArchWiki ページが存在しない場合は、デバイスに関する情報を収集して、もし Arch Linux のインストールが成功したのならば、ArchWiki ページを新しく追加することを希望します (SeaBIOS が載っているデバイスには Acer C720 が、SeaBIOS が載っていないデバイスには Acer C710 のページが良いサンプルとなるでしょう)。
- このガイドを隅々まで読み込んで、何か変更をする前に手順についてちゃんと確認を行なって下さい。
Chromebook 機種一覧
ハードウェアの比較表
発売日 | メーカー | モデル | プロセッサ | RAM | ストレージ | アップグレード | 画面 | 解像度 | 重量 | SeaBIOS | 所見 |
---|---|---|---|---|---|---|---|---|---|---|---|
2010年12月 | Cr-48 | 1.66 GHz Intel Atom N455 | 2GB DDR3 |
16GB SSD | mSATA | 12.1 in (30.7 cm) |
1280x800 (16:10) |
3.8 lb (1.7 kg) |
第一世代では利用不可能 | H2C カスタムファームウェアが利用可能 | |
2011年7月 | Samsung | Series 5 XE500C21 |
1.66 GHz Intel Atom N570 | mSATA | 3.06-3.26 lb (1.4–1.5 kg) |
第一世代では利用不可能 | |||||
2011年7月 | Acer | AC700 | mSATA Mini |
11.6 in (29.5 cm) |
1366x768 (16:9) |
3.19 lb (1.4 kg) |
第一世代では利用不可能 | ||||
2012年5月 | Samsung | Series 5 XE550C22 |
1.3 GHz Intel Celeron 867 1.6 Ghz Intel Core i5 2467M |
4GB DDR3 |
mSATA | 12.1 in (30.7 cm) |
1280x800 (16:10) |
3.3 lb (1.5 kg) |
カスタムファームウェアで利用可能 | ||
2012年10月 | Series 3 XE303C12 |
1.7 GHz Samsung Exynos 5250 | 2GB DDR3 |
16GB eMMC | No | 11.6 in (29.5 cm) |
1366x768 (16:9) |
2.43 lb (1.1 kg) |
ARM では利用不可能 | Arch Linux ARM によってサポート | |
2012年11月 | Acer | C710 | 1.1 GHz Intel Celeron 847 1.5 GHz Intel Celeron 1007U |
2-4GB DDR3 |
320GB HDD 16GB SSD |
SATA 2.5" 7,9.5mm |
3-3.05 lb (1.4 kg) |
カスタムファームウェアで利用可能 | |||
2013年2月 | HP | Pavilion 14 Chromebook |
1.1 GHz Intel Celeron 847 | SATA 2.5" 7,9.5mm |
14 in (35.6 cm) |
3.96 lb (1.8 kg) |
カスタムファームウェアで利用可能 | サービスマニュアル | |||
Lenovo | ThinkPad X131e Chromebook |
1.5 GHz Intel Celeron 1007U | 4GB DDR3 |
16GB SSD | mSATA | 11.6 in (29.5 cm) |
3.92 lb (1.8 kg) |
カスタムファームウェアで利用可能 | |||
Chromebook Pixel |
1.8 GHz Intel Core i5 3427U | 4GB DDR3 |
32GB iSSD 64GB iSSD |
No | 12.85 in (32.6 cm) |
2560x1700 (3:2) |
3.35 lb (1.5 kg) |
Yes | |||
2013年10月 | HP | Chromebook 11 | 1.7 GHz Samsung Exynos 5250 | 2GB DDR3 |
16GB eMMC | No | 11.6 in (29.5 cm) |
1366x768 (16:9) |
2.3 lb (1.04 kg) |
ARM では利用不可能 | Arch Linux ARM のサポートなし |
2013年11月 | Chromebook 14 | 1.4 GHz Intel Celeron 2955U | 2GB DDR3 4GB DDR3 |
16GB SSD 32GB SSD |
42mm M.2 NGFF |
14 in ( 35.6 cm) |
4.07 lb (1.84 kg) |
Yes | |||
Acer | C720/C720P Chromebook |
1.4 GHz Intel Celeron 2955U 1.7 GHz Intel Core i3-4005U |
42mm M.2 NGFF |
11.6 in (29.5 cm) |
2.76 lb (1.25 kg) |
Yes | |||||
2014年1月 | 東芝 | CB30/CB35 Chromebook |
1.4 GHz Intel Celeron 2955U | 2GB DDR3 | 16GB eMMC | No | 13.3 in (33.8 cm) |
3.3 lb (1.5 kg) |
Yes | ||
2014年4月 | Dell | Chromebook 11 | 1.4 GHz Intel Celeron 2955U 1.7 GHz Intel Core i3-4005U |
2GB DDR3 4GB DDR3 |
16GB | No | 11.6 in (29.5 cm) |
2.9 lb (1.31 kg) |
Yes | SeaBIOS にパッチが必要 | |
2014年6月 | Lenovo | N20/N20P Chromebook |
2.1 GHz Intel BayTrail-M N2830 | 2GB DDR3 | 16GB eMMC | No | 11.6 in (29.5 cm) |
2.86 lb (1.3 kg) |
No | カスタムファームウェアは存在しません | |
Asus | Chromebook C200/C300 |
2GB DDR3 4GB DDR3 |
16GB eMMC 32GB eMMC |
No | 11.6 in (29.5 cm) 13.3 in (33.8 cm) |
2.5 lb (1.13 kg) 3.1 lb (1.4 kg) |
No | カスタム ROM が必要 [4] | |||
Lenovo | ThinkPad 11e Chromebook |
1.83 GHz Intel BayTrail-M N2930 | 4GB DDR3 | 16GB eMMC | No | 11.6 in (29.5 cm) |
3.1 lb (1.4 kg) |
No | カスタムファームウェアは存在しません | ||
ThinkPad Yoga 11e Chromebook |
No | No | カスタムファームウェアは存在しません | ||||||||
Samsung | Chromebook 2 XE503C12/C32 |
1.9 GHz Exynos 5 Octa 5420 2 GHz Exynos 5 Octa 5800 |
No | 11.6 in (29.5 cm) 13.3 in (33.8 cm) |
1366x768 (16:9) 1920x1080 (16:9) |
2.65 lb (1.2 kg) 3.06 lb (1.39 kg) |
ARM では利用不可能 | Arch Linux ARM によってサポート | |||
2014年7月 | HEXA | Chromebook Pi | 2.1 GHz Intel BayTrail-M N2830 | 32GB eMMC | No | 11.6 in (29.5 cm) |
1366x768 (16:9) |
2.6 lb (1.18 kg) |
No | カスタムファームウェアは存在しません | |
2014年8月 | Acer | CB5-311 Chromebook 13 |
2.1 GHz Nvidia Tegra K1 | 2GB DDR3 4GB DDR3 |
16GB eMMC 32GB eMMC |
No | 13.3 in (33.8 cm) |
1366x768 (16:9) 1920x1080 (16:9) |
3.3 lb (1.5 kg) |
ARM では利用不可能 | Arch Linux ARM のサポートなし |
2014年9月 | 東芝 | CB35 Chromebook 2 |
2.16 GHz Intel BayTrail-M N2840 | 16GB eMMC | No | 2.96 lb (1.34 kg) |
No | カスタムファームウェアは存在しません | |||
Acer | CB3-111 Chromebook 11 |
2.1 GHz Intel BayTrail-M N2830 | 2GB DDR3 | 16GB eMMC | No | 11.6 in (29.5 cm) |
1366x768 (16:9) |
2.4 lb (1.09 kg) |
No | カスタムファームウェアは存在しません | |
2014年10月 | HP | Chromebook 14 G3 |
2.1 GHz Nvidia Tegra K1 | 2GB DDR3 4GB DDR3 |
16GB eMMC 32GB eMMC |
No | 14 in (35.6 cm) |
1366x768 (16:9) 1920x1080 (16:9) |
3.79 lb (1.72 kg) |
ARM では利用不可能 | Arch Linux ARM のサポートなし |
Chromebook 11 G3 |
2.16 GHz Intel BayTrail-M N2840 | 16GB eMMC | No | 11.6 in (29.5 cm) |
1366x768 (16:9) |
2.8 lb (1.28 kg) |
No | カスタムファームウェアは存在しません | |||
Samsung | Chromebook 2 XE500C12 |
2GB DDR3 | No | 2.65 lb (1.2 kg) |
No | カスタムファームウェアは存在しません |
ハードウェアの比較表の備考
- Bay-Trail-M モデル: 全ての機種で Coreboot の SeaBIOS ペイロードが存在しません。
- Bay-Trail-M モデル: メインラインカーネルが動作する SeaBIOS が載った Coreboot カスタムファームウェアの作成が成功した例はありません。既存の問題を解決しようという試みが行われています。詳しくは coreboot on Chromebooks Google+ コミュニティを見て下さい。
- Chromebook の内蔵 SSD をアップグレードするときはおそらく MyDigitalSSD M.2 NGFF SSD ドライブが最も人気のある SSD の一つです。Acer C720 で MyDigitalSSD SSD ドライブが動作しなくなったという報告が Arch フォーラム [5] [6] [7] やその他のウェブ上で多数寄せられています。万が一 SSD を MyDigitalSSD のモデルにアップグレードするときはシステムやデータを頻繁にバックアップすることを強く推奨します。また、他のブランドの SSD を使う方が賢明でしょう。
- MyDigitalSSD M.2 NGFF SSD drives are probably the most popular choice when upgrading the internal SSD of a Chrome OS device. There are multiple accounts of failing MyDigitalSSD SSD drives at the Acer C720 topic on the Arch forums [8] [9] [10] and much more on the web. If the SSD was upgraded to a MyDigitalSSD model then it is highly recommended to backup the system and data frequently. It might be advisable to upgrade the SDD with a different brand. Notice that this might be due to a SSD firmware issue so updating the SSD firmware is highly recommended.
- Transcend MTS400 M.2 NGFF SSD drives are failing (at least with stock Coreboot firmware) when ALPM is enabled, ATM there is no SSD firmware update that fixing this bug, so it is highly advisable to disabled ALPM if a power management daemon has been installed (which enabled it), see Resolving SATA power management related errors and how to disable ALPM in Chrome OS.
サスペンドの修正
以下はサスペンド機能を修正するための手順です。最新の 3.17 カーネルでもサスペンドの修正は要ります。プリインストールされている SeaBIOS や John Lewis のビルド済みカスタム ROM と linux-chromebookAUR を使用している場合、以下の修正は必要ありません。
他の方法も議論されており場合によってはそちらのほうが上手くいくかもしれません [11] [12]。
Haswell Chromebook に含まれている標準の coreboot を使用している場合は、サスペンド・復帰サイクルを失敗させる原因である、EHCI_PCI と TPM モジュールを無効化してください。無効化する方法は複数あります。
パッチのあたったカーネルを使う
修正が含まれているパッチがあてられているカーネルを使用するならカーネルパラメータを追加する必要はありません。
カーネルパラメータを使う
GRUB の設定に以下を追加してください:
/etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="tpm_tis.interrupts=0 modprobe.blacklist=ehci_pci"
それから grub の設定を再生成してください。
systemd を使う
以下の cros-acpi-wakeup.conf
ファイルを作成してください:
/etc/tmpfiles.d/cros-acpi-wakeup.conf
w /proc/acpi/wakeup - - - - EHCI w /proc/acpi/wakeup - - - - HDEF w /proc/acpi/wakeup - - - - XHCI w /proc/acpi/wakeup - - - - LID0 w /proc/acpi/wakeup - - - - TPAD w /proc/acpi/wakeup - - - - TSCR
/etc/rc.d/rc.local
(存在しない場合は作成してください) の最後に以下の行を追加して EHCI USB の良くない処理をやめさせる:
/etc/rc.d/rc.local
echo 1 > /sys/devices/pci0000\:00/0000\:00\:1d.0/remove
次に、以下の cros-sound-suspend.sh
ファイルを作成してください。ここでは Ath9k のバインド・アンバインドの行だけ載せています。問題が起こる場合は上のリンクにある他の方法を見て下さい。
/usr/lib/systemd/system-sleep/cros-sound-suspend.sh
#!/bin/bash case $1/$2 in pre/*) # Unbind ath9k for preventing error and full sleep mode (wakeup by LID after hibernating) echo -n "0000:01:00.0" | tee /sys/bus/pci/drivers/ath9k/unbind # Unbind snd_hda_intel for sound echo -n "0000:00:1b.0" | tee /sys/bus/pci/drivers/snd_hda_intel/unbind echo -n "0000:00:03.0" | tee /sys/bus/pci/drivers/snd_hda_intel/unbind ;; post/*) # Bind ath9k for preventing error and and full sleep mode (wakeup by LID after hibernating) echo -n "0000:01:00.0" | tee /sys/bus/pci/drivers/ath9k/bind # bind snd_hda_intel for sound echo -n "0000:00:1b.0" | tee /sys/bus/pci/drivers/snd_hda_intel/bind echo -n "0000:00:03.0" | tee /sys/bus/pci/drivers/snd_hda_intel/bind ;; esac
スクリプトは実行可能にしてください:
# chmod +x /usr/lib/systemd/system-sleep/cros-sound-suspend.sh
この方法では GRUB の設定に tpm_tis.interrupts=0
カーネルパラメータが必要です:
/etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet tpm_tis.interrupts=0"
それから grub の設定を再生成してください。
音声出力の修正
以下の設定を行うことでオーディオ関連の問題が解決するでしょう。snd_hda_intel
モジュールインデックスの設定が一番役に立つようです。何も変更が必要ない可能性も高いです。
/etc/modprobe.d/alsa.conf
を作成。index
は (HDMI ではなく) アナログ出力をデフォルトにして、model
オプションはボードモデルにドライバーを通知して内蔵のマイクロフォンを利用可能にします (代わりにmodel=alc283-sense-combo
を使うこともできます):
/etc/modprobe.d/alsa.conf
options snd_hda_intel index=1 model=alc283-dac-wcaps
- 以下の
~/.asoundrc
ファイルを作成:
~/.asoundrc
# Standard pcm.!default { type hw card 1 device 0 } ctl.!default { type hw card 1 } pcm_slave.slavej { pcm "hw:1" channels 2 rate 44100 } pcm.plugj { type plug slave slavej } # HDMI #pcm.!default { #type hw #card 1 #device 3 #} #ctl.!default { #type hw #card 0 #}
- PulseAudio での Flash プラグインの音声を修正するには以下の
.asoundrc
ファイルを使用:
~/.asoundrc
# Standard pcm.pulse { type pulse } ctl.pulse { type pulse } pcm.!default { type pulse # type hw # card 1 # device 0 } ctl.!default { type pulse # type hw #card 1 } pcm_slave.slavej { pcm "hw:1" channels 2 rate 44100 } pcm.plugj { type plug slave slavej } # HDMI #pcm.!default { #type hw #card 1 #device 3 #} #ctl.!default { #type hw #card 0 #}
ホットキー
Chromebook のファンクションキーは通常の F1-F10 としてカーネルに認識されますが、それぞれのキーの見た目にあうようにマッピングすることが可能です。また、Delete, Home, End, PgUp, PgDown
を Chrome OS でマッピングされているように Alt + : BackSpace, Right, Left, Up, Down
にするのも良いでしょう。
Sxhkd の設定
Sxhkd デーモンを使ってホットキーを設定することができます。sxhkdAUR の他に amixer, xorg-xbacklight, xautomation が必要になります。
~/.config/sxhkd/sxhkdrc
の設定例は [13] を参照。
xbindkeys の設定
xbindkeys を使ってホットキーを設定する方法もあります。xbindkeys の他に amixer, xorg-xbacklight, xvkbd が必要になります。
~/.xbindkeysrc
の設定例は [14] を参照。- 他の例は vilefridge の xbindkeys 設定を参照。
別の xbindkeys の設定
Volchange (元は Debian ユーザーフォーラム に存在) で amixer を使うかわりに PulseAudio でボリュームを制御することができます。Volchange の他に xorg-xbacklight と xvkbd が必要になります。
- [15] からスクリプトをダウンロード
- 実行可能属性を付与
$ chmod u+x ~/.local/bin/volchange
~/.xbindkeysrc
が適合するように [16] を見て下さい。
xkeyboard-config にパッチをあてる
xkeyboard-config-chromebookAUR をインストールする方法もあります。詳しくは [17] を参照。
Power キーとフタの開閉によるスイッチの処理
logind の使用を無視する
設定をしなくとも、systemd-logind
が power キーやフタの開閉によるイベントを処理します: power キーが押された時は電源を切り、フタが閉じられた時はサスペンドします。しかしながら、この挙動には少し問題があるかもしれません、power キーはキーボードの右上にある普通のキーであり間違って押してしまう可能性があるからです。
logind が power キーの押下やフタの開閉を無視するように設定するには、以下の行を logind.conf
に追加してください:
/etc/systemd/logind.conf
HandlePowerKey=ignore HandleLidSwitch=ignore
logind を再起動すれば変更が適用されます。
Power キーやフタの開閉イベントは logind によって journald に記録されます。電源管理#ACPI イベントを参照。
Gnome で無視する
gnome-tweak-tool をインストールして、Tweak Tool を開き Power の Power Button Action を変更してください。
既知の問題
Syslinux
syslinux-install_update -i -a -m
を使って Syslinux でブータブルフラグを設定することはできません。 After setting the bootable flag manually in fdisk
を使用して手動でブータブルフラグを設定した後、syslinux-install_update -i -m
で Syslinux を MBR にインストールして SeaBIOS で Syslinux を起動しても、Syslinux は OS が見つけられないとエラーを出します。今は GRUB を使って下さい。
Haswell GPU でのフリーズ
Haswell GPU では (Bay-Trail-M でもいくつか報告があります)、アプリケーションが一時的にハングアップしたり (復旧できたりできなかったりする)、低い確率で完全にシステムがフリーズする既知のバグが存在します (少なくともカーネル 3.16 から)。問題が発生する頻度はデスクトップ環境やアプリケーションによります。Chromium は Firefox よりも高い確率でフリーズし、Gnome は完全なシステムフリーズになりやすいようです。
このバグを抑えるカーネルパラメータがいくつか提案されています (ただし完全にはフリーズをなくすことはできません)。以下のカーネルパラメータを使用することについてカーネル開発者の公式の勧告はありませんし、カーネルパラメータを追加することで新しい問題が発生するかもわかりません。自己責任で使ってみて下さい:
i915.modeset=1 i915.semaphores=0 i915.use_mmio_flip=1 i915.enable_ppgtt=1 drm.vblankoffdelay=1
参照
- BBS topic about the Acer C720 which include generic information on Haswell Based Chromebooks.
- Re-partitioning in Chrome OS [18], [19]
- Constantly updating list of Chrome OS devices
- Google Chromebook Comparison Chart