Glossary
A server for the 9P file system protocol. There is one instance of 9s for each VM and it provides that VM with access to the user’s data stored outside the VM. This includes things like the Downloads folder, Google Drive, and removable media. The lifecycle of each 9s instance is managed by Seneschal. Each 9s instance starts with no access to any files. Access to specific paths is granted by sending a message to Seneschal, which makes the requested path available to the specified 9s instance. Requests to share paths can only be triggered by some user action.
AMD Virtualization, AMD’s marketing name for hardware virtualization extensions.
ARC
App Runtime for Chrome; the old/deprecated method of running Android apps in a Chrome NaCl (Native Client) sandbox. Had random compatibility issues.
ARC ++
Android Runtime for Chrome [plus plus]; the current method for booting Android in a container under ChromeOS.
A daemon that runs in ChromeOS which handles all communication directly with the VM and container once the container starts running. Specifically, it communicates with Tremplin (which runs inside of the VM, and Garcon (which runs in a container inside the VM).
A daemon that runs in ChromeOS which handles lifecycle management of VMs and containers and uses gRPC over vsock to communicate with Maitred.
ChromeOS shell; a restricted developer shell for running a handful of commands.
CROSTINI / LINUX ON ChromeOS
The umbrella term for making Linux application support easy to use and integrate well with ChromeOS. It largely focuses on getting you a Terminal with a container with easy access to install whatever developer-focused tools you might want. It’s the default first-party experience.
A custom virtual machine monitor that takes care of managing KVM, the guest VM, and facilitating the low-level (virtio-based) communication.
Filesystem handling in userland which enables a wider variety of formats, remote filesystems, and improves overall security/stability.
A daemon that runs inside a container within the VM and provides integration with Cicerone/Chrome for more convenient/natural behavior. For example, if the container wants to open a URL, Garcon takes care of plumbing that request back out.
A simple/fast virtualization tool.
Linux container solution.
The init and service/container manager inside of the VM, which is responsible for communicating with Concierge (which runs outside of the VM). Concierge sends it requests and Maitred is responsible for carrying those out.
A large/complete virtual machine emulator.
A daemon that runs in ChromeOS that handles lifecycle management of 9P servers. When Concierge starts a VM, it sends a message to Seneschal to also start a 9s instance for that VM. Then, while configuring the VM, Concierge sends a message to Maitred instructing it to connect to the 9s instance and mount it inside the VM.
A Wayland proxy compositor that runs inside the container. Sommelier provides seamless forwarding of contents, input events, clipboard data, etc…, between Wayland applications inside the container and Chrome. Chrome does not run an X server or otherwise support the X protocol; thus Sommelier is also responsible for starting up XWayland (in rootless mode), acting as the X window manager to the clients, and translating the X protocol inside the container into the Wayland protocol for Chrome.
A VM image with a stripped-down ChromeOS Linux kernel and userland tools. Its only goal is to boot up as quickly as possible and start running containers. Many of the programs/tools are custom here. In hindsight, we might not have named it one letter off from “Terminal”, but so it goes.
TERMINAL APP
The first entry point into the Linux on ChromeOS. It takes care of kicking off everything else in the system that you’ll interact with. The default container launched via Terminal is Debian with custom packages, by default named
penguin
. See cros-container-guest-tools for more details.A daemon that runs in the VM to provide a gRPC wrapper for LXD. This includes basic functionality such as creating and starting containers, but also provides other Linux on Chrome OS-specific integration such as setting up a container’s primary user, and setting up apt repositories in the guest to match the ChromeOS milestone.
Everything not running inside of the kernel. Also known as user space.
Everything not running inside of the kernel. Also known as user space.
Virtual Machine; a way to boot a different operating system in a strongly isolated environment.
Virtualization Extensions; Intel’s marketing name for hardware virtualization extensions.
The new graphics stack in the Linux world.
Window Manager; program responsible for managing windows that other programs create. e.g. window borders, maximizing/minimizing, etc…
Umbrella term for the large classical project tasked with making graphics and inputs work in UNIX environments. May refer to the server, client, protocol, WM, or many other facets depending on context. a.k.a. X11, X.Org, and XFree86.