Chrome OS: Was hinter dem Google-Browser steckt | heise online

Chrome OS: Was hinter dem Google-Browser steckt

Installiert man das Google-Betriebssystem auf dem eigenen PC, macht sich erst einmal Ernüchterung breit: Chromium OS degradiert den PC zum simplen Surfpad. Doch bei einem näherem Blick entdeckt man hinter dem Google-Browser eine Reihe interessanter Ideen.

vorlesen Druckansicht 34 Kommentare lesen
Lesezeit: 13 Min.
Inhaltsverzeichnis

Chrome OS (8 Bilder)

Chrome OS: Browser statt Desktop

In Chrome OS ersetzt der Google-Browser den Desktop. Applets wie das zum Verwalten der Netzwerkanbindung sind in dessen Tab-Leiste integriert.

Nun ist es also da: Chrome OS, das Betriebssystem von Google, das seit dem Sommer durch die Schlagzeilen geistert und die Computerwelt zumindest ein bisschen auf den Kopf stellen soll. Genauer gesagt: Die Quelltexte einer ersten Entwicklerversion der Open-Source-Variante namens Chromium OS sind da – Google fährt hier dieselbe Strategie wie bei seinem Browser Chrome und unterscheidet zwischen den Open-Source-Projekten Chromium (Browser) und Chromium OS (Betriebssystem) und den fertigen Produkten Chrome und Chrome OS.

Überblick über die Architektur von Chrome OS.

Auf seiner Chromium-OS-Seite erläutert Google, wie das Betriebssystem aufgebaut ist. Und das ist einigermaßen ernüchternd: Auf einem Standard-Linux-Kernel 2.6.30 mit wenigen Patches läuft eine ganz normale Linux-Systemumgebung.

Die Pozessliste zeigt: Chrome OS ist ein normales Linux.

Der Connection Manager kümmert sich um die Netzwerkanbindung; für verschlüsselte Netzwerkverbindungen greift er auf den WPA Supplicant zurück. D-Bus bildet die Schnittstelle zwischen System und Anwendungen, X.org und Clutter sorgen für die grafische Oberfläche. Es gibt einen automatischen Update-Mechanismus, für das Powermanagement ist der ACPI-Daemon zuständig. Im Hintergrund arbeiten einige weitere Standard-Linux-Dienste. All das findet man so oder so ähnlich auch in anderen Linux-Distributionen – die Prozessliste des laufenden Chromium OS sieht nicht viel anders aus als bei jedem anderen modernen Linux. Grundlage von Chromium OS ist Ubuntu – kein Wunder, hat Google doch einige Ubuntu-Entwickler von Canonical unter Vertrag genommen, um an Chrome OS zu arbeiten.

Das Netzwerk-Applet ist in den Chrome-Browser integriert.

Nur bei der Bedienoberfläche geht Chromium OS eigene Wege. Der Fenstermanager chromeos-wm lässt Anwendungen immer bildschirmfüllend laufen. An die Stelle eines Desktops tritt der Google-Browser Chrome; die Applets für den Connection Manager und die Akkuanzeige sind dessen in Tab-Leiste integriert. Weitere Anwendungen gibt es nicht, sieht man von der Möglichkeit ab, mittels Strg-Alt-T ein (ebenfalls bildschirmfüllendes) Terminal zu starten, wo man die üblichen Kommandozeilen-Werkzeuge findet.

Chromium OS ist nämlich nicht gedacht als alternatives PC-Betriebssystem. Es soll weder Windows noch die etablierten Linux-Distributionen ersetzen, sondern auf einer eigenen Klasse von Geräten laufen – Netbooks, die als Web-Appliances immer online sind und im Wesentlichen für Internet-Aktivitäten genutzt werden. Konsequenterweise will Google Chrome OS gar nicht als eigenes Produkt vermarkten, sondern verspricht in etwa einem Jahr fertige Geräte mit vorinstalliertem Chrome OS.

