Netbooks are dead, long live the Chromebook. Lewin Day wrote up a proper trip down Netbook Nostalgia Lane earlier this month. That’s required reading, go check it out and come back. You’re back? Good. Today I’m making the case that the Chromebook is the rightful heir to the netbook crown, and to realize its potential I’ll show you how to wring every bit of Linuxy goodness out of your Chromebook.
I too was a netbook connoisseur, starting with an Asus Eee 901 way back in 2009. Since then, I’ve also been the proud owner of an Eee PC 1215B, which still sees occasional use. Only recently did I finally bite the bullet and replace it with an AMD based Dell laptop for work.
For the longest time, I’ve been intrigued by a good friend who went the Chromebook route. He uses a Samsung Chromebook Plus, and is constantly using it to SSH into his development machines. After reading Lewin’s article, I got the netbook bug again, and decided to see if a Chromebook would fill the niche. I ended up with the Acer Chromebook Tab 10, codename Scarlet. The price was right, and the tablet form factor is perfect for referencing PDFs.
The default ChromeOS experience isn’t terrible. You have the functionality of desktop Chrome, as well as the ability to run virtually any Android app. It’s a good start, but hardly the hacker’s playground that a Linux netbook once was. But we can still get our Linux on with this hardware. There are three separate approaches to making a Chromebook your own virtual hackspace: Crostini, Crouton, and full OS replacement.
The Official Solution: Crostini
Crostini is the officially supported way to run Linux applications on a Chromebook. It’s a refined process, if your device supports it. Crostini uses virtualization to sandbox the Linux install, so there are some older devices that will never receive support for it. If you want to use Crostini, make sure you purchase a supported device.
Crostini is particularly simple to set up. Go into the ChromeOS settings, to the Linux section, and press the button to enable it. ChromeOS will download a Debian image and do all the install. It asks you for a username to use, and that’s it. Once it’s set up, you have a Debian system ready to go.
Apt works as expected, and the whole Debian collection of software is available. Any graphical programs are forwarded to the ChromeOS graphical layer, so you can interact with them as expected. Even audio is forwarded.
Crostini is quite flexible, all things considered. You can swap the default Debian system for Fedora, Kali, Arch, or another Distro. On an x86 Chromebook, it’s possible to install Steam and run OGL accelerated games. If you’re looking for a full desktop experience, there are even guides to install a desktop environment like KDE.
There’s even an Unsupported USB flag that can be enabled to forward virtually any device into the Linux VM. Want to program an Arduino? Yeah, it’s possible. Another experimental flag adds the ability to forward ports into the Linux VM. This opens up the ability to do web programming and all sorts of other tasks. The best part about Crostini is that it’s still being actively developed, and features are being added. For example, an experimental audio capture flag was recently added. One of the best resources I’ve found for learning more about Crostini developments is the aptly named r/Crostini subreddit, and particularly their wiki.
As neat as Crostini is, it does depend on your device getting whitelisted by Google. If you’re stuck with hardware that isn’t on the Crostini supported list, there is another option: Crouton.
I won’t wade into the debate on which is tastier, but Crouton does have some distinct advantages. The biggest advantage is that it runs on just about any ChromeOS device that has devmode. Instead of running a VM, Crouton is based on chroot, so direct access to the hardware is possible. On the other hand, Crouton requires putting your device in developer mode, AKA the official rooting process. If you’re willing to commit to dev mode, and the powerwash it requires, then the steps required to install crouton are simple.
Download the crouton binary, install it to the proper location, and run
sudo crouton -t xfce to download and set up the image. Once it’s installed,
sudo enter-chroot startxfce4 starts up the chroot and launches the XFCE desktop. From there, install the Crouton extension and xiwi, and you can run linux application GUIs right on your ChromeOS desktop. It’s a little less refined than Crostini, but does the trick.
Since we have root from dev mode, it’s easy enough to pull a few tricks, like adding a udev rule to redirect devices into the chroot. Want direct access to a built-in camera? Crouton can do it.
Full OS Replacement
For absolute full control over your device, the only option is to ditch ChromeOS altogether and install a Linux distro. On x86 devices, chrx is a popular option for dual-booting a full-fat Linux distro with ChromeOS. Even some Arm models can be convinced to boot a Linux distro that supports their chipset, but beware that you’re way outside the realm of what’s officially supported by Google. Not that that ever stopped us before.
There’s a distro that’s designed specifically for Chromebooks, GalliumOS. It’s a stripped down Xubuntu, designed to run well on the lightweight Chromebook hardware. There is, of course, a catch. GalliumOS can only run on certain devices. Arm devices are totally unsupported, and some older machines have other various incompatibilities.
Google did add support for a legacy boot mode that makes the installation of a full Linux OS much easier. Even if your device has a firmware write-protect switch, it’s probably possible to put the device in dev mode and boot via the venerable BIOS process.
I’ve written most of this article from the Acer tablet I mentioned earlier. The experience reminds me a lot of working from a netbook. I have Crostini installed, and have been working my way though testing out a multitude of programs. Not everything works perfectly, but each update brings fixes and features.
Is a Chromebook the next netbook for you? Maybe. A modern Chromebook is an impressive piece of hardware, and it brings a lot of hackability.
If you go the Chromebook route, be sure to let us know in the comments how it’s worked for you, and send in some other Chromebook related hacks!