— UPDATED 08/14/2016 — Workaround for Ubuntu 16.04 installation! See the end of the post
In this article, we learn how to set up a Chromebook Pixel (samus) with Ubuntu natively, NOT using Crouton and some sort of chroot trick, transforming it into a mobile powerhouse.
First, download an Ubuntu ISO of choice. My favorite flavor is Xubuntu Core, a lightweight essentials-only version with XFCE. It’s a great foundation for anyone wanting to customize a system perfectly suited to their style. ATTENTION: Ubuntu 16.04 users must use a minimal ISO. See below!
ALSO, a USB mouse will be required temporarily. The touchpad and touchscreen will not work until some additional drivers are loaded.
That Ubuntu image needs to be on a bootable USB key if an external optical drive is not available. There are already plenty of guides for doing this depending on the host system, so it will not be covered here. Google has the answer. I recommend mkusb for anyone already using Ubuntu. Many of the other tools are out of date and will not work correctly with newer versions of Ubuntu due to changes in the structure of the image.
Put the Samus into Developer Mode. This will wipe out all user data, so it would be ideal to do this immediately after unboxing a new Pixel.
Hold down Esc and Refresh while turning on the power. Then, Ctrl-D and Enter. This is when the data wipe occurs. ChromeOS will still be available at this point, but not for long.
Boot into ChromeOS by pressing Ctrl-D. To enable booting USB Linux images with SeaBIOS, bring up a terminal by pressing Ctrl-Alt-T. Enter the commands:
crossystem dev_boot_usb=1 dev_boot_legacy=1
Shutdown the system. Plug in the USB key (or optical drive) containing the Ubuntu image.
Power on and immediately press Ctrl-L and then Esc. Select the USB device and proceed with the installation. Wipe out everything and install Ubuntu by itself. I recommend setting up partitions manually (swap etc) if possible, but it isn’t necessary.
Once installation finishes, reboot. Press Ctrl-L and Enter. Ubuntu should boot in the the blink of an eye – seriously fast thanks to the SSD and 5th gen. Intel Core series processor.
The touchpad, touchscreen, and sound don’t work yet. Until drivers get mainlined into the kernel, the amazing Tom Sowell has released a modified package. He’s awesome. Bring up a Terminal and enter the following commands:
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install curl
curl -LO https://github.com/tsowell/linux-samus/releases/download/v0.2.2/linux-samus-ubuntu-0.2.2.tar
tar xvf linux-samus-ubuntu-0.2.2.tar
sudo dpkg -i *.deb
I ran into issues with Tom’s instructions at this point, perhaps due to the Xubuntu Core image I was using. Not totally sure. GRUB needs to be updated, which I had to do by hand. In the terminal:
sudo nano /etc/default/grub
In that file, find the line GRUB_DEFAULT=0 and change it to:
Press Ctrl-O to Save and Ctrl-X to exit. This changes the default boot option to the Samus modified kernel. Finally in the terminal:
This will generate the new GRUB config file. Reboot and behold, a working touchpad and touchscreen. To enable sound, bring up a terminal and enter the following two commands:
ALSA_CONFIG_UCM=ucm/ alsaucm -c bdw-rt5677 set _verb HiFi
Initially the volume was a bit low, but after another reboot everything was nice and loud at max. Also, go into the main Ubuntu Settings > Additional Drivers to enable Intel-specific proprietary microcode. Check out my other blog posts for additional optimizations and configurations.
Enjoy the new Samus powered by Ubuntu!
If a system upgrade occurs and functionality spontaneously disappears, the Linux kernel probably updated and regenerated GRUB. Clean out the old one(s) to get back to normal. In a terminal:
dpkg -l | grep linux-image-
Look at the list carefully. Notice the digits following “linux-image-“. Use the following command, replacing the “XX” with the version number of the unneeded kernel.
sudo apt-get autoremove linux-image-3.19.0-XX-generic
Be sure to leave the modified “samus” kernel and the newest stock kernel (in case something… “undesirable”… happens).
Again, once drivers for the Pixel receive mainline support, all this will become unnecessary. Until then, a little bit of Linux-fu isn’t too much to ask.
August 14, 2016 Update – For Ubuntu 16.04 and other editions experiencing installation issues, here is a workaround!
First, download the Ubuntu Minimal ISO. You will also need a USB to Ethernet adapter, as wireless drivers are not included and all installation packages must be downloaded on the fly.
The installer needs to run in basic low graphics mode. I can’t recall off the top (I only wanted to do this once) but I believe I selected option 7.. It will boot successfully. Then run through normal installation, choosing the desired DE during package selection. In my case it was the full Xubuntu system. Finish up, and reboot.
The mainline kernel has added a lot of support, but some things still aren’t 100%. Update to raphael’s kernel with his included directions, basically a recent version of tsowell’s work.