Zwei Ziele stehen bei Chrome OS im Vordergund: hohe Sicherheit und eine kurze Bootzeit. Dabei spielt eine angepasste Firmware eine wichtige Rolle. Sie wirft eine Menge PC-Altlasten über Bord, um so den Startprozess zu beschleunigen – heutige PCs und Notebooks benötigen beim Kaltstart schon für ihre BIOS-Routinen mehr Zeit als die für Chrome OS angezielten sieben Sekunden Gesamt-Bootzeit. Und auch das Sicherheitskonzept von Chrome OS setzt auf der Firmware auf: Sie soll beim Booten die Integrität des Systems prüfen und, falls diese Prüfung fehlschlägt, eine Möglichkeit bieten, das ursprüngliche System-Image zu restaurieren.

Ebenfalls Teil des Sicherheitskonzepts ist die spartanische Software-Ausstattung. Da das Root-Dateisysten nur lesbar ist und aus dem Home-Verzeichnis keine Programme gestartet werden können, kann der Anwender in Chrome OS keine eigene Software installieren – und damit auch keinen Schadcode. Lediglich in HTML und JavaScript geschriebene Web-Anwendungen sind vorgesehen, die jeweils in einer eigenen Sandbox laufen. Eine ganze Reihe von Maßnahmen soll Chrome OS gegen Angriffe aus dem Netz und bösartige Web-Anwendungen sichern. Trotzdem ist es natürlich möglich, Daten lokal auf dem System zu speichern.

In dem Chromium OS, wie man es derzeit herunterladen kann, ist davon freilich noch nicht viel zu sehen. Auch die speziellen Web-Anwendungen für Chrome OS existieren noch nicht. So, wie sich das Entwicklersystem derzeit präsentiert, handelt es sich im Wesentlichen um ein abgespecktes Linux, bei dem der übliche Desktop durch den Chrome-Browser ersetzt ist.

Und das kann man auch auf einem normalen PC zu benutzen. Google stellt eine detaillierte Anleitung bereit, wie man Chrome OS selbst herunterladen und bauen kann, um es dann auf einem bootfähigen USB-Stick, auf der Festplatte eines Rechners (die dabei komplett überschrieben wird) oder in einem VMware-Image zu installieren. Wir haben uns Chrome OS näher angesehen.

Vom USB-Stick bootet das System erfreulich schnell – in nicht einmal 10 Sekunden erscheint der Login-Bildschirm. Dort kann man sich, sofern der Rechner bereits Anschluss ans Netz gefunden hat, mit seiner Google-Mail-Adresse . Das klappt allerdings nur, wenn der PC über Ethernet im LAN hängt und dort via DHCP eine IP-Adresse erhält; WLAN lässt sich erst nach dem konfigurieren. Ohne LAN-Anschluss muss man sich daher erst einmal mit den lokalen Benutzernamen , den man beim Kompilieren des Systems hinterlegt hat.

Chromium OS: Browser statt Desktop.

Nach dem Login wird der Benutzer von einem bildschirmfüllenden Chrome-Browser begrüßt, der auch mit Flash-Inhalten umgehen kann. Sofern der Rechner vernetzt ist, zeigt er – natürlich – die Google-Startseite (Login mit lokalem User) oder den eigenen Google-Mail-Account an (Anmeldung mit Google-Mail-Account). Auf den meisten Testrechnern reagierte das System auf Tastendrücke nur mit erheblicher Verzögerung, was die Bedienung sehr unbequem macht; der Grund dafür ließ sich nicht herausfinden. Die Tastaturbelegung ist auf englisch eingestellt.

Rechts oben findet man die Icons für die Akkuanzeige und den Connection Manager. Dort kann man sich an einem (auch verschlüsselten) WLAN , sofern Chromium OS den WLAN-Chip in Betrieb nehmen kann. Das gelingt leider nicht immer, da dem Google-System die für viele WLAN-Chips nötigen Firmware-Dateien fehlen: Wir hatten bei unseren Versuchen auf Anhieb lediglich mit einem Atheros-Chip Erfolg; ein Intel Pro/Wireless 4965 AGN funktionierte erst, nachdem wir die fehlende Firmware aus einer aktuellen Ubuntu-Installation ins Verzeichnis lib/firmware/2.6.30-chromeos-intel-menlow der Root-Partition auf dem Stick kopierten.

