「Chrome OS デバイス」の版間の差分
(同期) |
Kusanaginoturugi (トーク | 投稿記録) (校正(でき・出来)) |
||
(4人の利用者による、間の10版が非表示) | |||
1行目: | 1行目: | ||
+ | {{Template:Translateme|2017-03 に翻訳されてからそのままのため英語版の記事と比較すると古くなっている可能性があります}} |
||
+ | |||
[[Category:ノートパソコン]] |
[[Category:ノートパソコン]] |
||
+ | [[Category:Chrome OS デバイス]] |
||
[[en:Chrome OS devices]] |
[[en:Chrome OS devices]] |
||
[[it:Chromebook]] |
[[it:Chromebook]] |
||
5行目: | 8行目: | ||
{{Related|Chromebook}} |
{{Related|Chromebook}} |
||
{{Related|Chrome OS カスタムファームウェア}} |
{{Related|Chrome OS カスタムファームウェア}} |
||
− | {{Related|ビギナーズガイド}} |
||
{{Related|インストールガイド}} |
{{Related|インストールガイド}} |
||
{{Related|ノートパソコン}} |
{{Related|ノートパソコン}} |
||
11行目: | 13行目: | ||
{{Warning|この記事ではサードパーティ製のスクリプトなどを使用するため、ハードウェアやデータに修復不可能なダメージを与える可能性があります。自己責任で使用してください。}} |
{{Warning|この記事ではサードパーティ製のスクリプトなどを使用するため、ハードウェアやデータに修復不可能なダメージを与える可能性があります。自己責任で使用してください。}} |
||
この記事では Acer, HP, Samsung, 東芝, Google によって作られた Chromebook ノートパソコンで Arch を動かす情報を提供しています。現在はページを改訂してモデルごとのページを作成しています。 |
この記事では Acer, HP, Samsung, 東芝, Google によって作られた Chromebook ノートパソコンで Arch を動かす情報を提供しています。現在はページを改訂してモデルごとのページを作成しています。 |
||
+ | |||
+ | {{Note|この記事では、開発者モードを有効にして Arch Linux をインストールする方法を説明します。開発者モードを有効にせずに Arch Linux を ChromeOS コンテナにインストールする方法については [[Crostini]] を参照して下さい。}} |
||
== イントロダクション == |
== イントロダクション == |
||
=== レガシーブート === |
=== レガシーブート === |
||
− | 最近の Chromebook (Intel の Haswell や Broadwell が搭載されている機種) には"レガシーブート"モードが存在し Linux や他のオペレーティングシステムを簡単に起動することができます。このレガシーブートモードは [ |
+ | 最近の Chromebook (Intel の Haswell や Broadwell が搭載されている機種) には"レガシーブート"モードが存在し Linux や他のオペレーティングシステムを簡単に起動することができます。このレガシーブートモードは [https://www.coreboot.org/ Coreboot] の [https://www.coreboot.org/SeaBIOS SeaBIOS] ペイロードによって提供されています。Coreboot は Intel が搭載されている Chromebook に載っているファームウェアです (第一世代は除く)。SeaBIOS がディスクの MBR に起動する伝統的な BIOS のように振る舞い、そこから Syslinux や GRUB などの標準的な[[ブートローダー]]を起動します。 |
SeaBIOS が載っている Chromebook では、Arch Linux のインストール手順にほとんど変更がなく、多少のマイナーな調整があるくらいです。 |
SeaBIOS が載っている Chromebook では、Arch Linux のインストール手順にほとんど変更がなく、多少のマイナーな調整があるくらいです。 |
||
65行目: | 69行目: | ||
=== デベロッパーモードの有効化 === |
=== デベロッパーモードの有効化 === |
||
− | ChromeOS の中からスーパーユーザーシェルにアクセスするには [ |
+ | ChromeOS の中からスーパーユーザーシェルにアクセスするには [https://www.chromium.org/chromium-os/developer-information-for-chrome-os-devices/acer-c720-chromebook#TOC-Developer-Mode デベロッパーモード] が必要です。SeaBIOS での起動を許可するなど、システムに変更を加えるために有効化は必須になります。 |
{{Warning|デベロッパーモードを有効化するとデータが全て消去されます。}} |
{{Warning|デベロッパーモードを有効化するとデータが全て消去されます。}} |
||
155行目: | 159行目: | ||
* ハードウェア書き込み保護を無効化します。 |
* ハードウェア書き込み保護を無効化します。 |
||
− | ハードウェア書き込み保護のネジ/スイッチ/ジャンパの位置は使用している [[#Chromebook 機種一覧|Chrome OS デバイス]]のページを見て下さい。使用しているデバイスのページが ArchWiki にない場合、[ |
+ | ハードウェア書き込み保護のネジ/スイッチ/ジャンパの位置は使用している [[#Chromebook 機種一覧|Chrome OS デバイス]]のページを見て下さい。使用しているデバイスのページが ArchWiki にない場合、[https://www.chromium.org/chromium-os/developer-information-for-chrome-os-devicesDeveloper Information for Chrome OS Devices] や [https://www.coreboot.org/Chromebooks Coreboot の Chromebook ページ] を見て下さい。ファームウェア書き込み保護に関する詳細は [[Chrome OS カスタムファームウェア#ファームウェア書き込み保護]] を見て下さい。 |
* [https://johnlewis.ie/custom-chromebook-firmware/rom-download/|John Lewis のサイトの ROM ダウンロードページ] に書かれているコマンドを入力。 |
* [https://johnlewis.ie/custom-chromebook-firmware/rom-download/|John Lewis のサイトの ROM ダウンロードページ] に書かれているコマンドを入力。 |
||
175行目: | 179行目: | ||
* {{ic|Esc}} を押してブートメニューを表示して USB ドライブの番号を選択してください。 |
* {{ic|Esc}} を押してブートメニューを表示して USB ドライブの番号を選択してください。 |
||
− | Arch Linux インストーラのブートメニューが表示されるので、通常通りに[[ |
+ | Arch Linux インストーラのブートメニューが表示されるので、通常通りに[[インストールガイド|インストール]]することができます。 |
− | {{Note|ブートローダーとして [[ |
+ | {{Note|ブートローダーとして [[GRUB]] を選択し、パーティションスキームとして MBR または GPT を選択することができます。GPT を選択した場合は [[GRUB#GUID Partition Table (GPT) 特有の手順|BIOS Boot Partition]] を忘れずに追加してください。[[#Syslinux|既知の問題]]も参照。}} |
Arch Linux のインストールが完了したら[[#インストール後の設定|インストール後の設定]]を読んで下さい。 |
Arch Linux のインストールが完了したら[[#インストール後の設定|インストール後の設定]]を読んで下さい。 |
||
213行目: | 217行目: | ||
システムを再起動してください。{{ic|Ctrl + l}} を押して SeaBIOS を起動してから Arch を起動するか {{ic|Ctrl + d}} を押して ChromeOS を起動します。 |
システムを再起動してください。{{ic|Ctrl + l}} を押して SeaBIOS を起動してから Arch を起動するか {{ic|Ctrl + d}} を押して ChromeOS を起動します。 |
||
− | ここで [[#デフォルトで SeaBIOS を起動|SeaBIOS をデフォルトに設定]]することもできます (Chrome OS があるので後でいつでも |
+ | ここで [[#デフォルトで SeaBIOS を起動|SeaBIOS をデフォルトに設定]]することもできます (Chrome OS があるので後でいつでもできます)。 |
== インストール後の設定 == |
== インストール後の設定 == |
||
244行目: | 248行目: | ||
* あなたが使っている Chromebook 機種の ArchWiki ページに ([[#Chromebook_機種一覧|Chromebook 機種一覧]]を参照) タッチパッドの {{ic|xorg.conf.d}} ファイルがないか見て下さい。 |
* あなたが使っている Chromebook 機種の ArchWiki ページに ([[#Chromebook_機種一覧|Chromebook 機種一覧]]を参照) タッチパッドの {{ic|xorg.conf.d}} ファイルがないか見て下さい。 |
||
− | * [[KDE]] の [[Touchpad_Synaptics#グラフィカルツール|Synaptiks]] などの[[Touchpad_Synaptics#実行中に設定|タッチパッド設定ツール]]を使う。Synaptiks はメンテナンスがされておらず KDE 4.11 ではクラッシュすると書かれていますが、KDE 4.12.2 では問題なく動作します。別のユーティリティ、{{AUR|kcm_touchpad}} は全く使えません。 |
+ | * [[KDE]] の [[Touchpad_Synaptics#グラフィカルツール|Synaptiks]] などの[[Touchpad_Synaptics#実行中に設定|タッチパッド設定ツール]]を使う。Synaptiks はメンテナンスがされておらず KDE 4.11 ではクラッシュすると書かれていますが、KDE 4.12.2 では問題なく動作します。別のユーティリティ、{{AUR|kcm_touchpad}}{{Broken package link|{{aur-mirror|kcm_touchpad}}}} は全く使えません。 |
==== Chromium OS インプットドライバー ==== |
==== Chromium OS インプットドライバー ==== |
||
− | {{AUR|xf86-input-cmt}} は Chromium OS のインプットドライバーの移植です: [[Touchpad Synaptics|Synaptics インプットドライバー]]の代わりに [https://github.com/hugegreenbug/xf86-input-cmt xf86-input-cmt] を使うことができます。ほとんどのデバイスの設定ファイルを調整して、手のひら検出など [[Touchpad Synaptics|Synaptics インプットドライバー]]では |
+ | {{AUR|xf86-input-cmt}} は Chromium OS のインプットドライバーの移植です: [[Touchpad Synaptics|Synaptics インプットドライバー]]の代わりに [https://github.com/hugegreenbug/xf86-input-cmt xf86-input-cmt] を使うことができます。ほとんどのデバイスの設定ファイルを調整して、手のひら検出など [[Touchpad Synaptics|Synaptics インプットドライバー]]ではできない機能が提供されています。さらに、タップによるドラッグなど Chromium OS インプットドライバーでは無効になっている機能も有効にします。 |
このインプットドライバーは {{ic|/dev/input/event}} にアクセスする権限がない [https://github.com/hugegreenbug/xf86-input-cmt/issues/5 状況下] では動作しないので注意してください。[[startx]] を使って DE/WM セッションをロードしている場合に問題が発生します。そのような場合、または何らかの理由でドライバーがロードされないときは、次のコマンドを実行してください: |
このインプットドライバーは {{ic|/dev/input/event}} にアクセスする権限がない [https://github.com/hugegreenbug/xf86-input-cmt/issues/5 状況下] では動作しないので注意してください。[[startx]] を使って DE/WM セッションをロードしている場合に問題が発生します。そのような場合、または何らかの理由でドライバーがロードされないときは、次のコマンドを実行してください: |
||
347行目: | 351行目: | ||
=== 音声出力の修正 === |
=== 音声出力の修正 === |
||
+ | |||
+ | ==== Baytrail が搭載された機種 ==== |
||
+ | |||
+ | Baytrail が搭載されている機種の多くは {{Pkg|linux-lts}} で動作しますが 4.5.0 からリグレッションが発生しています。新しいカーネルを使いたい場合は {{AUR|linux-max98090}}{{Broken package link|パッケージが存在しません}} をインストールしてください。また、{{Pkg|alsa-utils}} パッケージに含まれている {{ic|alsamixer}} を使って "Left Speaker Mixer Left DAC" と "Right Speaker Mixer Right DAC" をオンにする必要があります。詳しくは [https://bugs.archlinux.org/task/48936] を参照。 |
||
==== Haswell が搭載された機種 ==== |
==== Haswell が搭載された機種 ==== |
||
352行目: | 360行目: | ||
以下の設定をすることで音声関連の問題が解決することがあります。{{ic|snd_hda_intel}} モジュールの設定が特に有効です。何も設定しなくていい場合もあります。 |
以下の設定をすることで音声関連の問題が解決することがあります。{{ic|snd_hda_intel}} モジュールの設定が特に有効です。何も設定しなくていい場合もあります。 |
||
− | * {{ic|/etc/modprobe.d/alsa.conf}} を作成。{{ic|index}} オプションは (HDMI ではなく) アナログ出力をデフォルトにして、{{ic|model}} オプションはボードモデルにドライバーを通知して内蔵のマイクロフォンを利用可能にします (代わりに {{ic|<nowiki>model=alc283-sense-combo</nowiki>}} を使うこともできます): |
+ | * {{ic|/etc/modprobe.d/alsa.conf}} を作成。{{ic|index}} オプションは (HDMI ではなく) アナログ出力をデフォルトにして、{{ic|model}} オプションはボードモデルにドライバーを通知して内蔵のマイクロフォンを利用可能にします (代わりに {{ic|<nowiki>model=alc283-sense-combo</nowiki>}} または {{ic|<nowiki>model=,alc283-dac-wcaps</nowiki>}} を使うこともできます): |
{{hc|head=/etc/modprobe.d/alsa.conf| |
{{hc|head=/etc/modprobe.d/alsa.conf| |
||
377行目: | 385行目: | ||
==== Sxhkd の設定 ==== |
==== Sxhkd の設定 ==== |
||
− | [[Sxhkd]] デーモンを使ってホットキーを設定することができます。{{ |
+ | [[Sxhkd]] デーモンを使ってホットキーを設定することができます。{{Pkg|sxhkd}} の他に [[Advanced Linux Sound Architecture|amixer]], {{Pkg|xorg-xbacklight}}, {{Pkg|xautomation}} が必要になります。 |
* {{ic|~/.config/sxhkd/sxhkdrc}} の設定例は [https://gist.github.com/dhead666/191722ec04842d8d330b] を参照。 |
* {{ic|~/.config/sxhkd/sxhkdrc}} の設定例は [https://gist.github.com/dhead666/191722ec04842d8d330b] を参照。 |
||
383行目: | 391行目: | ||
==== xbindkeys の設定 ==== |
==== xbindkeys の設定 ==== |
||
− | [[xbindkeys]] を使ってホットキーを設定する方法もあります。{{Pkg|xbindkeys}} の他に [[Advanced Linux Sound Architecture|amixer]], {{Pkg|xorg-xbacklight}}, {{ |
+ | [[xbindkeys]] を使ってホットキーを設定する方法もあります。{{Pkg|xbindkeys}} の他に [[Advanced Linux Sound Architecture|amixer]], {{Pkg|xorg-xbacklight}}, {{AUR|xvkbd}} が必要になります。 |
* {{ic|~/.xbindkeysrc}} の設定例は [https://gist.github.com/dhead666/08562a9a760b18b6e758] を参照。 |
* {{ic|~/.xbindkeysrc}} の設定例は [https://gist.github.com/dhead666/08562a9a760b18b6e758] を参照。 |
||
390行目: | 398行目: | ||
===== 別の xbindkeys の設定 ===== |
===== 別の xbindkeys の設定 ===== |
||
− | [http://pastie.org/9550960 Volchange] (元は [http://www.debianuserforums.org/viewtopic.php?f=55&t=1453#p14351 Debian ユーザーフォーラム] に存在) で [[Advanced Linux Sound Architecture|amixer]] を使うかわりに PulseAudio でボリュームを制御することができます。[http://pastie.org/9550960 Volchange] の他に {{Pkg|xorg-xbacklight}} と {{ |
+ | [http://pastie.org/9550960 Volchange] (元は [http://www.debianuserforums.org/viewtopic.php?f=55&t=1453#p14351 Debian ユーザーフォーラム] に存在) で [[Advanced Linux Sound Architecture|amixer]] を使うかわりに PulseAudio でボリュームを制御することができます。[http://pastie.org/9550960 Volchange] の他に {{Pkg|xorg-xbacklight}} と {{AUR|xvkbd}} が必要になります。 |
* [http://pastie.org/9550960] からスクリプトをダウンロード |
* [http://pastie.org/9550960] からスクリプトをダウンロード |
||
424行目: | 432行目: | ||
==== Gnome で無視する ==== |
==== Gnome で無視する ==== |
||
− | {{Pkg|gnome-tweak-tool}} を[[インストール]]して、Tweak Tool を開き Power の Power Button Action を変更してください。 |
+ | {{Pkg|gnome-tweak-tool}}{{Broken package link|置換パッケージ: {{Pkg|gnome-tweaks}}}} を[[インストール]]して、Tweak Tool を開き Power の Power Button Action を変更してください。 |
== 既知の問題 == |
== 既知の問題 == |
||
434行目: | 442行目: | ||
== 参照 == |
== 参照 == |
||
− | * [ |
+ | * [https://www.chromium.org/chromium-os/developer-information-for-chrome-os-devices Developer Information for Chrome OS Devices at the Chromium Projects site] |
* [https://bbs.archlinux.org/viewtopic.php?id=173418 BBS topic about the Acer C720] which include generic information on Haswell Based Chromebooks. |
* [https://bbs.archlinux.org/viewtopic.php?id=173418 BBS topic about the Acer C720] which include generic information on Haswell Based Chromebooks. |
||
* Re-partitioning in Chrome OS [http://chromeos-cr48.blogspot.co.uk/2012/04/chrubuntu-1204-now-with-double-bits.html], [http://goo.gl/i817v] |
* Re-partitioning in Chrome OS [http://chromeos-cr48.blogspot.co.uk/2012/04/chrubuntu-1204-now-with-double-bits.html], [http://goo.gl/i817v] |
2024年7月10日 (水) 20:39時点における最新版
この記事では Acer, HP, Samsung, 東芝, Google によって作られた Chromebook ノートパソコンで Arch を動かす情報を提供しています。現在はページを改訂してモデルごとのページを作成しています。
目次
イントロダクション
レガシーブート
最近の Chromebook (Intel の Haswell や Broadwell が搭載されている機種) には"レガシーブート"モードが存在し Linux や他のオペレーティングシステムを簡単に起動することができます。このレガシーブートモードは Coreboot の SeaBIOS ペイロードによって提供されています。Coreboot は Intel が搭載されている Chromebook に載っているファームウェアです (第一世代は除く)。SeaBIOS がディスクの MBR に起動する伝統的な BIOS のように振る舞い、そこから Syslinux や GRUB などの標準的なブートローダーを起動します。
SeaBIOS が載っている Chromebook では、Arch Linux のインストール手順にほとんど変更がなく、多少のマイナーな調整があるくらいです。
SeaBIOS が存在しない機種
古い機種、また最新機種の一部には、ファームウェアに SeaBIOS が付いていません。SeaBIOS が存在しないデバイスに Arch Linux をインストールする方法は以下の通りです:
- 特定の機種では、ファームウェアのフラッシュメモリの
RW_LEGACY
にだけ SeaBIOS ペイロードを書き込むことができる場合があります (例: Acer C740, Acer C910, Google Chromebook Pixel 2)。Chrome OS のflashrom
を使って手動でRW_LEGACY
をアップデートしたり、John Lewis のflash_chromebook_rom.sh
スクリプトによってサポートされていれば、スクリプトを使って SeaBIOS を書き込むことができます。この方法の利点は (RW_LEGACY
以外の) 標準のファームウェアは変わらないということです。 - SeaBIOS が付属するカスタムファームウェアを書き込む。
- ファームウェアのフラッシュメモリの
BOOT_STUB
に書き込む。この方法では SeaBIOS ペイロードを追加して、SeaBIOS をロードするようにファームウェアを書き換えます。完全にファームウェアを書き換えるよりも安全ではありますが、欠点が複数存在します (例: サスペンドや VMX に対応していない)。John Lewis のflash_chromebook_rom.sh
スクリプトのModify ROM to run SeaBIOS exclusively
オプションです。 - Chrome OS のカーネルとモジュールを使用する ChrUbuntu を使う。
- 自分でカーネルをビルドして署名する。[1] や [2] を参照。
このページで説明しているインストール方法には、SeaBIOS がない機種でも、カスタムファームウェアを書き込むことにより Arch Linux をインストールする方法を記載しています。
ファームウェア書き込み保護
全ての Chromebook にはファームウェア書き込み保護が存在します。インストールの途中で (GBB フラグを更新したりカスタムファームウェアを書き込むために) 書き込み保護を無効化する必要があるかもしれないので、注意しておいてください。
詳しくはファームウェア書き込み保護を見て下さい。
事前注意事項
- Arch をインストールする前に Google ドライブに 100GB-1TB の空き容量が必要になります。これは ChromeOS (バージョン23以上) のためで、linux のためではありません。ドライブの容量を使って ChromeOS を同期・バックアップすることができます。
- 使用している Chromebook の ArchWiki ページを見て下さい、Chromebook 機種一覧を参照。
- あなたの使用しているデバイスの ArchWiki ページが存在しない場合は、デバイスに関する情報を収集して、もし Arch Linux のインストールが成功したのならば、ArchWiki ページを新しく追加することを希望します (SeaBIOS が載っているデバイスには Acer C720 が、SeaBIOS が載っていないデバイスには Acer C710 のページが良いサンプルとなるでしょう)。
- このガイドを隅々まで読み込んで、何か変更をする前に手順についてちゃんと確認を行なって下さい。
Chromebook 機種一覧
Chromebook のページにハードウェアの比較表が載っています。SeaBIOS の有無やストレージの拡張ができるかどうかなどの情報も記載。
インストール
一般的なインストール手順:
- デベロッパーモードを有効にする。
- SeaBIOS のある Chromebook:
- レガシーブート / SeaBIOS を有効化する。
- SeaBIOS をデフォルトに設定 (必須ではありませんが推奨。書き込み保護を無効にする必要があります)。
- SeaBIOS のない Chromebook:
- カスタムファームウェアに書き換え。
- インストールメディアを準備。64ビットのメディアを手動で作成するには他の Linux マシンが必要です。
- Arch Linux インストールメディアを起動して Arch をインストール。
デベロッパーモードの有効化
ChromeOS の中からスーパーユーザーシェルにアクセスするには デベロッパーモード が必要です。SeaBIOS での起動を許可するなど、システムに変更を加えるために有効化は必須になります。
デベロッパーモードに入るには:
- Chromebook を起動します。
Esc + F3 (Refresh)
キーを押しながら、Power
ボタンを押して下さい。これでリカバリーモードに入ります。Ctrl + D
を押して下さい (プロンプトは出ません)。確認がされてから、システムは状態を初期化してデベロッパーモードを有効にします。
スーパーユーザーシェルにアクセス
デベロッパーモードに移行した後は、スーパーユーザーのプロンプトを表示する必要があります。スーパーユーザーシェルのアクセス方法は Chrome OS を設定したかどうかで変わります。
Chrome OS の設定をせずにスーパーユーザーシェルにアクセス
Chrome OS を設定しない場合は、Ctrl + Alt + F2
を押せば (F2 は上段の"右"矢印です, →)、ログインプロンプトが表示されます。
chronos
をユーザー名として使って下さい、パスワードは聞かれません。sudo bash
でスーパーユーザーになってください。
Chrome OS の設定をしてスーパーユーザーシェルにアクセス
Chrome OS を既に設定している場合は:
Ctrl + Alt + T
で crosh window を開いて下さい。shell
コマンドで bash シェルを開いて下さい。sudo bash
でスーパーユーザーになってください。
SeaBIOS の有効化
あなたの Chromebook に SeaBIOS が載っていない場合、もしくはカスタムファームウェアをインストールしてみたい場合は、カスタムファームウェアの書き込みのセクションに飛んで下さい。
以下は Coreboot のデベロッパーモード画面で、プリインストールされている SeaBIOS にアクセスする方法です。
- スーパーユーザーシェルで以下を入力:
# crossystem dev_boot_usb=1 dev_boot_legacy=1
- マシンを再起動。
これで白いブートスプラッシュ画面で Ctrl + L
を押すことで SeaBIOS を起動できます。
以上で Chromebook の SeaBIOS の有効化が完了です。SeaBIOS をデフォルトに設定しない場合は Arch Linux のインストールに進むことができます。
デフォルトで SeaBIOS を起動
デフォルトで SeaBIOS を起動するには、Chrome OS で set_gbb_flags.sh を実行する必要があります (Chrome OS に初めから入っています、Arch Linux では正しく動作しません)。
- ハードウェア書き込み保護を無効化。ファームウェア書き込み保護セクションのハードウェア書き込み保護の無効化を見て下さい。
- スーパーユーザーシェルで次を入力:
# sudo su
- ソフトウェア書き込み保護の無効化。
# flashrom --wp-disable
- 書き込み保護が無効化されているか確認。
# flashrom --wp-status
- 何もパラメータを付けずに
set_gbb_flags.sh
を実行。
# set_gbb_flags.sh
- 以下の出力がされたか確認、[4] を参照。
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 をデフォルトに設定。
# set_gbb_flags.sh 0x489
- ソフトウェア書き込み保護を有効に戻す。
# flashrom --wp-enable
以上で Chromebook は SeaBIOS をデフォルトで起動するようになります。Arch Linux のインストールに進んで下さい。デバイスが正しく起動したら、ハードウェア書き込み保護を有効に戻して下さい。
カスタムファームウェアの書き込み
- ハードウェア書き込み保護を無効化します。
ハードウェア書き込み保護のネジ/スイッチ/ジャンパの位置は使用している Chrome OS デバイスのページを見て下さい。使用しているデバイスのページが ArchWiki にない場合、Information for Chrome OS Devices や Coreboot の Chromebook ページ を見て下さい。ファームウェア書き込み保護に関する詳細は Chrome OS カスタムファームウェア#ファームウェア書き込み保護 を見て下さい。
- Lewis のサイトの ROM ダウンロードページ に書かれているコマンドを入力。
- スクリプトが終了したらシステムを再起動する前に外部ストレージにバックアップされたファームウェアをコピー。
以上でデバイスにカスタムファームウェアがインストールされたはずです。うまくいくことを祈って再起動しましょう。
ファームウェアの書き込みに成功したら Arch Linux のインストールを行って下さい。
Arch Linux のインストール
インストールメディアの準備
Arch Linux インストーラの USB ドライブを作成してください。
インストールメディアの起動
- USB ドライブを Chromebook に接続して、(SeaBIOS をデフォルトに設定していない場合) 白いブートスプラッシュ画面で
Ctrl + L
を押して SeaBIOS を起動します。 Esc
を押してブートメニューを表示して USB ドライブの番号を選択してください。
Arch Linux インストーラのブートメニューが表示されるので、通常通りにインストールすることができます。
Arch Linux のインストールが完了したらインストール後の設定を読んで下さい。
別のインストール方法: Chrome OS に加えて Arch Linux をインストール
内蔵ドライブに Arch Linux と Chrome OS の両方をインストールすることも可能です。
ドライブの再パーティション
ドライブをパーティションするには、Chrome OS で ChruBuntu スクリプトの第一段階を実行します。ログインした後、Ctrl + Alt + T
でシェルを開いて、shell
を実行し、cd ~/
でホームディレクトリに移動してください。そして、次のコマンドを実行します:
curl -L -O http://goo.gl/9sgchs; sudo bash 9sgchs
別パーティションの容量をどうするか聞かれます。16GB の SSD なら 8GB が安全な数字です。9GB 以上だと動作しないかもしれません。
ファイルシステムの修正
上記のパーティションを行った後、システムを再起動してください。Chrome OS はファイルシステムの修復を行います。それが完了したら、ファイルマネージャを開いてウィンドウ右上の歯車をクリックしてディスク容量が減っていることを確認してください。
インストールプロセスの続行
インストールに移りますが、内蔵ドライブを全て消去して新しいファイルシステムを作成する代わりに、前のステップで Arch のために用意した既存の空きパーティションに Arch をインストールします。
インストールメディアを起動した後:
fdisk -l
コマンドを実行してドライブとパーティションを表示してください。内蔵ドライブを見つけたら ChrUbuntu スクリプトで指定したサイズと一致するパーティションの名前をメモします。mkfs.ext4 /dev/sdxY
(xY はドライブ文字とパーティション番号に置き換えて下さい、例:/dev/sda7
) を使って arch のファイルシステムを作成します。- GPT に GRUB をインストールする手順に従って、gdisk を使って 1007kb のパーティションを作成しタイプを EF02 に設定します。
Arch Linux と Chrome OS の選択
システムを再起動してください。Ctrl + l
を押して SeaBIOS を起動してから Arch を起動するか Ctrl + d
を押して ChromeOS を起動します。
ここで SeaBIOS をデフォルトに設定することもできます (Chrome OS があるので後でいつでもできます)。
インストール後の設定
パッチのあたったカーネル
基本的に Chrome OS 端末では公式の linux パッケージを使うことが推奨されていますが、Chromebook Pixel 2015 など、ごく最近に発売された端末はパッチのあてられたカーネルを必要とすることがあります。
linux-samus4AUR には Chromebook Pixel 2015 のためのパッチが含まれており、上流の Linux カーネルにまだマージされていない、タッチパッドやタッチスクリーン、スピーカーなどの機能の修正を行います。詳しくは GitHub のページ を見て下さい。
パッチがあてられたカーネルが必要な場合、上流ソースにパッチがマージされるたびにパッチのリストは小さくなっていくので、パッチのリストを見てパッケージが必要かどうか決めるのを推奨します。最終的には公式の linux パッケージが使えるようになるはずです。
Linux カーネルの詳細はカーネルを見て下さい。
ビデオドライバー
Intel Graphics を見て下さい。
タッチパッドとタッチスクリーン
Synaptics タッチパッド, libinput, タッチスクリーンを見て下さい。
カーネル 3.17 から、関連するパッチは全て上流のソースにマージされたので、core の linux パッケージでタッチデバイスはサポートされています。
タッチパッドの設定
タッチパッドを設定する方法はいくつかあります:
- あなたが使っている Chromebook 機種の ArchWiki ページに (Chromebook 機種一覧を参照) タッチパッドの
xorg.conf.d
ファイルがないか見て下さい。 - KDE の Synaptiks などのタッチパッド設定ツールを使う。Synaptiks はメンテナンスがされておらず KDE 4.11 ではクラッシュすると書かれていますが、KDE 4.12.2 では問題なく動作します。別のユーティリティ、kcm_touchpadAUR[リンク切れ: アーカイブ: aur-mirror] は全く使えません。
Chromium OS インプットドライバー
xf86-input-cmtAUR は Chromium OS のインプットドライバーの移植です: Synaptics インプットドライバーの代わりに xf86-input-cmt を使うことができます。ほとんどのデバイスの設定ファイルを調整して、手のひら検出など Synaptics インプットドライバーではできない機能が提供されています。さらに、タップによるドラッグなど Chromium OS インプットドライバーでは無効になっている機能も有効にします。
このインプットドライバーは /dev/input/event
にアクセスする権限がない 状況下 では動作しないので注意してください。startx を使って DE/WM セッションをロードしている場合に問題が発生します。そのような場合、または何らかの理由でドライバーがロードされないときは、次のコマンドを実行してください:
# usermod -a -G input $USER
$USER はインプットドライバーを使用するユーザーの名前に置き換えてください。
ユーザーによっては GDM でドライバーが動作しないことがあります。その場合、次のコマンドを実行してください:
# usermod -a -G input gdm
再起動後、通常通りにタッチパッドが使えるようになっているはずです。
サスペンドの修正
以下はサスペンド機能を修正するための手順です。プリインストールされている SeaBIOS や John Lewis のビルド済みカスタム ROM を使用している場合でも、以下の修正が必要になります。
他の方法も議論されており場合によってはそちらのほうが上手くいくかもしれません [5] [6]。
サスペンドを修正するために、サスペンド・復帰サイクルを失敗させる原因である、EHCI_PCI と TPM モジュールを無効化します。無効化する方法は複数あります。
カーネルパラメータを使う
GRUB の設定に以下を追加してください:
/etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="modprobe.blacklist=ehci_pci"
それから grub の設定を再生成してください。GRUB の設定を再生成したら、コンピュータを再起動してください。
systemd を使う
サスペンド中に、ノートパソコンのタッチパッドなどの部品がウェイクアップデバイスとして使われてノートパソコンを動かしたことになりサスペンドから復帰してしまうことがあります。ノートパソコンのフタのセンサー以外の全てのウェイクアップデバイスを無効化するには、以下の suspend-device-fix.sh
ファイルを作成します:
/usr/local/sbin/suspend-device-fix.sh
#!/bin/bash awk '{if ($1 != "LID0" && $3 == "*enabled") print $1}' < /proc/acpi/wakeup | while read NAME do echo "$NAME" > /proc/acpi/wakeup done exit 0
ファイルに実行可能属性を付与:
# chmod +x /usr/local/sbin/suspend-device-fix.sh
起動時にスクリプトを実行する systemd サービスを作成します:
/etc/systemd/system/suspend-fix.service
[Unit] Description=Suspend Fix [Service] Type=simple ExecStart=/usr/local/sbin/suspend-device-fix.sh [Install] WantedBy=multi-user.target
サービスを起動:
# systemctl start suspend-fix.service
正しく起動したら、ブート時に起動するようにしてください:
# systemctl enable suspend-fix.service
/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 の設定を再生成してください。
音声出力の修正
Baytrail が搭載された機種
Baytrail が搭載されている機種の多くは linux-lts で動作しますが 4.5.0 からリグレッションが発生しています。新しいカーネルを使いたい場合は linux-max98090AUR[リンク切れ: パッケージが存在しません] をインストールしてください。また、alsa-utils パッケージに含まれている alsamixer
を使って "Left Speaker Mixer Left DAC" と "Right Speaker Mixer Right DAC" をオンにする必要があります。詳しくは [7] を参照。
Haswell が搭載された機種
以下の設定をすることで音声関連の問題が解決することがあります。snd_hda_intel
モジュールの設定が特に有効です。何も設定しなくていい場合もあります。
/etc/modprobe.d/alsa.conf
を作成。index
オプションは (HDMI ではなく) アナログ出力をデフォルトにして、model
オプションはボードモデルにドライバーを通知して内蔵のマイクロフォンを利用可能にします (代わりにmodel=alc283-sense-combo
またはmodel=,alc283-dac-wcaps
を使うこともできます):
/etc/modprobe.d/alsa.conf
options snd_hda_intel index=1 model=,alc283-chrome
- [8] の
~/.asoundrc
ファイルを使用。
- ヘッドフォンに問題が起こる (何も音声が流れない) 場合、
alsactl restore
を実行してみてください。ヘッドフォンまたはスピーカーが使用されているときに ALSA が自動的にチャンネルを切り替えます。
Chromebook Pixel 2015
linux-samus4AUR には Broadwell SoC サウンドデバイスのパッチが含まれています。GitHub ページ にサウンドデバイスを初期化する方法が載っています。
ホットキー
Chromebook のファンクションキー は通常の F1-F10 としてカーネルに認識されますが、それぞれのキーの見た目にあうようにマッピングすることが可能です。また、Delete, Home, End, PgUp, PgDown
を Chrome OS でマッピングされているように Alt + : BackSpace, Right, Left, Up, Down
にするのも良いでしょう。
xkeyboard の設定
xkeyboard-config 2.16-1 から追加された chromebook
モデルを使うことでファンクションキーから Chrome OS のような機能を使用することができます。例えば、localectl set-x11-keymap us chromebook
のようなコマンドで設定することが可能です。完全なマッピングは /usr/share/X11/xkb/symbols/inet
内の chromebook
の定義を確認してください。
Sxhkd の設定
Sxhkd デーモンを使ってホットキーを設定することができます。sxhkd の他に amixer, xorg-xbacklight, xautomation が必要になります。
~/.config/sxhkd/sxhkdrc
の設定例は [10] を参照。
xbindkeys の設定
xbindkeys を使ってホットキーを設定する方法もあります。xbindkeys の他に amixer, xorg-xbacklight, xvkbdAUR が必要になります。
~/.xbindkeysrc
の設定例は [11] を参照。- 他の例は vilefridge の xbindkeys 設定を参照。
別の xbindkeys の設定
Volchange (元は Debian ユーザーフォーラム に存在) で amixer を使うかわりに PulseAudio でボリュームを制御することができます。Volchange の他に xorg-xbacklight と xvkbdAUR が必要になります。
- [12] からスクリプトをダウンロード
- 実行可能属性を付与
$ chmod u+x ~/.local/bin/volchange
[13] を見て ~/.xbindkeysrc
を設定してください。
xkeyboard-config にパッチをあてる
xkeyboard-config-chromebookAUR をインストールする方法もあります。詳しくは [14] を参照。
Gnome で gsettings set を使ってマッピング
Gnome では (ボリュームや輝度などの) 変更があったときの HUD 通知を使ってファンクションキーをマッピングすることができます。こちらの 例 では明るさやボリュームのアクションをマップしています。xdotool が必要なので注意してください。
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[リンク切れ: 置換パッケージ: gnome-tweaks] をインストールして、Tweak Tool を開き Power の Power Button Action を変更してください。
既知の問題
Syslinux
syslinux-install_update -i -a -m
を使って Syslinux でブータブルフラグを設定することはできません。fdisk
を使用して手動でブータブルフラグを設定した後、syslinux-install_update -i -m
で Syslinux を MBR にインストールして SeaBIOS で Syslinux を起動しても、Syslinux は OS が見つけられないとエラーを出します。今は GRUB を使って下さい。
参照
- Developer Information for Chrome OS Devices at the Chromium Projects site
- BBS topic about the Acer C720 which include generic information on Haswell Based Chromebooks.
- Re-partitioning in Chrome OS [15], [16]
- Brent Sullivan's the always updated list of Chrome OS devices
- Google Chromebook Comparison Chart