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?

  1. 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.
  2. 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.
  3. 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)

tux_enhancedNow 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:

  1. Upgrade your SSD (optional)
  2. Enable Developer Mode
  3. Install Crouton
    • Configure installation
    • Enter chroot
  4. Optimize your installation
    • Update drivers
    • Install applications
  5. How to Log Out

Step One: Upgrade your SSD (optional)

SSD upgrade in Toshiba Chromebook 2 (2015)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. 

Follow my guide here   for instructions on how to enable developer mode. It’s a pretty simple process.

Complete Crouton Installation Guide

Step Three: Install Crouton

Firstly, download Crouton by clicking here 

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

  1. 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.
  2. 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.
  3. Enable Touch 
    If your Chromebook display doubles as a touch screen (eg Chromebook Pixel) you can turn this option on.
  4. 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.
  5.  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.
    crouton-browser-extension

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

  1. Press Ctrl+Alt+T to bring up a terminal on your Chromebook.
  2. At the Terminal, run the following command to enter a Ubuntu shell:
    shell
  3. 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

    installing-ubuntu-trusty

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.
  • Add extension for the Crouton browser extension to work
  • Add xiwi to be able to run Ubuntu in a browser tab
  • Read about more parameters/commands on the official Github page.

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

Switching between Ubuntu and Chrome OS 

  1. Press Ctrl+Alt+T to bring up a terminal on your Chromebook.
  2. Type shell and press enter.
  3. At the terminal type:
    sudo startunity

    or

    sudo startxfce4

    Depending on which desktop environment you installed.

  4. If you chose encryption, enter your password.
  5. 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
  6. 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.”

ubuntu-unity-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:

sudo apt-get install software-properties-common python-software-properties

sudo add-apt-repository https://download.01.org/gfx/ubuntu/14.04/main

wget --no-check-certificate https://download.01.org/gfx/RPM-GPG-KEY-ilg -O - | sudo apt-key add -

wget --no-check-certificate https://download.01.org/gfx/RPM-GPG-KEY-ilg-2 -O - | sudo apt-key add -

sudo apt-get update

sudo apt-get upgrade

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, start Ubuntu and use:

    Search key + volume keys to change the volume

    Search key + brightness keys to change the brightness.

    Or you can assign keyboard shortcuts for the two commands mentioned above: System Settings > Keyboard > Shortcuts tab > Custom Shortcuts: click “+” and:

    for increasing the brightness: under “Name” enter “Brightness Up” and under command: “brightness up”

    for decreasing the brightness (click “+” again): under “Name” enter “Brightness Down” and under command, use: “brightness down”.

    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).
    unity-brightness-fix

Install software

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

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

gnome-terminalInstall 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

wrench-flatInstall 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.

untiy-tweak-tool

2000px-ubuntu_software_center_icon_v3-svgInstall 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.

ubuntu-software-center

vlc_icon-svgInstall VLC media Player

sudo apt-get install vlc browser-plugin-vlc

or via the Software Center

minecraft-icon-0Install Minecraft on a Chromebook

You can install Minecraft by downloading the launcher from https://minecraft.net/download or via the terminal:

sudo add-apt-repository ppa:minecraft-installer-peeps/minecraft-installer

sudo apt-get update

sudo apt-get install minecraft-installer

steam_logo_2014Install Steam

You can install Steam via store.steampowered.com or via the terminal:

wget http://media.steampowered.com/client/installer/steam.deb

sudo apt-get install gdebi-core

sudo gdebi steam.deb

wine_linux_logoInstall WINE

Install WINE via the official website. Also, check out PlayOnLinux.com if you want to use it to play games.

1000px-the_gimp_icon_-_gnome-svgInstall GIMP

You can install GIMP via the Software Center or via the terminal:

sudo apt-get install gimp

skypeInstall Skype

Download via the web at http://www.skype.com/en/download-skype/skype-for-linux/

 

libreoffice_icon_mixInstall LibreOffice

Download via the web at https://www.libreoffice.org/download/libreoffice-fresh/

 

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.

  • ConCal

    When I enter “Shell” on the very first step it come back “Error: Unknown Comand: shell” does anyone know what I did wrong? Thanks

    • Hi thanks for your comment and I apologize for the late reply. You must type “shell” all lowercase letters. Commands are case sensitive.

  • clixbou

    “Then, start Ubuntu and use:

    Search key + volume keys to change the volume
    Search key + brightness keys to change the brightness.”

    But which key is the Search key? (using Chromebook pixel 2013)

    • The one with the magnifying glass above the left SHIFT key.

      • Josh

        This shortcut didn’t work for me. I can’t find out how to add a custom shortcut either with Ubuntu 14.04 / Xfce.

  • clixbou

    What is best way to change font size in unity terminal? (too tiny for my eyes)

    I tried $ unity-tweak-tool (pops up an error box). Mac allows me to set text size. THX

    • Hi Clive! I apologize for the late reply. In case you haven’t found the answer, to change the font in XTerm you’ll have to press CTRL and right click in the terminal window. Then drag your mouse to a suitable font size (see picture) https://uploads.disquscdn.com/images/f8662e8da58ff97bbfc6acaba6896840c2b570e6bc2acfea5d1ea0b935f2b54b.png

      I do recommend getting gnome terminal though. It’s easier to customize font size/color too. But that’s just my personal preference 🙂

      • clixbou

        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).