Difference between revisions of "Dell Chromebook 11"

From ArchWiki
Jump to navigation Jump to search
(remove touchpad and touchscreen kernel modules, it's in the chromebook page))
(remove fixing suspend, it's already on the chromebook page)
Line 72: Line 72:
  
 
Reboot for the touchpad to become operational.
 
Reboot for the touchpad to become operational.
 
=== Fixing suspend ===
 
 
The following are instructions to fix the suspend functionality.
 
 
Create the following {{ic|cros-ehci-disable.conf}} file. This unbinds the ehci-pci driver at boot, which spams the system journal on wakeup.
 
 
{{hc|head=/etc/tmpfiles.d/cros-ehci-wakeup.conf|
 
output=w /sys/bus/pci/drivers/ehci-pci/unbind - - - - "0000:00:1d.0"}}
 
 
Then, create the following {{ic|wakeup}} file. This disables all resume triggers from S3 except the lid, and therefore prevents random wakeups due to hardware interrupts. Feel free to experiment to see which of the /proc/acpi/wakeup switches actually causes this behavior, and update this wiki page.
 
 
{{hc|head=/usr/lib/systemd/scripts/wakeup|output=
 
echo LID0 > /proc/acpi/wakeup
 
echo TPAD > /proc/acpi/wakeup
 
echo TSCR > /proc/acpi/wakeup
 
echo EHCI > /proc/acpi/wakeup
 
echo XHCI > /proc/acpi/wakeup}}
 
 
Create a systemd service file for it as well:
 
 
{{hc|head=/usr/lib/systemd/services/wakeup.service|output=
 
[Unit]
 
Description=Prevent random wakeups
 
 
[Service]
 
Type=oneshot
 
ExecStart=/usr/lib/systemd/scripts/wakeup
 
 
[Install]
 
WantedBy=multi-user.target}}
 
 
Enable and start the service:
 
 
# systemctl enable wakeup.service
 
# systemctl start wakeup
 
 
Then, add the following kernel boot parameters.
 
 
{{hc|head=/etc/default/grub.cfg|
 
output=GRUB_CMDLINE_LINUX_DEFAULT="quiet tpm_tis.force=1 tpm_tis.interrupts=0"}}
 
 
Finally, [[GRUB#Generating main configuration file|rebuild your grub config]] and reboot.
 
  
 
== Post Installation Configuration ==
 
== Post Installation Configuration ==

Revision as of 19:14, 19 September 2014

The Dell Chromebook 11 (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.

The instructions for getting Arch Linux to work on this machine are similar to the Acer C720 Chromebook, with a few differences.

Installation

First enable legacy boot / SeaBIOS from the developer mode of Chrome OS. Then install and boot Linux as you would on a traditional x86 BIOS system.

Enabling Developer Mode

See the Chromebook page.

SeaBIOS

Warning: This may screw up the RW part of your firmware! If this happens, you must use a ChromeOS recovery stick to reset it.

The version of SeaBIOS that ships with the Dell Chromebook doesn't work properly, and therefore you must patch it in order to get it to work.

# cd ~/Downloads
# flashrom -r image.rom
# dd if=seabios.cbfs of=image.rom seek=2 bs=2M conv=notrunc
# flashrom -w image.rom -i RW_LEGACY
  • 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

Continue by following the Installation on a Haswell Chromebook.

Touchpad Configuration

  • Edit Xorg touchpad configuration file

Add the Xorg touchpad configuration below for better usability (increases touchpad sensitivity).

/etc/X11/xorg.conf.d/50-cros-touchpad.conf
Section "InputClass" 
    Identifier      "touchpad wolf cyapa" 
    MatchIsTouchpad "on" 
    MatchDevicePath "/dev/input/event*" 
    MatchProduct    "cyapa" 
    Option          "FingerLow" "5" 
    Option          "FingerHigh" "10" 
EndSection

If you want to remove the "Right Click" behavior from the touchpad from the bottom right area (you can still right click with two finger clicks), you should comment out the following section from /etc/X11/xorg.conf.d/50-synaptics.conf

/etc/X11/xorg.conf.d/50-synaptics.conf
#Section "InputClass"
#        Identifier "Default clickpad buttons"
#        MatchDriver "synaptics"
#        Option "SoftButtonAreas" "50% 0 82% 0 0 0 0 0"
#       To disable the bottom edge area so the buttons only work as buttons,
#       not for movement, set the AreaBottomEdge
#       Option "AreaBottomEdge" "82%"
#EndSection
  • Use graphical tool

Synaptiks is a touchpad configuration and management tool for KDE. It provides a System Settings module to configure basic and advanced features of the touchpad. Although it is said to be currently unmaintained. and seems to crash under KDE 4.11, it works well with this Chromebook, KDE 4.12.2. Another untility, kcm_touchpad, does not work at all.

Reboot for the touchpad to become operational.

Post Installation Configuration

For information on general Chromebook post installation configuration (hotkeys, power key handling ...) see Chromebook#Post_Installation_Configuration.

Audio

The audio configuration is similar to the Acer C720.