Chrome hacking

It's easy to make your Chromebook more than the sum of its parts

A Chromebook can be a great purchase even if you never step outside of Google's trusted environment. They are some of the best web machines ever built, require almost no software maintenance, and come in a myriad of different styles and price points. We love the things, and the numbers say we're not alone.

But like anything electronic, sometimes it's fun to push the envelope and do things a little outside of the intended use. Sometimes that means hidden features in the software, sometimes it means altering the software, and sometimes it means replacing the software entirely. We're familiar with people doing just that with Android, but it's also pretty easy to do with your Chromebook. The best part is that it's also very easy to go back.

Let's have a look at what you need to get started, and where to begin.

Create a recovery image

Chrome recovery image

Before you start doing anything it's always a good idea to have a path back to a time when everything worked. Luckily, that's fairly easy when we're talking about a Chromebook.

Google has an official tool that will install the factory-issued software to your Chrome device on a 4GB or larger USB stick or SD card. You can then use this media to restore your Chromebook just like it was fresh out of the box.

Google has full instructions on using their tool here but here's the process in a nutshell:

  1. Insert the media you'll be using as a recovery disk into a Windows, OS X or Linux computer that you have admin rights on.
  2. Install the correct version of the recovery tool for your platform via the links at Google's site.
  3. Run the recovery tool and tell it which Chrome device you're building a restore image for.
  4. When you're finished, use the media you created to restore your Chromebook from recovery mode. Full instructions for the various models are right here.

Reboot and enjoy your factory-fresh software!

Change to the beta or dev channel

Channel surfing

This is really simple and something I recommend. By default, your Chromebook runs on the stable release channel for your model. This means everything has been tested, things run pretty smoothly, and there usually aren't any critical bugs to trip you up.

That's absolutely no fun.

The good news is that we all can be testers by switching the software channel in the settings. Click the Chrome OS wrench icon in the lower right and open the settings. Choose About Chrome OS > More Info. Click the Change Channel button and choose between Stable, Beta and Dev - Unstable channels in the popover window that appears.

Both the beta and the dev channel give you access to upcoming (both default and experimental settings — see below) features that aren't in the stable channel just yet. I've always found the beta channel to work pretty well, but expect issues and glitches on the dev channel along with the latest features.

If you just want everything to work, switching back to the stable channel is just as easy — choose it from the same list!

Tweaking the settings

Chrome flags

Chrome — both the operating system and the stand alone browser for Windows Mac and Linux — has an entire page filled with "experimental" settings. Some will absolutely break things, others might improve your experience. Find them is simple.

Fire up the browser and enter chrome://flags into the Omnibox (a fancy name for the URL bar in Chrome) then hit enter.

You'll be faced with a huge list of features that you can enable or disable at will. All of them are experimental, some are serious security holes, others are potential oh-crap-I-need-to-reload-EVERYTHING bringers of doom. We don't recommend you just jump in and start enabling things. Instead, talk to people who are using the same model of Chromebook that you are and find out what works and what doesn't.

It's also worth remembering that these experimental flags can disappear at any time. Some may be merged into the OS, others will just up and disappear. If you do enable something, lets say for example, GPU compositing, and it breaks everything (yeah, I've been there), you have your recovery media you made earlier to save your bacon.

Install Linux


One of those complicated things that has been made simple by the work of great developers, installing Linux on your Chromebook is a great way expand its capabilities. Chrome OS is a flavor of Linux, but it's been trimmed down and many features have been removed. We're going to look at the simple (and in my opinion the best) way to build a dual-boot environment so you have both Chrome OS and Ubuntu LTS using David Schneider's excellent tool called crouton (Chromium OS Universal Chroot Environment).

You'll need to enable developer mode on your Chromebook, and the method varies from device to device. You may need to flip a hidden switch, or enter a key combination during boot. You can find exactly how to enable developer mode for your Chromebook on Google, and once you've done that everything else is the same no matter which model you use.

Once you're a developer (or at least in dev mode) you'll need to head to the crouton project page at github and download the script from the top of the page. Save it to your Downloads folder and you're ready to get started.

Open a terminal (I told you Chrome OS was Linux) by pressing Ctrl+Alt+T and enter the word shell to open a shell.

Next, run crouton to see all the help text and examples like this:

sh -e ~/Downloads/crouton

Read everything you find there, as these are your options and tell crouton what to install. If you don't understand an option, ask someone. Also, read the help section at the crouton github page for examples and hints.

Once you have crouton set up, you'll be able to swap between Chrome OS and a full fledged install of Linux (Ubuntu LTS) at will.

While I like the flexibility of having both Chrome OS and Ubuntu on the same machine, you may want to be rid of Chrome OS completely. If you're interested in replacing Chrome OS with Ubuntu, have a look at the ChrUbuntu project here. If you want to replace Chrome OS on your Pixel with Debian Wheezy, grab a beverage and have a look here.

Building Chromium yourself

Chromium master

If you're an advanced user, or want to tackle an ambitious project with the ultimate Chromey reward, you can build Chromium yourself for your Chromebook.

This isn't all that difficult if you're familiar with building a big software project, but it can be pretty daunting for a first-timer. Everything you need to know is at the Chromium Project pages but it breaks down into a few basic steps:

Everything is documented and if you can follow directions you should be able to build and install Chromium with any Windows, Linux or Mac computer. Just like building Android yourself, this allows you to customize just about anything you can think of before you build it. And just like building Android, if you don't make any changes you have the same basic system you would have if someone else did the building and you just installed it. Building Chromium is an excellent way to learn a few things and see how the process works, but don't expect software made of miracles and unicorns when you're done.

These are just a few of the neat hackery tricks you can do with your new Chromebook. And like everything else, it may turn out that none of it is for you and you prefer things that just work as intended. That's cool, and sometimes when I'm staring at the screen of a device that won't boot, I'm right there with ya.

If you do want to dive in and have a go at Chrome OS, this is how I do it. Tell me how you do it in the comments, I'd love to hear about it!