ChromeOS now runs on top of Linux and, er, Zephyr ...
Google's finest via the what now? Plus: RISC-V-powered Chromebook isn't out of the question
Column You probably knew Google's ChromeOS is a Linux distribution. But, now, it's running on more than Linux under the hood. I didn't, and I've been covering Chrome OS like paint since the day it arrived. Today, your newer Chromebook also depends on the open-source Zephyr Project Real-Time Operating System (RTOS). Here's Chrome OS's history and where Zephyr comes in.
Originally, ChromeOS's beginnings were shrouded in mystery. Jeff Nelson, a former Google engineer, claimed that he created "Google OS," an ancestor to Chrome OS, which used Firefox as its browser, although it is a matter of dispute whether this project is connected to the operating system we know today.
Antoine Labour, "one of the three original engineers on the project," said Nelson's project and the eventual Chrome OS were different endeavors.
Labour has said that the "Chrome OS project itself, the one that ended up growing and actually shipped products, didn't exist in 2006."
There is clearer evidence that ChromeOS sprang from Ubuntu Linux in November 2009, with Canonical, Ubuntu's parent company, helping to build the now ubiquitous OS.
As Chris Kenyon, then Canonical's VP of OEM Services, wrote, "Canonical is contributing engineering to Google under contract. In our discussions, Sundar Pichai [Google's senior vice president of Chrome] and Linus Upson [Google's VP of engineering for Chrome] made it clear that they want, wherever feasible, to build on existing components and tools from the open-source community without unnecessary re-invention."
But, ChromeOS wouldn't stay based on Ubuntu. In February 2010, Chrome OS switched from Ubuntu to Gentoo Linux. Yes, that's right, the Linux nerd's hardcore distribution for many years underlaid the easiest Linux distro. Who knew? (Well, besides Gentoo users, ChromeOS developers, and me.)
This was done, as recorded in a Chromium OS developer e-mail list discussion, because "the need to support board-specific builds and improve our tools has become more urgent. In order to get there more quickly, we've been investigating several different build tools. We found that the Portage build tools to suit our needs well, and we will be transitioning 100 percent within the next week." Portage, for those of you who aren't Gentoo users, compiles programs directly from source code.
But, ChromeOS wouldn't stay on Gentoo either. While Portage continued to be used for package management, more recent ChromeOS versions are based on a Google-customized Linux kernel. Today it's also running on Zephyr.
This happened in July of 2021 when Chromebooks switched from the original Google Chrome Embedded Controller (EC) to one based on Zephyr. Your newer Chromebook isn't running, however, on vanilla Zephyr. It's running on a ChromeOS Zephyr fork.
Why? First, Google wants Chromebooks to be as secure as possible. As Puneet Kumar, then Google's Chrome OS Director of Engineering, said in 2020, "Google believes in building secure products for all of our users, and we are excited to join forces with Zephyr to develop a secure real-time operating system."
- Chromebook SH1MMER exploit promises admin jailbreak
- Your next PC should be a desktop – maybe even this Chinese mini machine
- Version 5 of the Endless OS enters testing
- Microsoft's Lennart Poettering proposes tightening up Linux boot process
Since then, Zephyr has been in charge of the embedded controller (EC). This is an always-on ultra-low-power microcontroller. It handles everything you want a Chromebook to do when the application processor is off or sleeping. In particular, the EC is critical for extending the Chromebook's battery life.
One reason you probably didn't hear about this switch is that ChromeOS developers don't have to worry about it. The EC's application programming interfaces (API) remained unchanged. So regardless of whether a Chromebook uses the original EC code or the newer Zephyr-based EC code, ChromeOS applications run the same as ever.
Besides being an RTOS, Zephyr is also a small, scalable operating system that's ideal for use on resource-constrained systems over multiple architectures. That makes it easier and faster for Google and its Chromebook partners to move to new architectures and support new equipment drivers.
Who knows? Maybe we'll see a RISC-V-powered Chromebook: the CPU support's in there. ®