Root auf dem T-Mobile G1 / HTC Dream
Updates
28.12.2009
- Rom-Empfehlungen geändert.
- Optionale Updates: Neues Recovery hinzugefügt.
16.09.2009
- Rom-Empfehlungen geändert.
- Optionales Update: Neues Recovery hinzugefügt.
Benötigte Software
Auf dem Handy müssen folgende Programme installiert sein:
Beide Programme können kostenlos vom Android Market installiert werden.
Zusätzlich benötigt ihr folgende Windows Programme:
Und hier die Firmware, die ihr auf's Handy flasht:
Goldcard erstellen
Eine Goldcard ist eine speziell präparierte Speicherkarte, die es einem Hersteller erlaubt beliebige Firmware-Versionen aufzuspielen. Natürlich müssen diese Firmware-Versionen ebenfalls korrekt signiert sein und daher ist das erstellen einer Goldcard nur der erste Schritt. Er erlaubt es uns eine ältere Firmware-Version zu flashen (die ja eine korrekte Signatur vorweisen kann).
Damit nicht jeder Depp (also wir) beliebig seine Firmware flashen kann hat sich der Hersteller etwas einfallen lassen: Die Seriennummer des Datenträgers (also die der SD-Karte) wird mit einem speziellen Algorithmus verschlüsselt und am Anfang auf die Karte geschrieben (in den Bootloader). Daran erkennt das Gerät, dass die eingelegte Karte keine normale SD-Karte ist, sondern eine Goldcard.
Als Goldcard könnt ihr einfach die Speicherkarte nehmen, die beim Handy dabei war. Habt ihr da schon wichtige Daten drauf, dann nutzt besser eine neue Karte.
Um an die Seriennummer der SD-Karte zu kommen benötigt ihr den Astro-File-Manager. Startet ihn und drückt so lange auf den Pfeil nach oben, bis ihr im Hauptverzeichnis seid. Dann wechselt ihr in den Ordner:
/sys/class/mmc_host/mmc1/mmc1:abcd
Der Wert abcd am Ende des Pfades hängt von eurer Speicherkarte ab und kann variieren. Seid ihr in dem Ordner angekommen, drückt ihr lange auf die Datei cid und wählt dann Open As -> Text -> File Viewer aus. Die Datei wird geöffnet und ihr seht eine Nummer. Markiert diese Nummer und klickt dann lange in das Textfeld und wählt Kopieren aus.
Verlasst nun den Astro-File-Manager und startet GoogleMail. Erstellt eine neue E-Mail an euch selbst und drückt lange in das Textfeld für den Nachrichtentext. Es erscheint ein Popup und ihr könnt die kopierte Nummer in die Mail einfügen. Alternativ könnt ihr die Nummer auch einfach abschreiben. Ihr dürft aber keine Fehler machen!
Jetzt geht ihr an euren Windows Rechner und ruft die Mail ab, die ihr euch gerade geschickt habt. Kopiert die Nummer und fügt sie in einen Text-Editor ein (Notepad oder Word). Um aus der Nummer eine Goldcard-Nummer zu machen müsst ihr sie jetzt in Zweier-Blöcken umdrehen. Aus der Nummer...
...wird dann somit:
Hier dürft ihr keinen Fehler machen! Überprüft es am besten mehrfach! Wenn ihr fertig seid, entfernt die Leerzeichen zwischen den Nummernblöcken.
Eure konvertierte Nummer könnt ihr nun in einen Goldcard-Bootloader umwandeln lassen. Dieser Service steht kostenlos im Web unter: http://revskills.de/pages/goldcard.html zur Verfügung. Gebt eure E-Mail Adresse und die Nummer ein und klickt auf "Continue". Nach kurzer Zeit erhaltet ihr dann eine Datei per E-Mail.
[UPDATE vom 30.10.2009]
Auch wenn auf der oben genannten Webseite etwas von CID bzw. Card ID o.a. steht, kommt da die konvertierte Kartennummer ins Eingabe-Feld rein! (so wie es oben steht!)
[/UPDATE]
Diese Datei müsst ihr jetzt auf eure G1-Speicherkarte schreiben. Startet den HxD-Editor und klickt auf Extras -> Datenträger öffnen. Merkt euch hier, welche Geräte unter Physische Datenträger aufgelistet sind. Drückt auf Abbrechen und schliesst das G1 per USB an euren Computer an. Auf dem G1 selber müsst ihr jetzt noch die USB-Verbindung bereistellen, so dass Windows das G1 als Wechseldatenträger erkennt.
Wechselt jetzt wieder in den HxD-Editor und klickt erneut Extras -> Datenträger öffnen. Dort ist jetzt auch der Datenträger des G1 aufgelistet. Klickt diesen an und entfernt den Haken bei Schreibgeschützt öffnen - klickt dann auf Ok. Achtet darauf, dass ihr den Physischen Datenträger öffnet, da es mit dem logischen nicht funktioniert! (Danke an Aesculap).
Öffnet nun unter Extras -> Datenträgerabbild öffnen die Datei goldcard.img, die euch per E-Mail zugesandt wurde. Lasst die Sektorgrösse auf 512 Byte stehen und klickt Ok. Im HxD Editor habt ihr jetzt zwei Reiter. Einen für eure SD-Karte und einen für das Goldcard Image.
Wählt den Reiter goldcard.img und markiert dort alles bis einschliesslich Offset 00000170. Die Offsets sind auf der linken Seite in blau angegeben. Drückt nun auf Kopieren und wechselt zum Reiter des G1-Datenträgers. Hier markiert ihr ebenfalls alles bis einschliesslich Offset 00000170, klickt dann mit der rechten Maustaste auf den markierten Bereich und wählt Schreiben. Speichert eure Änderungen und beendet den HxD-Editor.
Firmware Downgrade
Um die alte Firmware einzuspielen entpackt ihr jetzt die Datei Dreaming-RC7.zip und kopiert das darin enthaltene Image DREAIMG.NBH in den Hauptordner eurer G1-Speicherkarte. Danach kopiert ihr noch die Dateien update.zip und recovery.img ebenfalls auf die G1-Speicherkarte. Die Datei update.zip darf aber NICHT entpackt werden.
Ihr habt dann also folgende drei Dateien auf eurem G1-Datenträger:
- DREAIMG.NBH
- recovery.img
- update.zip
Sobald alles kopiert ist, beendet ihr die USB Verbindung zum G1 (über den "Sicher entfernen" Mechanismums von Windows) und schaltet das G1 aus. Haltet jetzt den Kamera-Knopf gedrückt und drückt dann den Auflegen-Knopf. Haltet beide Knöpfe gedrückt, bis ein regenbogenfarbiger Bildschirm des Bootloaders erscheint.
Das Image DREAIMG.NBH wird vom G1 analysiert und es erscheint eine Zusammenfassung, die euch auffordert den Power Knopf zu drücken um das Update jetzt einzuspielen. Nach dem erfolgreichen Update solltet ihr wieder im regenbogenfarbigen Bootloader-Menü landen. Dort drückt ihr Auflege, Abnehmen und Menü gleichzeitig um das G1 neu zu starten.
Der erste Bootvorgang des G1 kann eine weile dauern, aber früher oder später solltet ihr auf dem Home-Screen der neuen Firmware landen. Meldet euch dort mit eurem Google-Account an um das Handy freizuschalten.
Recovery Image Einspielen
Jetzt habt ihr die alte Firmware im Betrieb, die es euch erlaubt Root-Rechte zu erlangen. Damit ihr auch in Zukunft beliebige Firmware-Versionen (ohne Goldcard) flashen könnt, müsst ihr jetzt noch das Recovery-Image ersetzen. Das Recovery-Image verhindert normalerweise, dass Firmware Versionen aufgespielt werden können, die nicht vom Hersteller signiert sind. Daher ersetzen wir es durch eine Version, die diese Einschränkung nicht hat.
Drückt auf dem G1 auf die Home-Taste, so dass ihr euch auf dem Home-Screen befindet. Öffnet jetzt die Hardware-Tastatur und drückt dort zwei mal die Enter-Taste. Dann tippt ihr einfach blind telnetd ein und drückt erneut die Enter-Taste. Dabei öffnen sich die Kontakte, aber das könnt ihr einfach ignorieren.
Startet jetzt das Telnet-Programm, welches ihr euch aus dem Android-Market runterladet und gebt dort in das Textfeld localhost ein. Die Portnummer 23 müsst ihr so lassen wie sie ist. Es erscheint eine Kommandozeile mit einem #-Prompt. Gebt dort folgendes ein:
mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
cd sdcard
flash_image recovery recovery.img
cat recovery.img > /system/recovery.img
Bootloader Aktualisieren
Als letzter Schritt muss jetzt noch der Bootloader aktualisiert werden. Verlasst Telnet mit der Home-Taste und schaltet euer G1 aus. Haltet nun die Home-Taste gedrückt und schaltet dann das G1 mit der Auflegen-Taste wieder ein. Haltet beide Tasten gedrückt, bis ihr in den Recovery-Modus kommt. Dort drückt ihr erst Alt-L und dann Alt-S. Das G1 spielt jetzt das Bootloader-Update ein und fordert euch dann auf mit Home + Back neu zu starten.
Eigene Firmware Einspielen
Geschafft! Ihr seid jetzt Herr über euer G1 und könnt beliebige Firmware-Versionen einspielen. Allerdings müsst ihr euch beeilen, denn ihr wollt auf keinen Fall das offizielle Update von T-Mobile eingespielt bekommen. Dies würde all eure Mühen wieder zu nichte machen. Da ihr im Moment eine sehr alte Firmware aufgespielt habt, wird euch euer G1 also bald auffordern ein Update zu machen. Lehnt dies ab und schaut, dass ihr schleunigst eine Community-Firmware einspielt. Wenn ihr das Update zu lange ablehnt, wird es irgendwann von alleine eingespielt.
Ihr habt also jetzt die Qual der Wahl eine der vielen Community-Firmwares auszuwählen: http://db.androidspin.com/android_build_information.asp
Um eine Firmware einzuspielen ladet ihr das Image herunter, benennt es als update.zip und kopiert es in den Hauptordner eurer G1-Speicherkarte. Dann geht ihr vor wie beim aktualisieren des Bootloaders. Also: Home + Auflegen, dann Alt+L Alt+S und neu starten mit Home + Back.
Beachtet aber bitte UNBEDINGT die Anweisungen des Rom-Herstellers. Manche Roms benötigen einen neueren Bootloader oder ein neueres Radio-Image! Wenn ihr nicht aufpasst, könnt ihr euer G1 in einen Briefbeschwerer verwandeln!
Empfehlungen:
- Das beliebteste Rom auf dem Markt ist Cyanogens Rom. Hier sollte man sich die Fehlerberichte der User genau durchlesen und vor allem möglichst auf eine stabile Version zurückgreifen. Cyanogen baut State-of-the-Art Roms, die aufgrund ihrer Aktualität teilweise noch einige Fehler enthalten.
- Wer lieber ein möglichst stabiles Rom bevorzugt, sollte sich Dwangs Roms anschauen. Er legt wert auf Geschwindigkeit und Stabilität.
Empfohlene Updates
Neues Radio-Image:
Dieses Radio-Image solltet ihr unbedingt einspielen auch wenn ihr noch keine alternative Firmware aufgespielt habt. Geht dabei vor, wie beim Aufspielen des Bootloaders oder einer eigenen Firmware: Umbenennen in Update.zip, Ausschalten, Home+Auflegen, Alt+L Alt+S, Home + Back
Optionale Updates
RA-dream 1.5.2 Recovery:
Amon_RA hat ein neues Recovery Image vorgestellt. Es enthält noch mehr Backup-Möglichkeiten und einige weitere Funktionen, die das Einrichten von Partitionen und das selektive Löschen von Einstellungen ermöglichen.