Complete Crouton Installation Guide (Linux on any Chromebook)

What is Crouton?

Crouton stands for Chromium OS Universal Chroot Environment. It allows you to run full Ubuntu on top of Chrome OS. Unlike dual booting, you can easily switch between Ubuntu and Chrome OS with a keyboard shortcut, no reboots necessary.

Why install Crouton?

Full Linux power. Linux is a powerful operating system that is highly customizable and has a library of great open source applications. If you’ve ever wanted to give Linux a try, now is your chance.

Speedy and reliable. Crouton runs alongside Chrome OS and doesn’t skip a beat in terms of speed. The full Linux desktop is only a keyboard shortcut away so it is there only when you need it.

Software and Games. Your Chromebook will be able to run full open source office applications among other software including Steam and Minecraft! The Chrome Web Store is not bad but it does not compare to installing full-fledged desktop applications and Steam games.

Caveat: Crouton works by creating a chroot, which is sort of like virtualization (but not quite). Since chroots allow for viewing your hardware devices, including the entire contents of memory which makes your Chromebook vulnerable to a root exploit. However, the benefits outweigh this caveat especially if you’ll use Linux only when you need it. You can also choose to encrypt your chroot. More info on this in the actual guide.

What Chromebooks are Compatible with Crouton?

Crouton works on ANY Chromebook, but for this guide, I will be installing it on a Broadwell based Intel i3 Toshiba Chromebook 2 (2015 Edition). However, you can use this guide for any Chromebook, the process is the same across the board.

Crouton vs Other Methods

Crouton isn’t the only method you can use to install Linux on your Chromebook. There are other ways to accomplish this each with their own pros and cons.

Method

Notes

Crouton (This Guide)

Runs alongside Chrome OS. You can easily switch between Linux and Chrome OS by a simple keyboard shortcut. Recommended for everyone and beginners.

ChrUbuntu

Traditional dual-boot environment. On boot, you can choose which operating system you want to run. Now defunct and not updated. See Chrx below.

Chrx

Traditional dual-boot environment. On boot, you can choose which operating system you want to run. Only works on some Chromebooks. Allows you to install several different distributions, including GalliumOS which is made specifically for Chromebooks. For advanced users.

Full Native Linux

Removes Chrome OS from your Chromebook and turns it into solely a Linux machine. May require you to work out several bugs after installation depending on the distribution you’re installing. Will require you to open up your Chromebook, remove BIOS write protection and flash it with a custom BIOS. For advanced users.

How to Install Linux on any Chromebook (Crouton Method)

Now that you know the different ways of installing Linux on your Chromebook, we’ll move one to install it via Crouton. This comprehensive guide will guide you through each step with helpful tips along the way.

Basic overview of steps:

Upgrade your SSD (optional)

Enable Developer Mode

Install Crouton

Configure installation

Enter chroot

Optimize your installation

Update drivers

Install applications

How to Log Out

Step One: Upgrade your SSD (optional)

Chromebooks by default do not come with a lot of internal storage space. After all, they’re meant to be primarily cloud-based devices. But with a full installation of Linux, you would benefit from having extra storage space for software, games, and media.

Some Chromebooks allow you to swap the internal SSD to a bigger one. Depending on the model of your Chromebook will determine if you are able to do this. I highly recommend it if your Chromebook is compatible.

I’ve written a guide on how to do this specifically for the Toshiba Chromebook 2 (2015) model here. The process is basically the same for other models but will vary when getting into the internals and the location of the actual drive.

Step Two: Enable Developer Mode

In order to install Crouton, your Chromebook will need to be in developer mode.

Please Note: Developer mode will wipe your local storage. Be sure to backup any files that are on your drive before enabling developer mode.

Step Three: Install Crouton

Now, we will install Ubuntu via Crouton. Before doing this you should make a few decisions:

Desktop Environment – Unity of Xfce?
Xfce is less graphic intensive and as such is recommended for lower end systems that have less processing power, such as Baytrail or Celeron models. If you have an Intel i3/i5/i7 Chromebook I recommend using Unity.

Encryption vs. No Encryption?
If you would like to encrypt your chroot to add more security you can enable this option when installing Crouton. This will add an additional password prompt when entering Ubuntu.

Enable Touch
If your Chromebook display doubles as a touch screen (eg Chromebook Pixel) you can turn this option on.

