Revision as of 00:42, 30 December 2013

The Acer C720 Chromebook (and newer chromebooks in general) features a "legacy boot" mode that makes it easy to boot Linux and other operating systems. The legacy boot mode is provided by the SeaBIOS payload of coreboot. SeaBIOS behaves like a traditional BIOS that boots into the MBR of a disk, and from there into your standard bootloaders like Syslinux and GRUB.

Enabling SeaBIOS

After changing to developer mode, configure Chrome OS so that you can log in.

To enable the legacy bios:

Open a crosh window with Ctrl+Alt+T.

Open a bash shell with the shell command.

Become superuser with sudo bash

Enable legacy boot with:

# crossystem dev_boot_usb=1 dev_boot_legacy=1

Reboot the machine

You can now start SeaBIOS by pressing Ctrl-L at the white boot splash screen.

Installing Arch Linux

Create a USB drive with the Arch Linux installer. Plug the USB drive into the Chromebook, and start SeaBIOS with Ctrl-L at the white boot splash screen. Press Esc to get a boot menu and select the number corresponding to your USB drive. The Arch Linux installer boot menu should appear. Follow your favorite installation guide.

A few installation notes:

For a 64-bit installation, use the 2013.10.01 ISO, and boot into the x86_64 installer with the mem=1536m kernel option.

A fresh DOS partition table on the SSD with one bootable 16GB root partition works. Note that this will wipe Chrome OS.

Xorg Video Driver

Use the xf86-video-intel driver.

$ sudo pacman -S xf86-video-intel

Touchpad Kernel Modules

Enabling the touchpad currently requires building a set of patched Haswell Chromebook kernel modules. Fortunately, ChrUbuntu provides a script for automatically building and installing these modules: cros-haswell-modules.sh.

Power Key and Lid Switch Handling

Out of the box, systemd-logind will catch power key and lid switch events and handle them: it will do a poweroff 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. Also, recovering from a suspend also does not seem to be fully working at the moment.

To configure logind to ignore power key presses and lid switches, add the lines to logind.conf below.

Unresolved Issues

The 64-bit installer in Arch Linux installation ISOs newer than 2013.10.01 causes an immediate system reset

Recovering from a systemd suspend

Syslinux fails to set the bootable flag with syslinux-install_update -i -a -m. After setting the bootable flag manually in fdisk and installing Syslinux to the MBR with syslinux-install_update -i -m, SeaBIOS boots syslinux, but syslinux then complains about a missing OS. Use GRUB for now.