Chromebook Pixel 2

Warning: This article relies on third-party scripts and modifications, and may irreparably damage your hardware or data. Proceed at your own risk.

The Chromebook Pixel 2 is a Chromebook manufactured by Google in 2015. This page details installing Arch Linux on the Pixel 2.

Also see the forum thread: [1]

Enabling developer mode

Enable developer mode as you would on any Chrome OS Device, hold Esc and F3 (refresh icon) with the device powered off, then press the power button and use Ctrl-D to enable developer mode.

Enabling developer mode will wipe all of your data.

Disabling Hardware Write Protect

Power off the chromebook. Carefully peel off the two adhesive strips on the bottom. They will stretch very easily, so push up from the device while peeling, and don't pull from the end of the adhesive strip. Then remove all the screws under both adhesive strips. The lid should just fall off if you rotate it upside down.

Once the device is open, locate the screw with the golden washer located between the left speaker and the USB Type-A port, and completely remove it. Reassemble your chromebook and power it on.

Installation

See Chrome OS devices#Installation.

Dual Booting ChromeOS and Arch Linux

See Chrome OS devices#Alternative installation.2C Install Arch Linux in addition to Chrome OS.

Touchpad, touchscreen and audio

Linux 4.1

Install the linux-samus4AUR package for Linux 4.1 support. You will need to regenerate your GRUB configuration after installing linux-samus4. See [2] for information on how to enable audio and microphone support.

Linux 3.19

Install the linux-samusAUR package. You will need to import 2 kernel signing keys using gpg. Support for the Pixel 2 should be added in Linux 4.1. You will need to regenerate your GRUB configuration after installing linux-samus.

To fix the touchpad, add the file /etc/X11/xorg.conf.d/25-touchpad.conf with the following contents. You will also need to install xf86-input-synaptics.

Section "InputClass"
    Identifier "touchpad"
    MatchIsTouchpad "on"
    MatchDevicePath "/dev/input/event*"
    Driver "synaptics"
EndSection

For audio, see [3].

Keyboard backlight

The keyboard backlight can be controlled through /sys/class/leds/chromeos::kbd_backlight

Keyboard rebindings

The search button acts as a Super_L key, which may be undesirable for keyboard layouts that make good use of this position. Using xmodmap, you can rebind this to whatever you would like. Example using Tab for a keyboard layout with six layers:

$ xmodmap -e "keycode 133 = Tab Tab Tab Tab Tab Tab"

Add this to your .xinitrc to load at login.