Choose your Ubuntu release
This is entirely up to your personal preference but by default, Crouton will install Precise (Ubuntu 12.04). You may want to use Raring (13.04) or Trusty (14.04). I personally prefer Trusty because of its stability. For more information about Ubuntu releases, check here.

Install browser extension and/or Xiwi
The Crouton browser extension allows you to have synchronized clipboards, the option of using Chromium OS to handle URLs and allows chroots to create graphical sessions as Chromium OS windows. The downside to running chroot in a tab is that it has graphical limitations and does not have enough power to run Linux games.

Once you have an idea of what you want you can begin installing Crouton by following these steps.

Press Ctrl+Alt+T to bring up a terminal on your Chromebook.

At the Terminal, run the following command to enter a Ubuntu shell:

shell

Next, you will type out your install script. This will change based on the decisions you made above.For example, if you want to install Ubuntu 14.04 (Trusty) that uses the Unity desktop environment and browser extension, you would type this:

sudo sh ~/Downloads/crouton -r trusty -t unity,extension

I recommend the above for Intel i3/i5/i7 Chromebooks and the following for Celeron based Chromebooks:

sudo sh ~/Downloads/crouton -r trusty -t xfce,extension

Breakdown of parameters

As you can see from the install scripts above, there are many options when installing Crouton. In this section, I will break down what each of the parameters means so that you can install the exact setup you want.

The -r parameter specifies which Ubuntu release you want to use. Run

sh ~/Downloads/crouton -r list

to list the recognized releases and which distros they belong to. Replace trusty with the release you want to install (eg -r precise or -r raring).

The -t parameter denotes target. You must always type this in your install script.

Decide on the unity or Xfce desktop environment and add it after typing -t. (eg -t unity or -t xfce)

The -e parameter is used when you run crouton to create an encrypted chroot or encrypt a non-encrypted chroot.

Add touch to the end of your install script to enable your installation for touchscreen Chromebooks.

Once you type your install script and press enter, Ubuntu should begin to install!

Switching between Ubuntu and Chrome OS

Press Ctrl+Alt+T to bring up a terminal on your Chromebook.

Type shell and press enter.

At the terminal type:

sudo startunity

or

sudo startxfce4

Depending on which desktop environment you installed.

If you chose encryption, enter your password.

If you used xiwi and you’re running in a browser tab, you’ve now got Ubuntu running in one of your Chrome tabs. You can resize it as you see fit. Remember that Chrome has a fullscreen mode and a dedicated button to toggle this on and off.
If you’re not running it in a tab, then you’ll be in fullscreen by default. To change back and forth between Ubuntu and Chrome OS, press and hold the following keys:Control+Alt+Shift+Forward

Congratulations! You’ve now installed Ubuntu and figured out how to switch back and forth from operating systems.

Updating your chroot

Ubuntu may stop working after a Chrome OS update. If that’s the case, update all the installed targets using the following command.

In Chrome OS, open a terminal using Ctrl + Alt + T, then type “shell” and:

sudo sh -e ~/Downloads/crouton -u -n chrootname

Where “chrootname” is the name of the chroot you want to update. For example, if you’ve installed Ubuntu 12.04 Precise, the default chrootname is “precise”, or if you installed Ubuntu 14.04 you would use “trusty.”

The journey isn’t over yet, you’ll have to optimize your installation and install software. Go on to the next section to learn more.

Step Four: Optimize your Linux installation

To make your Ubuntu installation awesome and run smoothly you might have to tweak it some. Here are few tips I have gathered that may be able to help you!

Tips

The Downloads folder in Chrome OS is the same as the Downloads folder on the Linux desktop, so if you download or create a file in one environment, you can put it in the Downloads folder to make it available in the other as well.

Update Drivers

This step is critically important for Broadwell-powered Chromebooks, including:

Acer Chromebook 15

Acer C910

Google Chromebook Pixel

Acer C740

Dell Chromebook 13

Toshiba Chromebook 2 (2015)

In Ubuntu, open a terminal and run the following commands, one by one:

Fix Glitches

If you’re using XFCE, you should disable the screensaver, which can cause graphics issues in Chrome OS.

