ChromeOS.dev is Google's developer blog for ChromeOS, covering Linux support, Android-based components, virtualization, Vulkan graphics and Steam on Chromebooks.
HN commenters link it in discussions of ChromeOS's move to an Android stack, Linux on Chromebooks, and the origins of crosvm.
The blog post doesn't mention it but Firecracker was originally based on crosvm [0] built at Google by the ChromeOS team for a WSL-like Linux sandbox on top of ChromeOS running debian-buster containers viz. penguin (afaik) in a gentoo-based VM viz. termina [1]. crosvm inturn is part of a much bigger crostini project [2], which I find to be super fascinating, as it supports UI workloads (over Wayland and X).
If you're using ChromeOS to run any Linux app, you're using crostini which launches those apps in crosvm managed sandboxes (Container inside a VM) in seconds. In not so distant future, it looks like Android will sandbox platform workloads (running outside the Android framework?) managed by crosvm, to considerably improve security [3].
I looked for but couldn't find ChromeOS GCP instances. I mean, ChromeOS might be a great platform to run multi-tenant server workloads at this point.
[0] https://archive.is/T1ZNJ
[1] One can run custom Linux containers (other than the debian-based penguin) but not VMs (other than termina) at this point: https://chromeos.dev/en/linux/linux-on-chromeos-faq
[2] https://chromium.googlesource.com/chromiumos/docs/+/master/containers_and_vms.md
[3] https://lwn.net/Articles/836693/
It's the other way around. If you want ChromeOS (in particular with its Verified Boot system for the OS image [1]), you need special hardware that comes with Chromebooks, including the Framework Chromebook. That has nothing to do with the ability to run Linux, though.
If you don't care about Verified Boot, you can install ChromeOS-Flex on a Framework Linux device (https://www.reddit.com/r/framework/comments/um0mk6/chromeos_flex_framework_amazing_combo/)
On the other hand, installing Linux on Chromebook hardware is straightforward.
The options are:
1. Use the Debian Linux VM (Crostini) that is already present on Chromebooks:
https://chromeos.dev/en/linux
All you do is click on a few buttons in the settings. This approach preserves Verified Boot.
If you want to replace ChromeOS on a Chromebook with a Linux distro, you can use Crouton:
https://github.com/dnschneid/crouton
This approach removes verified boot.
1. https://www.chromium.org/chromium-os/chromiumos-design-docs/security-overview/#verified-boot
Well, with Android/Chrome OS they just recently released Jetpack Compose Material 3 Adaptive which is further iteration by Google to try to unify UI development between form factors [1]. And there's the breaking changes with every major version of Android [2]. Then there are the incompatibilities for Android apps for Chrome OS [3].
You can shit on Microsoft all you want, but those listed APIs still work. People expect Microsoft APIs to exist essentially forever, so every breaking change pretty much has to be a new API.
Having a single simple API for developing across different devices and inputs that automatically provides great UX across the board just isn't possible. It's going to be complex and it's on the developer to cater to each device. An API to cater to everything is literally web APIs.
[1] https://chromeos.dev/en/posts/io-2024#android-on-chromeos
[2] https://developer.android.com/about/versions/13/behavior-changes-all
[3] https://developer.android.com/topic/arc/manifest
Echoing: doing some "deep" troubleshooting of an issue on my Chromebook (since like 2006 + crouton/crostini), I read about their newer security/architecture for Linux apps running in chrome.
https://chromeos.dev/en/linux/linux-on-chromeos-faq#why-run-vms-arent-containers-secure
...see also the linked: "security" and then "glossary" to get a feel for the component complexity.
It is pretty astounding, and astoundingly complicated, but mostly transparent as to how the host + guest integrate.
Yeah, you can run "Inkscape" and the GUI just "shows right up" on the chromebook... but there's like 18 layers of security mitigations and complexity with virtualized device drivers and audited communication channels that are all (nearly) completely invisible to make it look like "it's just running /usr/bin/inkscape on the same machine, what's so hard about that?"
I think we're seeing another big step on the path to the deprecation of ChromeOS.
Back in June this year, they were "embracing portions of the Android stack, like the Android Linux kernel and Android frameworks, as part of the foundation of ChromeOS"[0]. Now they're enabling a Linux VM on Android, which is the inverse of what they did on ChromeOS under the ArcVM moniker, i.e. running Android in a VM[1].
[0]:https://chromeos.dev/en/posts/building-a-faster-smarter-chromebook-experience-with-the-best-of-google
[1]:https://9to5google.com/2019/05/24/chrome-os-android-apps-vm/
You may be talking about 2 different things:
1. Yes, ChromeOS is based on Linux, but it's not really what most people would refer to as "Linux". I think this is what you're talking about.
2. ChromeOS does have, however, some great technology to run an unrestricted version of Linux in a container, called Crostini: https://chromeos.dev/en/linux . I used to use a high end Pixel book (which was a great machine, really sad Google discontinued it - surprise, surprise, I know) as a primary dev laptop, it ran VSCode, postgres, etc. very well.