Weitere Anwendungen gibts nur im Web.

Beim an ein verschlüsseltes WLAN merkt sich Chromium OS den Schlüssel: Nachdem man sich einmal an einem WLAN angemeldet hat, ist nach dem nächsten Reboot auch via WLAN ein Login mit dem Google-Mail-Account möglich. Schöner wäre es allerdings, wenn man bereits am Login-Schirm eine Liste der verfügbaren WLANs angezeigt bekäme und sich gleich an einem WLAN könnte – so muss man bei jedem Wechsel des WLANs wieder auf den lokalen Account zurückgreifen.

Über ein Icon in der linken oberen Ecke kann man nach Anmeldung mit dem Google-Account auf diverse Web-Anwendungen zugreifen. Darunter befinden sich neben den diversen Google-Angeboten unter anderem auch Facebook, Twitter, Hotmail und Yahoo Mail.

Der so genannte Task Manager zeigt nur die Browser-Prozesse an.

Die Konfigurationsmöglichkeiten in Chrome OS sind noch recht rudimentär: Außer den Browser-Einstellungen kann man lediglich WLAN und LAN ein- oder ausschalten und die Zeitzone einstellen. Eine Möglichkeit, vom englischen auf deutsches Tastaturlayout zu wechseln, ist noch nicht vorgesehen. Einen Dateimanager gibt es nicht, mit dem file://-Protokoll des Browsers kann man sich nur einen Überblick verschaffen. Die Option zum Öffnen des "Task Manager" ruft lediglich die Adresse about:memory im Browser auf, die über die Chrome-Prozesse, nicht aber über die anderen laufenden Anwendungen informiert.

F12 bringt eine Übersicht der laufenden GUI-Programme.

Die Tastenkombination Strg-Alt-T startet ein Xterm, das wie der Browser im Vollbildmodus läuft. Dort stehen die üblichen Linux -Kommandozeilen-Tools zur Verfügung. Mit Alt-Tab kann man zwischen Browser- und Terminalfenster hin- und herschalten. Aus dem Terminal lassen sich auch weitere GUI-Programme starten, die dann ebenfalls fullscreen laufen – wenn denn weitere Anwendungen installiert wären.

Dem lässt sich aber abhelfen, wenn man die Datei /etc/apt/sources.list um Einträge für die Ubuntu-9.10-Repositories ergänzt und dann via aptitude weitere Pakete einspielt – wobei man bei Paketen mit komplexeren Abhängigkeiten sehr schnell auf Abhängigkeitskonflikte stößt, da Chromium OS nicht ganz auf dem aktuellen Stand von Ubuntu 9.10 ist. Mit der Taste F12 erhält man eine Übersicht der laufenden Programme.

Viele Funktionen lassen sich nur über Tastenkombinationen erreichen.

Überhaupt muss man sich eine ganze Reihe von Tastenkombinationen merken, wenn man alle Funktionen von Chrome OS nutzen will. Die Developer FAQ fasst die wichtigesten davon in einer Tabelle zusammen; nach einem Druck auf F8 blendet Chromium OS ein Keyboard ein, das alle Tastenbelegungen anzeigt. Schade, dass nicht zumindest die wichtigsten dieser Funktionen auch in einem Menü auftauchen.

Macht sich nach einem ersten Blick auf das neue Chromium OS erst einmal Ernüchterung breit, entdeckt man bei näherem Hinsehen doch eine Reihe interessanter Ideen. Der Weg zu einem laufenden Chromium OS ist allerdings mühsam, und das Ergebnis ist eigentlich nur für Leute interessant, die für Chrome OS entwickeln oder am System selbst arbeiten wollen. Als alternatives Betriebssystem für den eigenen PC oder das eigene Netbook taugt Chromium OS in seiner derzeitigen Form jedenfalls nicht.

