Chromebook

提供: ArchWiki
2015年11月5日 (木) 15:52時点におけるKusakata (トーク | 投稿記録)による版
ナビゲーションに移動 検索に移動

関連記事

警告: この記事ではサードパーティ製のスクリプトなどを使用するため、ハードウェアやデータに修復不可能なダメージを与える可能性があります。自己責任で使用してください。

この記事では Acer, HP, Samsung, 東芝, Google によって作られた Chromebook ノートパソコンで Arch を動かす情報を提供しています。現在はページを改訂して以下のリストのようにモデルごとのページを作成しています。

イントロダクション

レガシーブート

最近の Chromebook には"レガシーブート"モードが存在し Linux や他のオペレーティングシステムを簡単に起動することができます。このレガシーブートモードは CorebootSeaBIOS ペイロードによって提供されています。Coreboot は Intel が搭載されている Chromebook に載っているファームウェアです (第一世代は除く)。SeaBIOS がディスクの MBR に起動する伝統的な BIOS のように振る舞い、そこから Syslinux や GRUB などの標準的なブートローダーを起動します。

SeaBIOS が載っている Chromebook では、Arch Linux のインストール手順にほとんど変更がなく、多少のマイナーな調整があるくらいです。

SeaBIOS が存在しない機種

古い機種、また最新機種の一部には、ファームウェアに SeaBIOS が付いていません。SeaBIOS が存在しないデバイスに Arch Linux をインストールする方法は3つあります:

このページで説明しているインストール方法には、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 機種一覧

ハードウェアの比較表

警告: SeaBIOS が利用できるからといって Linux とのデバイス互換性が存在したりプリインストールされている SeaBIOS が正しく動作する保証はありません。デバイスを購入してしまう前に ArchWiki のページを見たり、その機種に関する Linux ユーザーの記事を探しましょう。
Chromebook 機種一覧
発売日 メーカー モデル プロセッサ RAM ストレージ アップグレード 画面 解像度 重量 SeaBIOS 所見
2010年12月 Google 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)
カスタムファームウェアで利用可能
Google 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 が必要になります。

別の xbindkeys の設定

Volchange (元は Debian ユーザーフォーラム に存在) で amixer を使うかわりに PulseAudio でボリュームを制御することができます。Volchange の他に xorg-xbacklightxvkbd が必要になります。

  • [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

参照