Ich mag es nicht, alte, aber funktionierende Geräte wegzuwerfen. Für meinen drei Jahre alten iPod touch hat Apple den Support schon seit einiger Zeit eingestellt, iOS 4 gab es nicht und iOS 5 wird es erst recht nicht geben. Für die 3er-Serie gibt es auch keine Sicherheitsupdates mehr, was auch den Browser Safari einschließt, der in dieser Version noch zahlreiche bekannte Sicherheitslücken hat.
Deswegen habe ich entschieden, die Lebenszeit des iPods mit Android ein wenig zu verlängern. Vielleicht werde ich mir ja in Zukunft mal ein “echtes” Android-Gerät kaufen, sodass ich Android hier auf dem iPod touch gleich mal testen kann. Jetzt werden einige vielleicht sagen: Android? Auf einem Apple-Gerät? Geht das? Klar geht das. Die Jailbreak-Szene hat mehr zu bieten als nur einen alternativen App Store und damit Apps, die Apple nicht in den Kram passen, es ist auch möglich, gleich ein anderes Betriebssystem zu installieren. Was bei konventionellen Computern geht, sollte auch bei mobilen Geräten machbar sein, denn selbstverständlich darf jeder auf seinem Gerät das Betriebssystem seiner Wahl installieren.
Da Apple natürlich keine Möglichkeit anbietet, ein alternatives Betriebssystem zu installieren, bedarf es einiger Tricks. Glücklicherweise haben einige Hacker OpeniBoot entwickelt, eine freier Bootmanager ähnlich wie GRUB oder LILO, nur eben für iOS-Geräte. Man kann dann ein beliebiges System parallel zu iOS installieren und beim Start zwischen diesen wählen, in meinen Fall ist das zweit-OS eben Android. Aber allein das reicht noch nicht aus. Ein Vanilla-Android bringt keine Treiber für meinen iPod touch mit, denn normalerweise erledigen das die Hersteller der Android-Geräte, aber Apple wird wohl kaum Treiber für Android programmieren . Auch hier gibt es jedoch mit iDroid einen Port von Android, der auf mobiler Apple-Hardware läuft, nämlich auf dem iPod touch der ersten Generation sowie dem iPhone der ersten und zweiten Generation.
Die Installation von OpeniBoot und iDroid ist mittlerweile recht einfach. OpeniBoot muss man über das Terminal per USB installieren, die iDroid-Installation selbst erfolgt über Bootlace unter iOS, welches man über Cydia installieren kann – ihr seht schon, das Gerät muss natürlich jailbroken sein, aber man benötigt einen Jailbreak auf Kernel-Ebene wie etwa redsn0w, andere Jailbreaks können funktionieren, müssen aber nicht (jailbreakme oder Spirit funktionieren etwa nicht). Bootlace überprüft vorher, ob der Jailbreak mit iDroid kompatibel ist. Theoretisch sollte die Installation fehlerfrei ablaufen, trotzdem sollte man ein Backup der gespeicherten Daten machen, denn es kann sein, dass etwas nicht funktioniert, dann bleibt nur noch das Wiederherstellen über iTunes. Ausprobieren also wie immer auf eigenen Gefahr.
OpeniBoot könnt ihr hier herunterladen (openiboot.img3), das nötige Installationstool bekommt ihr hier – achtet darauf, die richtige Architektur (x86 oder x86_64) runterzuladen. Anschließend entpackt das Archiv und schmeißt alles in den selben Ordner, sodass die Dateien openiboot.img3, loadibec und oibc nebeneinander liegen.
Danach müsst ihr euer Gerät in den Recovery-Modus versetzen. Dazu
- das Gerät ausschalten
- den Home-Button gedrückt halten
- während der Home-Button gedrückt ist das Gerät per USB anschließen
- warten, bis das iTunes-Symbol auf dem Display erscheint
Anschließend eine Rootshell (sudo -s) in dem Verzeichnis öffnen, in dem ihr die OpeniBoot-Dateien abgelegt habt. Nach der Installation von eventuell fehlenden Abhängigkeiten könnt ihr OpeniBoot in den Arbeitsspeicher des Geräts laden.
# apt-get install libusb-1.0-0 libusb-1.0-0-dev libreadline6-dev readline-common libreadline6 libreadline-dev # ./loadibec openiboot.img3
Jetzt sollte OpeniBoot auf dem Gerät gestartet werden. Nun mit dem Power-Button “Console” auswählen und mit dem Home-Button bestätigen, was dazu führt, das auf dem Gerätebildschirm viel Text zu sehen ist. Nach Abschluss des Ladevorgangs seht ihr ein ASCII-Art:
/ _ \ _ __ ___ _ __ (_) __ ) ___ ___ | |_ | | | | '_ \ / _ \ '_ \| | _ \ / _ \ / _ \| __| | |_| | |_) | __/ | | | | |_) | (_) | (_) | |_ \___/| .__/ \___|_| |_|_|____/ \___/ \___/ \__| |_|
Die Console ist damit einsatzbereit. Sie wird aber nicht vom iPod touch aus bedient (gibt ja keine Bildschirmtastatur), sondern vom Terminal auf eurem Ubuntu-Rechner, indem ihr folgendes Kommando ausführt:
# ./oibc
Im Terminal wird jetzt dasselbe angezeigt wie auf dem Display des iPods, ähnlich einer SSH-Sitzung. Die eigentliche Installation wird über den Befehl
install
eingeleitet. wenn die Installation fertig ist, wird das Gerät neu gestartet durch den Befehl
reboot
OpeniBoot ist jetzt permanent installiert. Die Option “Android” existiert zwar schon, funktioniert aber noch nicht, schließlich ist Android noch gar nicht installiert. Dazu erst wieder iOS booten, Cydia öffnen und das Programm “Bootlace” installieren. Beim ersten Start von Bootlace wird das Gerät überprüft und ein Kernel Patch angewandt. Danach lässt sich im Tab “iDroid” Android in der Version 2.3.3 installieren (iDroid 11.04), updaten und auch wieder deinstallieren. Auch OpeniBoot kann über Bootlace konfiguriert werden, wie das Default-OS und die Wartezeit bis dieses gebootet wird. Die Installation/Deinstallation von OpeniBoot ist hier auch möglich, funktioniert bei mir aber nicht, weswegen ich den Weg über Terminal genommen habe. Außerdem wird auf diesem Weg automatisch eine Datei “norbackup.dump” erstellt, die beim Herstellen des Original-Bootloaders vielleicht nützlich sein könnte.
Endlich kann Android gebootet werden; der erste Start dauert etwas lang. Zu iOS zurück gelangt man, indem man Power- und Home-Button für etwa 2 Sekunden lang gemeinsam drückt und im darauf erscheinenden Fenster “Ausschalten” ausgewählt, danach kann man in OpeniBoot wieder iOS booten.
Was bringt da ganze? Nun, im gegenwärtigen Zustand ist iDroid eher als ein Proof-of-Concept zu verstehen, denn richtig Android nutzen geht damit nicht. So sind aus rechtlichen Gründen die Google Anwendungen nicht mit dabei, darunter der Market. Es bringt auch nichts, von anderen Geräten oder irgendwelchen Quellen im Internet den Market nachzuinstallieren, denn Google lässt nur autorisierte Geräte von Herstellern wie HTC, Motorola, Samsung etc in den Market. Einzelne *.apk Dateien lassen sich aber installieren. Die Geschwindigkeit ist auch etwas langsam, womöglich wegen der noch unreifen Unterstützung der Hardware. Außerdem fehlt es dem iPod touch an Knöpfen wie dem Menü- oder Zurück-Button, die aber durch On-Screen-Buttons in der Statusleiste ersetzt werden. Auch das Android-Plugin für Eclipse erkennt ein iDroid-Gerät sofern man das USB-Debugging aktiviert, eine simple Hello-World-Anwendung ließ sich aber nicht auf das Gerät übertragen und dort starten.
Positiv ist aber, das die neuste Android-Version 2.3.3 zum Einsatz kommt. Viele native Android-Geräte kommen mit 2.2, 2.1, oder gar noch älteren Versionen wie 1.6 daher, Updates vom Gerätehersteller gibt es nicht, also ein ähnliches Problem wie bei Apple.
Wie kriegt mans wieder runter? iDroid lässt sich wie bereits erwähnt über Bootlace deinstallieren. Für OpeniBoot muss man das Gerät wieder per USB an den Rechner anschließen und in OpeniBoot den Konsolen-Modus starten. Danach sind nur noch drei Befehle im Terminal auf dem Ubuntu-Rechner notwendig:
# ./oibc uninstall reboot
Fazit: Noch muss man ein bisschen warten, bis iDroid schneller und der Market nutzbar wird, aber auch jetzt kann man damit seinen Spaß haben. Für einen wirklich produktiven Einsatz muss natürlich früher oder später ein natives Android-Gerät her, zum testen taugt es aber, und bisher gefällt mir Android ganz gut, vor allem wegen der höheren Freiheit des Nutzers.