Um Chrome OS zu bauen, benötigt man lediglich ein Linux-System mit ein paar Gigabyte freiem Plattenplatz. Das offizielle Build-System ist Ubuntu 9.10, auf anderen Linux-Versionen ist der Build-Prozess komplizierter. Eine Anleitung beschreibt die Details.

Zunächst sind eine eine Reihe von Paketen zu installieren, die man alle in den Ubuntu-Repositories findet. Anschließend lädt man den chromiumos-Tarball aus den Archiven herunter (wir haben die Version 0.4.22.8 verwendet) und packt sie aus. Alternativ kann man auch via git die aktuellen Quelltexte direkt aus der Versionsverwaltung auschecken.

Außerdem benötigt man den Chrome-Browser. Den findet (leider nur manchmal) vorkompiliert als chrome-linux.zip im Verzeichnis chromium-chromiumos-RELEASE des Archivs; eine alternative Quelle ist ist hier. Die Datei muss als chrome-chromeos.zip in das Verzeichnis src/build/x86/local_assets/ der ausgepackten Chromium-OS-Quellen kopiert werden, die Unterverzeichnisse x86 und x86/local_assets sind dabei neu anzulegen. Alternativ übersetzt man den Browser selbst aus dem 800 MByte großen chromium-RELEASE-Tarball im Archiv. Uns ist es allerdings nicht gelungen, den Chromium-Browser zu kompilieren – der Build brach wegen fehlender Dateien ab –, daher haben wir den vorkompilierten Browser verwendet.

Der Build-Prozess selbst ist über eine Reihe von Shell-Skripten automatisiert. Unter Ubuntu 9.10 wechselt man nach dem Auspacken der Quellen und dem Einkopieren des Chrome-Browsers einfach ins Verzeichnis src/scripts der Chromium-OS-Quellen und ruft dort nacheinander drei Skripte auf:

make_local_repo.sh
make_chroot.sh
enter_chroot.sh

Auf anderen Linux-Systemen kann etwas mehr Mühe nötig sein; die Build-Anleitung gibt einige Hinweise dazu.

Jetzt empfiehlt es sich, im Unterverzeichnis src/platform/pam_google das Skript

enable_localaccount.sh

mit dem Namen eines lokal anzulegenden Users aufzurufen, da es ansonsten unmöglich ist, sich ohne Netzwerkverbindung an Chromium OS anzumelden. Außerdem kann man, jetzt wieder in src/scripts, über das Skript

set_shared_user_password.sh

ein Passwort für den "shared user" setzen. Was genau damit gemeint ist, hat sich uns nicht erschlossen; auf jeden Fall braucht man dieses Passwort sowohl für das lokale Login als auch zum Ausführen von Kommandos mit sudo. Achtung: Chromium OS hat eine englische Tastaturbelegung, daher sollte man auf Sonderzeichen in Usernamen und Passwort verzichten.

Drei weitere Skripte in src/scripts erzeugen jetzt die Programmpakete, übersetzen den Kernel und bauen ein Image mit Chromium OS:

build_platform_packages.sh
build_kernel.sh
build_image.sh

Das resultierende Image landet in einem automatisch angelegten Unterverzeichnis in src/build/images und kann mit

image_to_usb.sh --from=../build/images/SUBDIR --to=/dev/USB

auf einen bootfähigen USB-Stick von mindestens 2 GByte Größe kopiert werden. Das Skript überschreibt dabei alle auf dem Stick vorhandenen Daten und legt zwei Partitionen an: Eine für das Root-Dateisystem und eine für veränderbare Daten, die neben dem Home-Verzeichnis auch veränderte Konfigurationsdateien in /etc sowie Log-Dateien aufnimmt. Alternativ erzeugt das Skript image_to_vmware.sh ein VMware-Image. (odi)