So einfach kann es funktionieren: Nokia als Vorbild zeigt allen Konkurrenten, wie eine gelungene Linux-Umsetzung auf einem Smartphone auszusehen hat, zumindest wenn es darum geht, dem mündigen Benutzer vollen Zugriff zu geben. Im Maemo-Repository »Extras« finden sich gleich zwei Pakete, die Root-Zugang und somit die Kontrolle über Hard- und Software erlauben: »rootsh« und »openssh (Server und Client)« [1].
Rootsh ermöglicht mit »sudo gainroot« eine Rootshell genauso wie der Open-SSH-Server, nur dass dieser gleich auch remote zur Verfügung steht. Wer sich jetzt als Admin einloggt, findet ein in weiten Teilen LSB-konformes Dateisystem vor, mit Konfigurationsdateien unter »/etc/« und »/proc«- oder »/sys«-Verzeichnissen. Eine X11-Terminalanwendung ist ebenso installiert wie die gängigen Paketmanagement-Tools Apt und Dpkg samt zugehörigem »sources.d«. Der Installation eigener Pakete steht somit nichts im Wege. Wer diesen Zustand auf anderen Linux-Handys erreichen will, muss einigen Aufwand betreiben.
Web OS
Beim Palm Pre etwa installiert der stolze Besitzer zunächst die Development Tools. Die gibt's für Mac, Windows und Linux, sie haben aber einige Abhängigkeiten: Neben Virtualbox 3.0 (für die Emulation) muss auch Suns JRE 6 installiert sein, damit sich das SDK und die Terminalanwendung Novacom runterladen lassen. Die Installation mit Dpkg entpackt die Debian-Pakete in »/opt/Palm/«. Im Unterverzeichnis »novacom« stehen die drei Programme »novacom« »novacomd« »novaterm« und das Verzeichnis »scripts«.
Novacomd ist der Serverdämon, der den Zugriff auf ein an USB angeschlossenes Pre herstellt, mit Novaterm greift der Benutzer darauf zu. Dafür muss er aber zunächst sein Telefon in den Developer Mode versetzen, indem er alle Anwendungen schließt und dann »upupdowndownleftrightleftrightbastart« eintippt und im folgenden Dialog den Schiebeschalter auf »Ein« umlegt.
Der Reboot, den sich das Pre jetzt wünscht, ist notwendig. Erst danach führt das Kommando »novaterm« über USB zu einer Rootshell auf dem Pre (Abbildung 1), in der auch das Paketmanagement mit »ipkg« bereitsteht.
Abbildung 1: Der Root-Access auf dem Palm Pre klappt ganz offiziell übers SDK und die Applikation Novaterm.
Damit in Zukunft nicht mehr der ellenlange Cheatcode nötig ist, aktiviert der Besitzer jetzt das Icon für den Development Mode in der Datei »/usr/palm/applications/com.palm.app.devmodeswitcher/appinfo.json«. Weil das Root-Filesystem des Handys read-only gemountet ist, braucht er zunächst einen Remount, bevor er mit Vi den Eintrag »visible : false« auf »true« korrigieren kann. »mount -o remount,ro /« stellt das Nur-Lesen-Filesystem wieder her.
Diese und viele weitere hilfreiche Tipps finden sich im Wiki der Web-OS-Interals-Webseite [3], darunter auch die Installation des Open-SSH-Servers oder des alternativen Paketmanagers Optware.
Komplizierter Androide
Wer jetzt schon dachte, das wäre kompliziert, der hat die Öffnung von Android noch nicht versucht. Zwar gibt es Applets, mit denen man einen eingeschränkten Root-Zugang bekommt, aber auch nicht mehr. Für die Befreiung der Plattform der Open Handset Alliance ist ein Firmware-Update, bei vielen Geräten sogar ein Downgrade notwendig.
Aber vielleicht erweist sich die Bastelei unter Umständen ja auch als Heidenspaß. Viel riskiert ist dabei nicht, da es das HTC Dream G1 bei Ebay mittlerweile für schlappe 100 Euro gibt. Wer bereits ein G1 hat und es ohne alle Google-Beschränkungen nutzen will, also vielleicht mit den neuesten OS-Versionen, Mods oder Open-Source-Softwarepaketen, die es nicht im Google-Market gibt, der ist hier richtig. Darüber hinaus lässt sich überraschenderweise auf dem HTC Dream auch ein echtes Debian-Linux betreiben, mit allen Desktop-Tools und Anwendungen.
Derartige Firmware-Upgrades haben immer eins gemeinsam - den Nervenkitzel, dass etwas schiefgeht. Der Garantieanspruch verfällt sofort, eine Undo-Funktion gibt's nicht, vielleicht lässt sich das Gerät gar nicht mehr reaktivieren und verstummt für immer. Wer sich davon dennoch nicht abschrecken lässt, legt eine Micro-SD-Karte und ein USB-Kabel bereit und schaltet seinen WLAN-Accesspoint ein.
Zunächst geht es daran, die Speicherkarte zu einer so genannten Goldcard umzuwandeln und danach das Android-System auf einen älteren Stand zu bringen. Der Release Candidate 7 des Betriebssystems hatte nämlich ein Sicherheitsloch, über das sich das Dream mit einem alternativen OS versehen lässt.
01 # ls /dev/block/vold
02 179:0 179:1 179:2 179:3
03 # export SDCARD=/dev/block/vold/179
04 # export mnt=/data/local/mnt
05 # mkdir $mnt
06 # export HOME=/root
07 # export TERM=linux
08 # export DISPLAY=:0
09 # export LANG=de_DE.utf8
10 # export USER=root
11 # swapon $SDCARD:2
12 # mount $SDCARD:3 $mnt
13 # cp /etc/resolv.conf $mnt/etc/resolv.conf
14 # cp /etc/hosts $mnt/etc/hosts
15 # /data/local/bin/busybox chroot $mnt /debootstrap/debootstrap --second-stage
16 # mount -t devpts devpts $mnt/dev/pts
17 # mount -t proc proc $mnt/proc
18 # mount -t sysfs sysfs $mnt/sys
19 # echo 'deb http://ftp.de.debian.org/debian lenny main' >$mnt/etc/apt/sources.list
20 # rm -f /etc/mtab
21 # ln -s /proc/mounts /etc/mtab
22 # /data/local/bin/busybox chroot $mnt /bin/bash
|