What is Chrome os?
Find out what makes up Chromebook OS, the thing that we will spend most of this tutorial circumventing.
Like Android, Chrome OS is a Google project based on Linux. Also like Android, there’s a whole bunch of proprietary services you can use on Chrome OS that you can’t use with Linux, at least not without enduring some peculiar hardship. Whereas Android is mostly written in Java/kotlin and executed via the Android Runtime (ART), apps on Chrome OS can, thanks to Google’s Native Client (Nacl), come in all languages, shapes and sizes. Regardless, they’re all wrapped up in HTML5/ Javascript/css and, despite not always looking like it, they all run through the Chrome web browser.
Chrome apps used to run on desktop versions of the browser too, but this practice was ended in late 2017, mostly due to the rise of progressive web apps – see our interview with Thomas Sigdestad in LXF237. Nowadays they exist only on Chrome OS, so they should probably be called Chrome OS apps.
If you have a suitable Chrome OS device, you can also run Android apps. The parallels continue: there’s an open source Chromium OS, which just like the Android Open Source Project (AOSP) consists of the core parts of the OS without all the proprietary Googley bits. Chromium OS is based on Gentoo, and if you have lots of space, time and memory you can compile your own custom build.
Besides Chromebooks, Chromium OS can run on more or less any machine that can run desktop Linux. As it turns out, the converse is true as well: Chromebooks can run ‘proper’ Linux. As a reader of this fine publication this is a prospect that may excite you; after all, Chromebooks are cheap – some of them, anyway, have great battery life and their hardware is more than capable of running our favourite operating system. All we need is 4GB RAM (you can probably get away with less) and not much more storage space. People have been happily running Linux through
chroot for a while now, thanks to a glorious set of scripts called Crouton: Chromium Os Universal chroot environment, if you must know. We first covered this hackery back in LXF185, and we’ll cover it again in approximately one page’s time, since it remains a great way to run Linux side by side with Chrome OS.
Latterly though, interest has risen in a new and tasty approach: Crostini. This uses Chrome OS’S new Crosvm hypervisor, together with lots of other open source goodness, to run a Linux virtual machine in such a way that won’t endanger the host operating system, but at the same time can integrate nicely with it.
If you’re feeling particularly brave and bold you can also install your favourite flavour of Linux in a dual-boot configuration, either by booting directly from SD card or USB, or by using the handy Chrx utility. Hardware support, particularly for graphics, is somewhere around the ‘not quite there’ stage, so this approach might not
be for everyone. Typically Chromebooks have touchpads that are considerably more pleasurable to use than those found on similarly priced laptops, but this matters not one iota if you can’t make the driver work. This is usually easily remedied, and even if you can’t quite recreate the Chrome OS touchpad experience, some amount of tweaking configuration files will at least get you, uh, a touch closer.
Several Linux distros will happily boot on Intel Chromebooks, and some will work with Arm devices too. What you shouldn’t expect to get running on an Arm Chromebook is comparable graphics performance. Drivers for these things aren’t free(d), so unless you’re lucky it’s software rendering all the way.