If you’re on a Chromebook Pixel, everything will be tiny and you’ll immediately want to adjust your display resolution. In Unity, this is very easy: in system settings, adjust the display resolution to 1600×1024 (3:2) which instantly makes everything look great across the entire UI. In XFCE, you’ll have to do a bit more work: you can adjust the resolution, adjust the icon size, and so on. Also, see the Crouton Wiki for more information.

To fix text glitches and missing characters if you have them, open a terminal and run this command:

sudo apt-get install ttf-ubuntu-font-family

By default, the brightness and volume keys don’t work. To fix them, you can install the “keyboard” target. Exit Ubuntu, open the Chrome OS terminal by pressing Ctrl + Alt + T, then type “shell” and then use the command below:

sudo sh -e ~/Downloads/crouton -r ubuntuversion -t keyboard -u

Where “ubuntuversion” is the Ubuntu version you’ve installed (“precise”, “trusty”, etc.)
This will add the “keyboard” target to the existing chroot.

Then, assign these custom shortcuts the brightness keys (you can directly assign the brightness keys or use Search key + brightness keys, so it’s consistent with the volume keys).

Install software

Upon first installing Ubuntu, open Xterm and run this command:

sudo apt-get update && sudo apt-get upgrade

Install Basic Apps/Tools

By default, Ubuntu comes with only a few applications like Xterm, a file manager, and other small apps. On every new build, I personally install Gnome Terminal, gedit (text editor), and file-roller (archive manager). To do this open a terminal and run:

sudo apt-get install gnome-terminal file-roller gedit

Install Tweak Tools

With tweak tools you can customize your desktop with far more flexibility than you can with the default options. There are two great tweak tools you will want to add: unity-tweak-tool and gnome-tweak-tool. To install these, open a terminal window and run:

sudo apt-get install unity-tweak-tool gnome-tweak-tool

Oddly enough, you won’t find entries for either tool in the dashboard, so you have to run them from the terminal. The apps are run with the following commands:

unity-tweak-tool

gnome-tweak-tool

With each tool, you’ll gain significant control over the look and feel of your desktop.

Install the Software Center

sudo apt-get install software-center

Through the software center, you can install popular applications like Firefox, games, and other Add-ons.

Install Skype

Install LibreOffice

Step Five: How to Log Out

Once you’re done in Ubuntu, log out using the “Log Off” command and wait for the system to log out and for the shell prompt to reappear. At that point, you can close out that tab and go back to Chrome OS as usual.

To log back in follow the latter half of step 3 again. To switch back and forth use Control+Alt+Shift+Forward.

Enjoy your Linux installation! In the comment section below, let me know how you are liking it (or not) and if you have any post-install tips or suggestions!

Deleting Crouton

If for some reason you want to remove your Ubuntu installation completely it is easy to remove. On boot at the “OS Verification Off” screen, simply press the space bar. This will wipe your Chromebook files that are stored on your internal drive so backup any files before doing this.

Awesome Edreih, more and more I want a new “Chomebook Pro” (not a new Macbook Pro),

clixbou

Hi Edreih, I found the Linux kernel for 14.04 trusy is 3.8.11 via uname -r. Docker images require 3.11. Thus I tried manually upgrading kernel following Ubuntu docs, with no luck. So I triggered the Ubuntu 16.04 upgrade (I was pretty careful) but this hosed my crouton Ubuntu environment. The OS runs from terminal but the the nice UI menus are missing. Long story short, do you have any docs, or have you tried to run 16.04, or any advice?

clixbou

Ok, apparently 16:04 isn’t Crouton ready, I reverted back to 14.04 LTS linux kernel 3.8.11 (I do full stack webdev, PRPL pattern polymer, node, bower, firebase). A 3.10 Linux kernel is the minimum requirement for Docker. Kernels older than 3.10 lack some of the features required to run Docker containers. I may try an ephemeral VM of GCP (pretty sure kernel will be latest).

Art Kautz

This is the first set of directions I have read that go this done – a little nerve-wracking, but it worked. The only thing not clear is exiting and powering down. I think this is still in developer mode and remains that way. Therefore, you have to be careful when powering it up or it gonna be reload city! Been there, done that! In the update drivers section, there were a lot of commands entered in terminal. The first line worked, after that it didn’t. If I remember correctly, the error was command add-apt not found. Oh, and if there is a flash drive installed, it isn’t fond of that either as it looks there first for the operating system – which it doesn’t find. I don’t know if there is a fix for that – unless exiting developer mode fixes that.