X
Innovation

​How to add Linux to your Chromebook

With a sufficiently advanced Chromebook, you can now install and run Linux natively on it.
Written by Steven Vaughan-Nichols, Senior Contributing Editor

It's long been possible to run Linux on a Chromebook. That's no surprise. After all, Chrome OS is a Linux variant. But, doing it by using either Crouton in a chroot container or Gallium OS, a Xubuntu Chromebook-specific Linux variant, wasn't easy. Then, Google announced it was bringing a completely integrated Linux desktop to the Chromebook.

Today, with a properly-equipped Chromebook and the bravery to run canary code, you can run Debian Linux on your Chromebook. Here's how to do it.

This new Chromebook Linux feature is Crostini, the umbrella technology for getting Linux running with Chrome OS. Crostini gets enough Linux running to run KVM, Linux's built-in virtual machine (VM). On top of this, Crostini starts and runs LXC containers. You won't see it, unless you look closely, but it's in those containers that your Debian Linux instances are running.

Eventually, anyone with a newer Chromebook will be able to run Linux. Specifically, if your Chromebook's operating system is based on the Linux 4.4 kernel, you'll be supported. But we're not there yet. It's also possible that older Chromebooks, running Linux 4.14, will be retrofitted with Crostini support.

Officially, you need a Pixelbook, Google's top-of-the-line Chromebook, to run Linux. But, users have found a dozen other models can run Crostini with half-a-dozen others expected to be supported soon. Chromebooks that can already use Crostini include newer Intel-powered Chromebooks from Acer, Asus, HP, Lenovo, and Samsung. Dell models will start getting supported later this year.

I used my best-of-breed Pixelbook with its 1.3GHz quad-core Intel Core i7-7Y75 processor, 512GB SSD, with 16GBs of RAM for my tests. This is the fastest Chromebook on the market. It's not cheap, at a list price of $1,399, but it's worth it if you want to push Linux on the Chromebook's limits.

Once you have the hardware you need, you must switch your Chromebook from the stable update channel to the dev channel. This is alpha software and it updates about once a week. Let me make this absolutely clear: This is not stable software. It will blow up at times. But, faint heart never won fair technology discoveries.

This is a bigger decision than it looks at first. You'll lose all your local data if you try to go back to the stable, or even beta, channels. With a Chromebook that's not much of a problem since most of your data and settings are kept on the Google Cloud, it's still worth keeping in mind.

If you want to wait and be safe, Crostini support is expected to enter the stable channel with Chrome OS 69 in mid-September.

To make the switch to dev, take the following steps:

  1. Sign in to your Chromebook with the owner account.
  2. Click your account photo.
  3. Click Settings.
  4. At the top left, click Menu.
  5. Scroll down and click About Chrome OS.
  6. Click Detailed build information.
  7. Next to "Channel" click Change channel.
  8. Pick a channel.
  9. Click Change Channel.
  10. Your Chromebook will download the dev channel update. It will then ask you to restart your Chromebook.

Once that's done, if you're not using a Pixelbook you may need to set a Chrome flag to access Linux. You do this by entering: chrome://flags on the Chrome browser's address line. This command displays all of Chrome's experimental features. Scroll down the list until you find:

#enable-experimental-crostini-ui

Activate this, and your system may be ready to go. I say "may" because to run Crostini your Chromebook must not only be on the dev channel, but Google must also have enabled the Linux VM for your hardware.

The easiest way to confirm that a particular Chromebook works with Linux is to follow the above steps and then open Chrome OS's built-in shell, crosh, and run the shell command:

vmc start termina

If you get a message such as "ERROR: command 'vmc' is not available", you're out of luck. But, if you see a terminal, congrats, you've just found a new Chromebook that's Linux-ready.

Next, head to Chrome OS settings (chrome://settings), scroll down to to "Linux (Beta)" and activate it.

Now, open the app switcher by pressing the Search/Launcher key and type "Terminal". This launches the Termina VM, which will start running a Debian 9.0 Stretch Linux container.

Congratulations! You're now running Debian Linux on your Chromebook.

From here you can install and run programs using Debian's normal software commands. For example, to update my new Linux system and install the lynx web browser, I'd run:

$ sudo apt-get update

$ sudo apt-get upgrade

$ sudo apt install lynx

Crostini Linux running Lynx

With Crostini, you can now run Linux and Linux applications, such as Lynx, on a Chromebook.

sjvn

While you could install pretty much any program on your new Linux instance, I gave a shell-based program example because accelerated graphics and audio aren't working yet. So, while you could install Cinnamon, my favorite Linux interface, or Steam for games, it's not fast enough even on a maxed out Pixelbook to be that enjoyable. Not yet anyway.

In addition, many graphics-based programs, such as the photo-editor Gimp, won't run yet on Crostini. Give it time to mature before trying to get too fancy with heavy graphics software.

Soon, though, Linux and Chrome will be a matched pair. Come that day, I see high-end Chromebooks becoming the laptops of choice for developers.

In the meantime, if you want to do more with Linux and Chromebook, check out the excellent Reddit Crostini Wiki. For up-to-the-minute hands-on information about Crostini, its parent Reddit forum is the best resource on the web.

Enjoy!

Related Stories:

Editorial standards