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.
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).
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 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.
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 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.
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.
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.