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.shmake_chroot.shenter_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.shbuild_kernel.shbuild_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.
Zum Themen-Forum Betriebssysteme
Version zum Drucken | Per E-Mail versenden
Permalink: http://heise.de/-865947