[Howto] Root auf dem T-Mobile G1 / HTC Dream - Update: 28.12.2009

  • 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:

    • Astro File Manager
    • Telnet


    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:


    Code
    /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...


    Code
    01 02 03 04 ...... ef a9


    ...wird dann somit:


    Code
    a9 ef ....04 03 02 01


    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:


    Code
    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.

  • Zitat von Spartacus


    Nur eine Frage bleibt offen: Haben diese Community-Firmwares auch Support für das deutsche Tastaturlayout?


    Die meisten Roms haben deutsche Tastaturlayouts. Allerdings nicht alle. Steht oft bei den Release Notes dabei. Das Unslaved- und Cyanogen-Rom haben z.B. deutsche Tastatur.


    Im schlimmsten Fall hast du halt 'Z' und 'Y' vertauscht. Der Rest ist gleich.


  • Ist es auch möglich das Image einfach komplett Byte für Byte auf die Sd-Karte zu schreiben? also mit einem beherzten dd if=goldcard.img of=/dev/sdc1 unter Linux?!

  • Zitat von Spartacus


    Ist es auch möglich das Image einfach komplett Byte für Byte auf die Sd-Karte zu schreiben? also mit einem beherzten dd if=goldcard.img of=/dev/sdc1 unter Linux?!


    Sorry, war im Urlaub.


    Ja, allerdings überschreibst du dann vermutlich auch die Partitionstabelle - musst die Speicherkarte also dann neu partitionieren und formatieren.

  • Hallo liebes Forum,
    hallo Temar,
    zuerst mal Danke für die Super Anleitung zum "rooten".


    Ich komme allerdings an der Stelle mit dem remount nicht weiter.
    Ich erhalte eine Fehlermeldung, bzw. die Hilfe zu mount angezeigt nachdem ich den Befehl zum remount abgesetzt habe.
    Ein einfaches mount zeigt dann auch, dass /system nach wie vor ro ist.
    Die Schreibweise habe ich mehrfach kontrolliert und konnte keinen Fehler feststellen.
    btw. ich habe ## in der Konsole stehen, nicht nur #.
    Hat das eine Bedeutung?
    Kann mir jemand helfen?


    lg
    dasloewi[hr]


    Sorry, hat sich erledigt.
    Nach einem Neustart hats jetzt funktioniert.
    lg
    dasloewi

  • Hi,


    Nach dem schreiben des Goldcard codes wurde die karte nicht mehr erkannt " Unbekanntes Datenformat"


    Nach einer Formatierung der KJarte ging es wieder, dann hab ich Daten aufgespielt, im Bootmenü bekomm ich jetzt "Not Allowed"


    Kann mir da jemand helfen?

  • Zitat von marcel3067


    Nach dem schreiben des Goldcard codes wurde die karte nicht mehr erkannt " Unbekanntes Datenformat"


    Wie hast du denn das goldcard.img auf die Karte geschrieben? Unter Linux mit 'dd' oder unter Windows mit dem Editor?


    Zitat


    Nach einer Formatierung der KJarte ging es wieder, dann hab ich Daten aufgespielt, im Bootmenü bekomm ich jetzt "Not Allowed"


    "Not allowed" bedeuted, dass dein G1 die Karte nicht als Goldcard erkennt. Da gibt es jetzt zwei Möglichkeiten:


    • Du hast einen Fehler beim Abschreiben/Umschreiben der CID-Nummer gemacht.
    • Beim Neuformatieren wurde der MBR neu geschrieben und damit der goldcard code gelöscht.


    Zitat


    Kann mir da jemand helfen?


    Wenn du es nach Anleitung gemacht hast, dann sollte eigentlich kein Neuformatieren nötig sein, weil du nur den Bootcode ersetzt und nicht die Partitionstabelle überschreibst. Trotzdem kann man normalerweise bedenkenlos die Karte danach umpartitionieren und neu formatieren ohne dass der Goldcard-Code gelöscht wird.


    Entweder hast du also die Karte beim Formatieren wirklich komplett neu initialisiert (inkl. Bootcode) und damit den Goldcard-Code überschrieben oder aber schlicht die CID falsch abgeschrieben oder falsch umgeschrieben. Überprüfe am besten erstmal, dass die CID stimmt und lass dir ein neues Goldcard-Image schicken. Dann schreib dieses Image drauf und versuche dabei die Partitionstabelle nicht zu überschreiben (Offsets im Disk-Editor beachten!). Wenn nach der ganzen Prozedur deine Partition noch funktioniert, du also nicht neuformatieren musst, dann sollte es auf jedenfall klappen.

  • Ich habe den "Code" über das Handy mit dem Astro Browser auslesen lassen und dann den Code rückwärts auf der Website angegeben.


    Dann habe ich die Goldcard Datei per E-mail bekommen.


    Dann hab ich die Datei auf der SD gespiechert, dann hab ich die goldcard datei über den HEX editor am pc geöffnet und die SD card.


    Dann hab ich den Code aus der Goldcard datei kopiert, und die Zahlen, und diese dann in die sd zahlen codes überschrieben und geseichert, wenn ich das USB trenne schimpft das handy, und der PC kann mit der SD auch nix mehr anfangen.

  • Zitat von marcel3067


    Ich habe den "Code" über das Handy mit dem Astro Browser auslesen lassen und dann den Code rückwärts auf der Website angegeben.


    In zweier Blöcken und ohne Leerzeichen hoffe ich :)


    Zitat


    Dann hab ich den Code aus der Goldcard datei kopiert, und die Zahlen, und diese dann in die sd zahlen codes überschrieben und geseichert,


    Den Code und die Zahlen?? Du hast da ja drei Blöcke in dem Fenster: Links die Offsets, in der Mitte die Hex-Darstellung und Rechts die Ascii-Darstellung.


    Du musst die Daten im mittleren Block kopieren (rechts geht vielleicht auch, weiss nicht) aber NICHT beide Blöcke.


    Zitat


    wenn ich das USB trenne schimpft das handy, und der PC kann mit der SD auch nix mehr anfangen.


    Ja, weil du viel zu viel auf die Karte schreibst. Wenn du den mittleren und den rechten Block markiert hast, dann wird irgendein Stuss auf die Karte geschrieben und dabei auch deine Partitionstabelle überschrieben.


    Kopier also nur den mittleren Block ODER den rechten Block und füg das dann entsprechend auf deiner SD-Karte ein. Wenn du alles richtig machst wird deine Partitionstabelle nicht überschrieben und die Karte weiterhin erkannt. Du kannst die Prozedur "Neuformatieren => Goldcard-Code schreiben" einfach solange wiederholen bis es klappt. Danach sollte dann auch das Aufspielen der alten Firmware klappen.

  • Dir Nummer hab ich so eingegeben ( 4cb800ccd86214087423035535443530 ), oder muss ich immer 2 und dann eine Lücke, weil da steht ja ohne leerzeichen.


    Wenn ich die Nummer in der Mitte makiere, werden Rechts die Sachen automatisch mit makiert, also ich muss beides Auswählen ( Mitte und rechts )

  • Zitat von marcel3067


    Dir Nummer hab ich so eingegeben ( 4cb800ccd86214087423035535443530 ), oder muss ich immer 2 und dann eine Lücke, weil da steht ja ohne leerzeichen.


    Ist schon richtig so, vorausgesetzt deine Original-Nummer ist:


    3035443555032374081462d8cc00b84c


    Zitat


    Wenn ich die Nummer in der Mitte makiere, werden Rechts die Sachen automatisch mit makiert, also ich muss beides Auswählen ( Mitte und rechts )


    Ahja, kann sein. Vielleicht wurde das geändert. Und du markierst auch nur bis Offset 00000170?


    Ich glaube aber, dass es bei dir nicht an der Nummer liegt. Da du ja jedesmal deine Partition schrottest und die Karte hinterher neu formatiert werden muss machst du irgendwas bei der Bedienung des HxD-Editors falsch. Im Prinzip musst du nur alles bis Offset 170 markieren, dann kopieren und auf der G1-SD-Karte einfügen. Danach sollte deine Partition noch intakt sein.

  • Zitat von marcel3067


    Ich makier es geh dann uafkoperen, geh dann auf die sd und makiere bis Offset 170, dann rechtsklick auf Schreiben, oben auf Datei und speichere es.


    Hmm, alles richtig. Im Prinzip kann man ja auch nicht viel falsch machen.


    Vergleich doch mal die Daten vom Goldcard.img und der SD-Karte nachdem du auf "Schreiben" geklickt hast. Wenn da bei beiden Reitern das gleiche steht (zumindest bis Offset 170), dann ist es im Prinzip nicht so wild, dass deine Partitionstabelle überschrieben wird. Du hast dann zumindest schonmal den richtigen Bootcode drauf. Jetzt musst du nur dafür sorgen, dass beim Neupartitionieren und Formatieren der Bootcode nicht wieder überschrieben wird.


    Wie hast du denn die Karte neu formatiert?

  • Zitat von marcel3067


    In FAT32


    Hehe, da reden wir aneinander vorbei. Ich meine die Prozedur mit der du die Karte formatiert hast. Also welche Tools hast du genutzt?


    Du solltest einen normalen Partitionseditor verwenden, der nicht automatisch einen neuen Masterboot-Record schreibt. Dann bleibt dir der Boot-Code erhalten und du kannst trotzdem die Karte partitionieren und formatieren.


    Mit Linux ist das recht einfach. Ich bin mir nicht sicher ob der Standard-Microsoft-Partitionseditor automatisch einen neuen MBR schreibt.

  • Zitat von marcel3067


    Ich habe es mit dem Windows Parti manager gemacht, ich such mir mal ein anderen;)[hr]
    So auch mit einem anderen tool, der Code ist nach dem Formatieren wieder anders:shy:


    Sorry, hab dein Edit nicht gesehen.


    Der Code darf ja auch in Teilen wieder anders sein, weil bei dir ja die Partitionstabelle überschrieben wird. Nur der MBR ganz am Anfang muss gleich sein.


    Mir fällt jetzt langsam auch nix mehr ein, was bei dir schief gehen könnte. Bei xda-developers.com haben manche geschrieben, dass sie es mit der Orignal-Speicherkarte nicht hinbekommen haben, aber mit ner Anderen Erfolg hatten. Wieder andere haben geschrieben, dass sie es nur mit nem externen Kartenleser hinbekommen haben.


    Generell sollte das aber alles nicht nötig sein. Wenn du weder ne alternative Speicherkarte zur Hand hast, noch einen Kartenleser, dann würde ich dir Linux empfehlen. Damit geht es eigentlich straight forward. Vor allem überschreibt dir Linux nicht wieder den MBR. Wenn du's mit Linux probieren willst, dann kann ich dir ja mal ne kurze Anleitung schreiben.

  • Temar


    Mir geht es gleich wie Marcel. Im Hexeditor alles bis einschließlich der Zeile Offset 170 kopiert vom goldcard.img auf die SD Karte. Sobald die Änderungen gespeichert werden beschwert sich XP dass der Datenträger nicht formatiert ist. Ich kann also keine Dateien rüberkopieren bevor ich die Karte nicht wieder formatiere.


    Nach dem Formatieren per Windows Explorer kann man zwar die files aufspielen, beim Neustart kommt aber die bekannte "Not allowed" Meldung. Öffnet man die SD wieder im HxD sieht man das die ersten Zeilen wieder alle überschrieben wurden


    http://img33.imageshack.us/img33/5501/tempwa.png


    Ich arbeite relativ häufig mit Hexeditoren und kann eigentlich ausschließen dass irgendwas mit der Bedienung nicht passt...


    [size=xx-large]- FEHLER GEFUNDEN -[/size] http://forum.xda-developers.com/showpost.php?p=4289899


    "Disconnect the USB cable connected to your SD card, then plug it back again. Go to My Computer, you will see your SD card (E.g. “Removable Disk ( F” ), double click and see if you can access it. If it prompted you to format, then forget about this SD card, don’t think it will work. After trying for days, I ended up buying a Kingston 2GB card."


    Habe die mitgelieferte Sandisk probiert und eine ältere Kingston 2gb => beide funktionieren nicht. Werde mal eine neuere Kingston kaufen

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!