「Chrome OS デバイス」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(ページの作成:「Category:ノートパソコン en:Chrome OS devices it:Chromebook {{Related articles start}} {{Related|Chromebook}} {{Related|Chrome OS カスタムファー...」)
 
235行目: 235行目:
 
=== タッチパッドとタッチスクリーン ===
 
=== タッチパッドとタッチスクリーン ===
   
[[Touchpad Synaptics]]と[[タッチスクリーン]]を見て下さい。
+
[[Touchpad Synaptics]] と[[タッチスクリーン]]を見て下さい。
   
 
カーネル 3.17 から、関連するパッチは全て上流のソースにマージされたので、core の {{Pkg|linux}} パッケージでタッチデバイスはサポートされています。
 
カーネル 3.17 から、関連するパッチは全て上流のソースにマージされたので、core の {{Pkg|linux}} パッケージでタッチデバイスはサポートされています。
246行目: 246行目:
 
* [[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}} は全く使えません。
   
==== Chromium OS input drivers ====
+
==== Chromium OS インプットドライバー ====
   
  +
{{AUR|xf86-input-cmt}} は Chromium OS のインプットドライバーの移植です: [[Touchpad Synaptics|Synaptics インプットドライバー]]の代わりに [https://github.com/hugegreenbug/xf86-input-cmt xf86-input-cmt] を使うことができます。ほとんどのデバイスの設定ファイルを調整して、手のひら検出など [[Touchpad Synaptics|Synaptics インプットドライバー]]では出来ない機能が提供されています。さらに、タップによるドラッグなど Chromium OS インプットドライバーでは無効になっている機能も有効にします。
{{AUR|xf86-input-cmt}} offers a port of the Chromium OS input driver: [https://github.com/hugegreenbug/xf86-input-cmt xf86-input-cmt] as an alternative for the [[Synaptics|Synaptics input driver]]. It provides tweaked configuration files for most devices, and provides functionality that the [[Synaptics|Synaptics input driver]] does not such as palm rejection. Additionally, it enables functionality not enabled by default in the Chromium OS input driver such as tap-to-drag.
 
   
  +
このインプットドライバーは {{ic|/dev/input/event}} にアクセスする権限がない [https://github.com/hugegreenbug/xf86-input-cmt/issues/5 状況下] では動作しないので注意してください。[[startx]] を使って DE/WM セッションをロードしている場合に問題が発生します。そのような場合、または何らかの理由でドライバーがロードされないときは、次のコマンドを実行してください:
Please note, the input driver does not work under [https://github.com/hugegreenbug/xf86-input-cmt/issues/5 some circumstances] where you have insufficient permissions to access {{ic|/dev/input/event}}
 
This will affect you if you use [https://wiki.archlinux.org/index.php/Xinitrc startx] to load a DE/WM session.
 
If this is the case or if the driver does not load for any other cases, you should run:
 
 
# usermod -a -G input $USER
 
# usermod -a -G input $USER
  +
$USER はインプットドライバーを使用するユーザーの名前に置き換えてください。
Where $USER is the current user wanting to use the input driver.
 
  +
 
  +
ユーザーによっては [[GDM]] でドライバーが動作しないことがあります。その場合、次のコマンドを実行してください:
It should also be noted that some users have reported the driver does not work in [https://wiki.archlinux.org/index.php/GDM GDM] but works normally after log in.
 
If you are affected by this, you should run:
 
 
# usermod -a -G input gdm
 
# usermod -a -G input gdm
   
  +
再起動後、通常通りにタッチパッドが使えるようになっているはずです。
After reboot, you should be able to use the touchpad normally.
 
   
=== Fixing suspend ===
+
=== サスペンドの修正 ===
  +
{{Note|起動直後はフタを閉じることによるサスペンドは動作しないことがあります。少し待って下さい。}}
{{Note|Lid suspend might not work directly after boot, you might need to wait a little.}}
 
   
  +
以下はサスペンド機能を修正するための手順です。プリインストールされている SeaBIOS や John Lewis のビルド済みカスタム ROM を使用している場合でも、以下の修正が必要になります。
The following are instructions to fix the suspend functionality.
 
Even if you are using a pre-installed SeaBIOS or John Lewis' pre-built SeaBIOS you will still need this fix.
 
   
There have been a few alternatives discussed and those may work better for some. [https://bbs.archlinux.org/viewtopic.php?pid=1364376#p1364376] [https://bbs.archlinux.org/viewtopic.php?pid=1364521#p1364521]
+
他の方法も議論されており場合によってはそちらのほうが上手くいくかもしれません [https://bbs.archlinux.org/viewtopic.php?pid=1364376#p1364376] [https://bbs.archlinux.org/viewtopic.php?pid=1364521#p1364521]
   
  +
サスペンドを修正するために、サスペンド・復帰サイクルを失敗させる原因である、EHCI_PCI と TPM モジュールを無効化します。無効化する方法は複数あります。
To fix suspend, the general idea is to disable the EHCI_PCI module, which interferes with the suspend cycle. There are multiple ways to achieve this.
 
   
==== With kernel parameters ====
+
==== カーネルパラメータを使う ====
  +
Add the following to your GRUB configuration:-
 
  +
GRUB の設定に以下を追加してください:
   
 
{{hc|head=/etc/default/grub|
 
{{hc|head=/etc/default/grub|
 
output=GRUB_CMDLINE_LINUX_DEFAULT="modprobe.blacklist=ehci_pci"}}
 
output=GRUB_CMDLINE_LINUX_DEFAULT="modprobe.blacklist=ehci_pci"}}
   
  +
それから [[GRUB#メイン設定ファイルの生成|grub の設定を再生成]]してください。GRUB の設定を再生成したら、コンピュータを再起動してください。
Then [[GRUB#Generate_the_main_configuration_file|rebuild your grub config]]. After rebuilding your GRUB config, reboot your computer.
 
   
==== With systemd ====
+
==== systemd を使う ====
   
  +
サスペンド中に、ノートパソコンのタッチパッドなどの部品がウェイクアップデバイスとして使われてノートパソコンを動かしたことになりサスペンドから復帰してしまうことがあります。ノートパソコンのフタのセンサー以外の全てのウェイクアップデバイスを無効化するには、以下の {{ic|suspend-device-fix.sh}} ファイルを作成します:
Sometimes the synaptics touchpad, and various other parts of the laptop are used as wakeup devices causing certain movements of the laptop during suspend to end suspend. In order to disable all wakeup devices except for the laptop lid sensor, create the following {{ic|suspend-device-fix.sh}} file.
 
   
 
{{hc|head=/usr/local/sbin/suspend-device-fix.sh|
 
{{hc|head=/usr/local/sbin/suspend-device-fix.sh|
294行目: 291行目:
 
</nowiki>}}
 
</nowiki>}}
   
  +
ファイルに実行可能属性を付与:
Now give the file executable permissions:
 
 
# chmod +x /usr/local/sbin/suspend-device-fix.sh
 
# chmod +x /usr/local/sbin/suspend-device-fix.sh
   
  +
起動時にスクリプトを実行する systemd サービスを作成します:
Create a systemd service to execute the script on every boot.
 
 
{{hc|head=/etc/systemd/system/suspend-fix.service|
 
{{hc|head=/etc/systemd/system/suspend-fix.service|
 
output=[Unit]
 
output=[Unit]
310行目: 307行目:
 
}}
 
}}
   
  +
サービスを起動:
First start the service.
 
 
# systemctl start suspend-fix.service
 
# systemctl start suspend-fix.service
  +
正しく起動したら、ブート時に起動するようにしてください:
If it properly starts, then allow it to be started on bootup.
 
 
# systemctl enable suspend-fix.service
 
# systemctl enable suspend-fix.service
  +
Add the following line at the end of {{ic|/etc/rc.d/rc.local}} (if it does not exist, just create it) to prevent bad handling of EHCI USB:
 
  +
{{ic|/etc/rc.d/rc.local}} (存在しない場合は作成してください) の最後に以下の行を追加して EHCI USB の良くない処理をやめさせます:
   
 
{{hc|head=/etc/rc.d/rc.local|
 
{{hc|head=/etc/rc.d/rc.local|
321行目: 319行目:
 
</nowiki>}}
 
</nowiki>}}
   
  +
次に、以下の {{ic|cros-sound-suspend.sh}} ファイルを作成してください。ここでは Ath9k のバインド・アンバインドの行だけ載せています。問題が起こる場合は上のリンクにある他の方法を見て下さい。
Then, create the following {{ic|cros-sound-suspend.sh}} file. Only the Ath9k binding/unbinding lines are listed below; see the alternatives linked above for additional sound suspend handling if you experience issues.
 
   
 
{{hc|head=/usr/lib/systemd/system-sleep/cros-sound-suspend.sh|
 
{{hc|head=/usr/lib/systemd/system-sleep/cros-sound-suspend.sh|
343行目: 341行目:
 
esac</nowiki>}}
 
esac</nowiki>}}
   
  +
ファイルに実行可能属性を付与:
Make sure to make the script executable:
 
 
# chmod +x /usr/lib/systemd/system-sleep/cros-sound-suspend.sh
 
# chmod +x /usr/lib/systemd/system-sleep/cros-sound-suspend.sh
   
  +
それから [[GRUB#メイン設定ファイルの生成|grub の設定を再生成]]してください。
Then [[GRUB#Generate_the_main_configuration_file|rebuild your grub config]].
 
   
=== Fixing audio ===
+
=== 音声出力の修正 ===
   
==== Haswell based models ====
+
==== Haswell が搭載された機種 ====
   
  +
以下の設定をすることで音声関連の問題が解決することがあります。{{ic|snd_hda_intel}} モジュールの設定が特に有効です。何も設定しなくていい場合もあります。
One or more of followings might help solving audio related issues, setting {{ic|snd_hda_intel}} module index reported the most useful. It is highly possible that you will not need to make any change.
 
   
* Create <code>/etc/modprobe.d/alsa.conf</code>, the option {{ic|index}} will make sure the analog output is the default (and not HDMI), the option {{ic|model}} will notify the driver our board model which will make the built-in microphone usable (you can try instead {{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>}} を使うこともできます):
   
 
{{hc|head=/etc/modprobe.d/alsa.conf|
 
{{hc|head=/etc/modprobe.d/alsa.conf|
 
output=options snd_hda_intel index=1 model=alc283-dac-wcaps}}
 
output=options snd_hda_intel index=1 model=alc283-dac-wcaps}}
   
* Use the {{ic|~/.asoundrc}} file from [https://gist.githubusercontent.com/dhead666/52d6d7d97eff76935713/raw/5b32ee11a2ebbe7a3ee0f928e49b980361a57548/.asoundrc].
+
* [https://gist.githubusercontent.com/dhead666/52d6d7d97eff76935713/raw/5b32ee11a2ebbe7a3ee0f928e49b980361a57548/.asoundrc] の {{ic|~/.asoundrc}} ファイルを使用。
   
  +
* ヘッドフォンに問題が起こる (何も音声が流れない) 場合、{{ic|alsactl restore}} を実行してみてください。ヘッドフォンまたはスピーカーが使用されているときに ALSA が自動的にチャンネルを切り替えます。
* If having problems with headphones (perhaps no audio playing), try <code>alsactl restore</code> in terminal. Now, ALSA should automatically switch between channels when using headphones/speakers.
 
   
* To fix [[Flash]] audio with PulseAudio, use the {{ic|~/.asoundrc}} file from [https://gist.githubusercontent.com/dhead666/0eebff16cd9578c5e035/raw/d4c974fcd50565bf116c57b1884170ecb47f8bf6/.asoundrc].
+
* PulseAudio での [[Flash]] プラグインの音声を修正するには [https://gist.githubusercontent.com/dhead666/0eebff16cd9578c5e035/raw/d4c974fcd50565bf116c57b1884170ecb47f8bf6/.asoundrc] にある {{ic|~/.asoundrc}} ファイルを使って下さい。
   
 
==== Chromebook Pixel 2015 ====
 
==== Chromebook Pixel 2015 ====
   
{{AUR|linux-samus4}} includes a patch for Broadwell SoC sound devices. [https://github.com/raphael/linux-samus Its GitHub page] includes additional instructions for initializing the sound device.
+
{{AUR|linux-samus4}} には Broadwell SoC サウンドデバイスのパッチが含まれています。[https://github.com/raphael/linux-samus GitHub ページ] にサウンドデバイスを初期化する方法が載っています。
   
=== Hotkeys ===
+
=== ホットキー ===
   
[https://support.google.com/chromebook/answer/1047364?hl=en The Chromebook function keys] recognized as standard F1-F10 by the kernel, it is preferable to map them accordingly to their appearance. It would also be nice to get the keys {{ic|Delete, Home, End, PgUp, PgDown}} which in Chrome OS mapped to {{ic|Alt + : BackSpace, Right, Left, Up, Down}}.
+
[https://support.google.com/chromebook/answer/1047364 Chromebook のファンクションキー] は通常の F1-F10 としてカーネルに認識されますが、それぞれのキーの見た目にあうようにマッピングすることが可能です。また、{{ic|Delete, Home, End, PgUp, PgDown}} Chrome OS でマッピングされているように {{ic|Alt + : BackSpace, Right, Left, Up, Down}} にするのも良いでしょう。
   
==== Sxhkd configuration ====
+
==== Sxhkd の設定 ====
   
One way to set the hotkeys would be by using the [[Sxhkd]] daemon. Besides {{Pkg|sxhkd}}, this also requires [[Advanced Linux Sound Architecture|amixer]], {{Pkg|xorg-xbacklight}}, and {{Pkg|xautomation}}.
+
[[Sxhkd]] デーモンを使ってホットキーを設定することができます。{{AUR|sxhkd}} の他に [[Advanced Linux Sound Architecture|amixer]], {{Pkg|xorg-xbacklight}}, {{Pkg|xautomation}} が必要になります。
   
* See [https://gist.github.com/dhead666/191722ec04842d8d330b] for an example configuration in {{ic|~/.config/sxhkd/sxhkdrc}}.
+
* {{ic|~/.config/sxhkd/sxhkdrc}} の設定例は [https://gist.github.com/dhead666/191722ec04842d8d330b] を参照。
   
==== Xbindkeys configuration ====
+
==== xbindkeys の設定 ====
   
Another way to configure hotkeys would be by using [[Xbindkeys]]. Besides {{Pkg|xbindkeys}} this requires [[Advanced Linux Sound Architecture|amixer]] and {{Pkg|xorg-xbacklight}} and {{Pkg|xvkbd}}.
+
[[xbindkeys]] を使ってホットキーを設定する方法もあります。{{Pkg|xbindkeys}} の他に [[Advanced Linux Sound Architecture|amixer]], {{Pkg|xorg-xbacklight}}, {{Pkg|xvkbd}} が必要になります。
   
* See [https://gist.github.com/dhead666/08562a9a760b18b6e758] for an example configuration in {{ic|~/.xbindkeysrc}}.
+
* {{ic|~/.xbindkeysrc}} の設定例は [https://gist.github.com/dhead666/08562a9a760b18b6e758] を参照。
* See [https://bbs.archlinux.org/viewtopic.php?id=173418&p=3 vilefridge's xbindkeys configuration] for another example.
+
* 他の例は [https://bbs.archlinux.org/viewtopic.php?id=173418&p=3 vilefridge xbindkeys 設定]を参照。
   
===== Alternate xbindkeys configuration =====
+
===== 別の xbindkeys の設定 =====
   
[http://pastie.org/9550960 Volchange] (originated in the [http://www.debianuserforums.org/viewtopic.php?f=55&t=1453#p14351 Debian User Forums])) can manipulate the volume with PulseAudio instead of using [[Advanced Linux Sound Architecture|amixer]]. Besides [http://pastie.org/9550960 Volchange] this requires {{Pkg|xorg-xbacklight}} and {{Pkg|xvkbd}}.
+
[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}} {{Pkg|xvkbd}} が必要になります。
   
* Download the script from [http://pastie.org/9550960].
+
* [http://pastie.org/9550960] からスクリプトをダウンロード
  +
* 実行可能属性を付与
* Make it executable
 
 
$ chmod u+x ~/.local/bin/volchange
 
$ chmod u+x ~/.local/bin/volchange
   
See [https://gist.github.com/dhead666/4e23b506441ad424e26e] for a matching {{ic|~/.xbindkeysrc}}.
+
[https://gist.github.com/dhead666/4e23b506441ad424e26e] を見て {{ic|~/.xbindkeysrc}} を設定してください。
   
==== Patch xkeyboard-config ====
+
==== xkeyboard-config にパッチをあてる ====
   
Another option is to install {{AUR|xkeyboard-config-chromebook}}, for more details visit [https://github.com/dhead666/archlinux-pkgbuilds/tree/master/xkeyboard-config-chromebook].
+
{{AUR|xkeyboard-config-chromebook}} をインストールする方法もあります。詳しくは [https://github.com/dhead666/archlinux-pkgbuilds/tree/master/xkeyboard-config-chromebook] を参照。
   
==== Mapping in Gnome with gsettings set ====
+
==== Gnome gsettings set を使ってマッピング ====
   
  +
Gnome では (ボリュームや輝度などの) 変更があったときの HUD 通知を使ってファンクションキーをマッピングすることができます。こちらの [https://gist.github.com/dhead666/0b9c1cc9def939705594 例] では明るさやボリュームのアクションをマップしています。{{Pkg|xdotool}} が必要なので注意してください。
Some of the function keys can be mapped in Gnome with the advantage of HUD notifications on changes (like volume and brightness changes) which can supplement one of the mapping methods mentioned above. This [https://gist.github.com/dhead666/0b9c1cc9def939705594 linked example] maps the brightness and volume actions. Notice that {{Pkg|xdotool}} is required.
 
   
=== Power key and lid switch handling ===
+
=== Power キーとフタの開閉によるスイッチの処理 ===
   
==== Ignore using logind ====
+
==== logind の使用を無視する ====
   
  +
設定をしなくとも、{{ic|systemd-logind}} が power キーやフタの開閉によるイベントを処理します: power キーが押された時は電源を切り、フタが閉じられた時はサスペンドします。しかしながら、この挙動には少し問題があるかもしれません、power キーはキーボードの右上にある普通のキーであり間違って押してしまう可能性があるからです。
Out of the box, {{ic|systemd-logind}} will catch power key and lid switch events and handle them: it will shut down the Chromebook on a power key press, and a suspend on a lid close. However, this policy might be a bit harsh given that the power key is an ordinary key at the top right of the keyboard that might be pressed accidentally.
 
   
  +
logind が power キーの押下やフタの開閉を無視するように設定するには、以下の行を {{ic|logind.conf}} に追加してください:
To configure logind to ignore power key presses and lid switches, add the lines to {{ic|logind.conf}} below.
 
   
 
{{hc|head=/etc/systemd/logind.conf|
 
{{hc|head=/etc/systemd/logind.conf|
416行目: 414行目:
 
HandleLidSwitch=ignore}}
 
HandleLidSwitch=ignore}}
   
  +
logind を[[systemd#ユニットを使う|再起動]]すれば変更が適用されます。
Then [[restart]] logind for the changes to take effect.
 
   
  +
Power キーやフタの開閉イベントは logind によって journald に記録されます。[[電源管理#ACPI イベント]]を参照。
Power key and lid switch events will still be logged to journald by logind. See [[Power management#ACPI events]].
 
   
==== Ignore by Gnome ====
+
==== Gnome で無視する ====
   
[[Pacman|Install]] {{Pkg|gnome-tweak-tool}}, open the Tweak Tool and under Power change the Power Button Action.
+
{{Pkg|gnome-tweak-tool}} を[[インストール]]して、Tweak Tool を開き Power Power Button Action を変更してください。
   
== Known issues ==
+
== 既知の問題 ==
   
 
=== Syslinux ===
 
=== Syslinux ===
   
  +
{{ic|syslinux-install_update -i -a -m}} を使って Syslinux でブータブルフラグを設定することはできません。{{ic|fdisk}} を使用して手動でブータブルフラグを設定した後、{{ic|syslinux-install_update -i -m}} で Syslinux を MBR にインストールして SeaBIOS で Syslinux を起動しても、Syslinux は OS が見つけられないとエラーを出します。今は GRUB を使って下さい。
Follow Syslinux installation instructions carefully. Try manual installation to see where the problem comes from. If you see [[Syslinux#Missing_operating_system|Missing Operation System]] then it may be because you need to use correct bootloader binary. If syslinux does not work try other bootloader such as GRUB.
 
   
 
== 参照 ==
 
== 参照 ==

2015年11月5日 (木) 16:26時点における版

関連記事

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

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

目次

イントロダクション

レガシーブート

最近の Chromebook (Intel の Haswell や Broadwell が搭載されている機種) には"レガシーブート"モードが存在し Linux や他のオペレーティングシステムを簡単に起動することができます。このレガシーブートモードは CorebootSeaBIOS ペイロードによって提供されています。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 ペイロードの存在・不存在を問わず) Coreboot ファームウェアを使用する Chromebook 全てにあてはまるはずですが、機種によっては別段の設定が必要になることがあります。

一般的なインストール手順:

  • デベロッパーモードを有効にする。
  • SeaBIOS のある Chromebook:
    • レガシーブート / SeaBIOS を有効化する。
    • SeaBIOS をデフォルトに設定 (必須ではありませんが推奨。書き込み保護を無効にする必要があります)。
  • SeaBIOS のない Chromebook:
    • カスタムファームウェアに書き換え。
  • インストールメディアを準備。64ビットのメディアを手動で作成するには他の Linux マシンが必要です。
  • Arch Linux インストールメディアを起動して Arch をインストール。

デベロッパーモードの有効化

ChromeOS の中からスーパーユーザーシェルにアクセスするには デベロッパーモード が必要です。SeaBIOS での起動を許可するなど、システムに変更を加えるために有効化は必須になります。

警告: デベロッパーモードを有効化するとデータが全て消去されます。

デベロッパーモードに入るには:

  • Chromebook を起動します。
  • Esc + F3 (Refresh) キーを押しながら、Power ボタンを押して下さい。これでリカバリーモードに入ります。
  • Ctrl + D を押して下さい (プロンプトは出ません)。確認がされてから、システムは状態を初期化してデベロッパーモードを有効にします。
ノート: 白いブートスプラッシュ画面で Chrome OS に入るには Ctrl + D を押して下さい (もしくはビープ音が鳴って起動するまで30秒待って下さい)。

スーパーユーザーシェルにアクセス

デベロッパーモードに移行した後は、スーパーユーザーのプロンプトを表示する必要があります。スーパーユーザーシェルのアクセス方法は 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 を起動できます。

ノート: プリインストールされている SeaBIOS をずっと使い続けるつもりであり、SeaBIOS を起動のに毎回 Ctrl + L を押す必要があるのが鬱陶しいときは、デフォルトで SeaBIOS を起動するように Coreboot を設定することができます。この設定は Chrome OS の中から行う必要があり、(ハードウェアとソフトウェアの) 書き込み保護を無効化しなくてはなりません。後でリカバリインストールメディアを使って Chrome OS を再インストールする必要がなくなるので、ここで今すぐ設定するほうが良いでしょう。Chrome OS を捨てないつもりならば (Arch を外部ストレージにインストールするか、内部ストレージの中に Chrome OS と一緒にインストールする)、あとから SeaBIOS をデフォルトに設定できます。

以上で Chromebook の SeaBIOS の有効化が完了です。SeaBIOS をデフォルトに設定しない場合は Arch Linux のインストールに進むことができます。

デフォルトで SeaBIOS を起動

デフォルトで SeaBIOS を起動するには、Chrome OS で set_gbb_flags.sh を実行する必要があります (Chrome OS に初めから入っています、Arch Linux では正しく動作しません)。

警告: GBB フラグを設定していないとバッテリーが空になったときにシステムが破損する可能性があります。dev_boot_usbdev_boot_legacy がデフォルトの値にリセットされ、Chrome OS が強制的にリカバリを行なって、内蔵ストレージの Arch Linux 環境を失うことになります。ただし、Chrome OS のリカバリイメージを修正してまた値を設定することは可能です [3]
警告: GBB フラグを設定する前に書き込み保護を無効化しないと、ファームウェアの RW-LEGACY 部分 (SeaBIOS) が消去されシステムが起動しなくなるおそれがあります (Chrome OS のリカバリメディアで復旧させることができます)。set_gbb_flags.sh の最新バージョンでは書き込み保護を無効化しないと GBB フラグを設定できなくなっています。
# sudo su
  • ソフトウェア書き込み保護の無効化。
# flashrom --wp-disable
  • 書き込み保護が無効化されているか確認。
# flashrom --wp-status
  • 何もパラメータを付けずに set_gbb_flags.sh を実行。
# set_gbb_flags.sh
ノート: 最近のバージョンの Chrome OS ではスクリプトが /usr/share/vboot/bin/set_gbb_flags.sh に移動されており、デフォルトではパスが通っていません ($PATH に含まれていない)。
  • 以下の出力がされたか確認、[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 からカスタムファームウェアを書き込む手順です。詳しい情報は Chrome OS カスタムファームウェアのページを見て下さい。
  • ハードウェア書き込み保護を無効化します。

ハードウェア書き込み保護のネジ/スイッチ/ジャンパの位置は使用している Chrome OS デバイスのページを見て下さい。使用しているデバイスのページが ArchWiki にない場合、Information for Chrome OS DevicesCoreboot の Chromebook ページ を見て下さい。ファームウェア書き込み保護に関する詳細は Chrome OS カスタムファームウェア#ファームウェア書き込み保護 を見て下さい。

以上でデバイスにカスタムファームウェアがインストールされたはずです。うまくいくことを祈って再起動しましょう。

ファームウェアの書き込みに成功したら Arch Linux のインストールを行って下さい。

Arch Linux のインストール

インストールメディアの準備

Arch Linux インストーラの USB ドライブを作成してください。

インストールメディアの起動

  • USB ドライブを Chromebook に接続して、(SeaBIOS をデフォルトに設定していない場合) 白いブートスプラッシュ画面で Ctrl + L を押して SeaBIOS を起動します。
  • Esc を押してブートメニューを表示して USB ドライブの番号を選択してください。

Arch Linux インストーラのブートメニューが表示されるので、通常通りにインストールすることができます。

ノート: ブートローダーとして GRUB を選択し、パーティションスキームとして MBR または GPT を選択することができます。GPT を選択した場合は BIOS Boot Partition を忘れずに追加してください。既知の問題も参照。

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 に設定します。
ノート: 一部の人々が言っていることとは裏腹に、GRUB パーティションはディスクの一番最初のパーティションである必要はありません。どのみち既存の ChromeOS パーティションがあるため最初にするのは至難です。
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 カーネルにまだマージされていない、タッチパッドやタッチスクリーン、スピーカーなどの機能の修正を行います。詳しくは its GitHub のページ を見て下さい。

パッチがあてられたカーネルが必要な場合、上流ソースにパッチがマージされるたびにパッチのリストは小さくなっていくので、パッチのリストを見てパッケージが必要かどうか決めるのを推奨します。最終的には公式の linux パッケージが使えるようになるはずです。

Linux カーネルの詳細はカーネルを見て下さい。

ビデオドライバー

Intel Graphics を見て下さい。

タッチパッドとタッチスクリーン

Touchpad Synapticsタッチスクリーンを見て下さい。

カーネル 3.17 から、関連するパッチは全て上流のソースにマージされたので、core の linux パッケージでタッチデバイスはサポートされています。

タッチパッドの設定

タッチパッドを設定する方法はいくつかあります:

  • あなたが使っている Chromebook 機種の ArchWiki ページに (Chromebook 機種一覧を参照) タッチパッドの xorg.conf.d ファイルがないか見て下さい。
  • KDESynaptiks などのタッチパッド設定ツールを使う。Synaptiks はメンテナンスがされておらず KDE 4.11 ではクラッシュすると書かれていますが、KDE 4.12.2 では問題なく動作します。別のユーティリティ、kcm_touchpadAUR は全く使えません。

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 の設定を再生成してください。

音声出力の修正

Haswell が搭載された機種

以下の設定をすることで音声関連の問題が解決することがあります。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
  • [7]~/.asoundrc ファイルを使用。
  • ヘッドフォンに問題が起こる (何も音声が流れない) 場合、alsactl restore を実行してみてください。ヘッドフォンまたはスピーカーが使用されているときに ALSA が自動的にチャンネルを切り替えます。
  • PulseAudio での Flash プラグインの音声を修正するには [8] にある ~/.asoundrc ファイルを使って下さい。

Chromebook Pixel 2015

linux-samus4AUR には Broadwell SoC サウンドデバイスのパッチが含まれています。GitHub ページ にサウンドデバイスを初期化する方法が載っています。

ホットキー

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 の設定例は [9] を参照。

xbindkeys の設定

xbindkeys を使ってホットキーを設定する方法もあります。xbindkeys の他に amixer, xorg-xbacklight, xvkbd が必要になります。

別の xbindkeys の設定

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

  • [11] からスクリプトをダウンロード
  • 実行可能属性を付与
$ chmod u+x ~/.local/bin/volchange

[12] を見て ~/.xbindkeysrc を設定してください。

xkeyboard-config にパッチをあてる

xkeyboard-config-chromebookAUR をインストールする方法もあります。詳しくは [13] を参照。

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インストールして、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 を使って下さい。

参照