Zum Hauptinhalt Zur Navigation

Google: Chromebooks bekommen "Linux-VMs" und "Terminal"

Aktuelle Beiträge zum Code von Chrome OS enthalten Hinweise auf die Unterstützung von Linux-VMs . Gedacht ist das wohl für die Web- und Android-Entwicklung. Inwiefern übliche Linux-Distros mit ihren Anwendungen damit auf Chromebooks laufen, ist aber noch unklar.
/ Sebastian Grüner
10 Kommentare News folgen (öffnet im neuen Fenster)
Crostini sind wohl besser als Croutons. (Bild: Charles Haynes, flickr.com,)
Crostini sind wohl besser als Croutons. Bild: Charles Haynes, flickr.com, / CC-BY-SA 2.0

Nutzer von Chromebooks könnten eventuell bald wesentlich einfacher auf eine Entwicklungsumgebung für Arbeiten an Web- oder Android-Anwendungen zugreifen, als dies bisher mit dem sogenannten Developer-Modus von Chromes OS möglich ist. Das legen zumindest eine Reihe von Code-Beiträgen nahe, an denen das Team mindestens seit einem halbe Jahr öffentlich arbeitet und damit künftig wohl die Funktion sogenannter "Linux-VMs" in Chromebooks anbieten wird.

Konkret heißt es zu dem wohl wichtigsten Code-Beitrag(öffnet im neuen Fenster) recht lapidar: "Neue Geräterichtlinie um Linux-VMs unter Chrome OS zu erlauben" . Ist die Richtlinie aktiviert, lassen sich die VMs vom Nutzer verwenden – wohlgemerkt im Standardmodus von Chrome OS. Um welche VMs es sich dabei genau handelt, ist zurzeit noch nicht klar.

Zum Betrieb anderer Linux-Distributionen auf Chromebooks musste bisher der Developer Modus genutzt werden, bei dem viele Sicherheitsvorkehrungen von Chrome OS deaktiviert werden. Genutzt wird das etwa von dem Projekt Crouton , mit dem etwa die Linux-Distribution Ubuntu in einer Chroot-Umgebung auch auf den Chromebooks genutzt werden kann.

Crostini-Terminal als bessere Entwicklungsumgebung

Ein weiterer Hinweis auf die neue Funtkion der möglichen Linux-VMs findet sich ebenfalls in einem Code-Beitrag(öffnet im neuen Fenster) , auf den das Blog Chrome Unboxed(öffnet im neuen Fenster) hinweist. Dort wird die Testumgebung Crostini vorerst in Entwickler-Builds von Chrome OS aktiviert und Crostini ermöglicht das " Ausführen von Linux-VMs unter Chrome OS" . Wie Chrome Unboxed recht treffend schreibt, sind Crostini(öffnet im neuen Fenster) so etwas wie "ausgefallene" Croutons(öffnet im neuen Fenster) .

Wie weitere aktuelle Beiträge mit Verweis auf Crostini darüber hinaus zeigen, arbeitet das Team zurzeit an einer grafischen Umsetzung(öffnet im neuen Fenster) der Funktion und einer einfachen Installation durch Nutzer. Dort findet sich(öffnet im neuen Fenster) unter der Überschrift: "Terminal für Chromebooks" die Erläuterung "Entwickele auf deinem Chromebook. Du kannst deine bevorzugten Linux-Anwendungen und Kommandozeilenprogramme nahtlos und sicher ausführen." Zur Installation sollen demnach rund 200 MByte freier Speicher benötigt werden.

Laut der Beschreibung zu diesem Beitrag ist der Text bisher allerdings lediglich ein Lückenfüller und die Installationsroutine müsse noch umgesetzt werden. Die Funktion ist bis jetzt also nicht verwendbar. Ein mögliche Umsetzung der Installation(öffnet im neuen Fenster) , die bisher noch als Work-in-Progress gekennzeichnet ist, verwendet dafür den Dienst Concierge aus den vm_tools von Chromium(öffnet im neuen Fenster) sowie letztlich einige weitere Basiswerkzeuge für die eigentlich gewünschte Funktion, um als Host-System für eine VM zu fungieren.

VM-Werkzeuge für Kernel und Userspace

