Install Linux on a Chromebook

January 10, 2016

You may be disappointed to see very little detail here, and that’s okay. My aim isn’t going to be to tell you how to do a thing when I write little guides like this, but to demonstrate that it is indeed possible. I will always link to the resources I used and if I had to do anything special I’ll make a note of it.

First things first, we are going to set up our Chromebook, use it for a bit, and find out whether or not we actually want to go through with this. Because, as with all modifications, hacks, changes, or unauthorized screw removal; warranties will be voided, and machines may become large paperweights. Hey, maybe ChromeOS is just what you need, and the risks are greater than the potential benefits.

The next thing we’ll need to do is disable the hardware write protect. As it turns out, this is done with a screw inside the machine.

There’s a likely suspect in the upper left corner. Notice the copper layer that the screw is using appears to be split in half. Also, it’s really the only screw that looks different for no apparent reason. You will want to test I imagine, so I don’t recommend putting any screws back in your bottom housing just yet.

ASUS interior view

I decided that rather than loosen or remove the screw, I would make a non-conductive washer out of paper in order to disable the protection. Just like that, my warranty is now voided! The next steps come from the fairly well-known John Lewis, and his script for re-writing the firmware on the Chromebook. I’ll wait here while you follow those directions.

BOOT_STUB modifies the last 1MB of the ROM, removing the scary developer screen, but also removes the ability to run ChromeOS natively, carrying a chance of bricking your device. This also leaves the “REFRESH + POWER” functionality of the stock ROM intact, meaning, when you press these keys, the device will immediately reboot and attempt to run ChromeOS Recovery (which isn’t there anymore), and give you a blank screen. The only way to then stop it from attempting to run ChromeOS Recovery on every boot, is to take the device apart and disconnect the battery.

That bears repeating, since the current* only option with this method is to write to BOOT_STUB, this is the risk we are taking. Of course, if it bricked my computer I probably wouldn’t be writing a HOWTO for it.

Once you’ve gone through the process of disabling the hardware write protection, modifying the computer firmware, and rendering your computer unable to boot; you will want to install an Operating System. I tried two, Slackware and Arch Linux. My usual preference is for Slackware, but in this case I found Arch to be more easily compatible out of the box. It’s important to use the tool that fits best. Plus, a bit of SystemD experience shouldn’t hurt too much! I’m not going to outline installing Arch Linux here, they have an extremely comprehensive wiki with all of the information you could need. I will suggest installing the wireless Internet configuration tools of your choice during the installation process though, because it will save you a massive headache on a device that doesn’t take wired Internet.

Best of luck!

*Update! After using Arch Linux on the Chromebook for a few months, it’s been pretty stable and I’ve avoided hitting the REFRESH + POWER combo that could temporarily brick the notebook. Looking back to John Lewis’ website it appears that a newer version of the script can install something other than BOOT_STUB. I’m not curious enough to try right now.