Der Beschreibung von Concierge(öffnet im neuen Fenster) zufolge handelt es sich dabei um einen Systemdienst, der im Userspace läuft und die Lebenszeit von VMs überwacht und für deren Starten und Beenden verantwortlich ist. Concierge ist aber nicht das einzige Werkzeug, das für die VM-Funktion notwendig ist.

So arbeitet Concierge in Verbindung mit dem Dienst Maitred(öffnet im neuen Fenster) , der als Init-Prozess in der VM fungiert. Dieser Init-Dienst ist darüber hinaus für das Starten der eigentlichen Anwendung in einem Container zuständig. Für den Container verwendet Google sein selbst gebautes Werkzeug Minijail(öffnet im neuen Fenster) , das bereits auf Chrome OS und Android genutzt wird.

Diese Kombination aus Concierge, Maitred und auch Minijail erinnert entfernt an das Linux-Werkzeug Systemd-Nspawn(öffnet im neuen Fenster) , mit dem sich auf üblichen Linux-Distributionen schnell und leicht andere Linux-Systeme starten lassen. Die Systemd-Entwickler bezeichnen dies als "Chroot auf Steroiden" , was dazu passt, dass Crostini "ausgefallene" Croutons sind, also auch eine ausgefallene Chroot-Umgebung für Chrome OS.

Virtualisierte Geräte

Grundlage der vm_tools bildet das in Rust geschriebene Werkzeug Crosvm(öffnet im neuen Fenster) , das bereits im September vergangenen Jahres erschienen ist. Crosvm und die VM-Werkzeuge sorgten damals für einige Spekulationen in Bezug auf den möglichen künftigen Einsatzzweck in Chrome OS.

Crosvm bildet letztlich die Basis des gesamten Crostini-Aufbaus. Dieses Werkzeug sorgt für die eigentliche Virtualisierung, um "nicht vertrauenswürdige Betriebssysteme" mit virtualisierten Geräten zu starten. Dabei wird aber keine Hardware emuliert, sondern die Geräte werden mit Hilfe der KVM-Schnittstellen umgesetzt. Das heißt, ein Gast-System greift über sogenannte Virtio-Treiber auf die Fähigkeiten des Hostsystems zu, hier also Chrome OS.

Neben den üblichen Treibern für Block-Geräte, Netzwerk und Socket unterstützt Crosvm standardmäßig auch einen Virtio-Wayland-Treiber. Letzterer ist von einem Entwickler des Linux-Beratungsunternehmens Collabora, aufbauend auf den Arbeiten von Google, für den sogenannten Mainline-Kernel portiert worden. In den Patches(öffnet im neuen Fenster) dazu heißt es, damit könnten Wayland-Clients, die in einer VM laufen, mit einem Compositor auf dem Host-System kommunizieren.

Chrome OS benutzt bereits einen Wayland-Compositor und -Server. Dieser ist standardmäßig für die Verwendung von Android-Apps auf Chromebooks vorgesehen und bekommt nun offensichtlich eine weitere Aufgabe.

Eigenes Linux-System als VM

Noch völlig unklar ist jedoch, welches Root-Dateisystem für das Gastsystem in dem hier für Chrome OS als Host beschriebenen Szenario verwendet wird. In diesem Gastsystem wiederum sollen ja die eigentlichen Linux-Anwendungen zur Entwicklung ausgeführt werden.

Google selbst arbeitet hierfür offenbar an einem Projekt mit Namen Termina(öffnet im neuen Fenster) , das vermutlich von Chrome OS selbst abgeleitet ist. Darüber hinaus finden sich in dem Issue-Tracker zu der Funktion(öffnet im neuen Fenster) immerhin mehrfach Referenzen auf Debian(öffnet im neuen Fenster) , das die Google-Entwickler intern auch selbst verwenden, sowie auf den Gnome-Desktop(öffnet im neuen Fenster) .

Ob Nutzer aber eigene Root-Dateisysteme für die Crostini-Funktion verwenden können oder etwa nur ausgewählte, die von Google bereitgestellt werden, ist derzeit noch offen. Details zu der Virtualisierung und dem neuen Entwicklermodus dürfte Google aber auf seiner kommenden Hausentwicklermesse I/O im Mai bekannt geben.


Relevante Themen