ROM Update Utility (RUU)

Aus Android Wiki
(Weitergeleitet von RUU)

Ein ROM Update Utility, kurz RUU genannt, ist eine Möglichkeit, ein offizielles ROM auf ein HTC-Gerät zu flashen (~installieren). Die RUUs werden dabei nur selten von HTC direkt bereitgestellt, sondern geleakt, also von einem Mitarbeiter oder einer anderen Quelle unerlaubt veröffentlicht.

Hintergrund[Bearbeiten | Quelltext bearbeiten]

HTC hat mit dem RUU eine Möglichkeit entwickelt, ein HTC-Gerät, auch mit S-ON, einem offiziellen ROM, zu flashen. Zusätzlich wird meist noch ein Update für den HBOOT, das Radio sowie diverse andere Daten beigelegt.

Funktion[Bearbeiten | Quelltext bearbeiten]

Das RUU liegt für Windows-Systeme als ausführbare Datei (exe-Datei) vor und ist in der Handhabung sehr einfach und sicher gestaltet. Wenn man alle Schritte nach Anleitung im RUU befolgt, kann das Handy dabei im Regelfall nicht kaputt gehen. Das RUU ist an sich immer das selbe. Das einzige, was sich ändert, ist normalerweise die rom.zip, in der sich die Systemdateien befinden, die auf das Handy übertragen werden.

Folgende Dateien werden meist in der rom.zip hinterlegt:

boot.img
Beinhaltet den Boot-Header, den Kernel und den RAM-Disk
hboot*.nb0
HBOOT
recovery.img
Recovery
system.img
eigentliches Android-ROM
radio.img
Radio
ramdisk.img
wahrscheinlich Initial-RAM-Disk
rcdata.img
Radiodaten für das Inspire 4G
userdata.img
Beinhaltet Nutzerdaten (z. B. Einstellungen)
splash1.nb0
Splashscreen
android-info.txt
Informationen zum RUU

Die rom.zip ist von HTC signiert. Dadurch wird sichergestellt, dass auch Geräte mit S-ON durch ein RUU neu geflasht werden können.

Wird die RUU ausgeführt, werden zuerst Sicherheitshinweise und Haftungsausschlüsse angezeigt, die der Nutzer bestätigen muss. Im Anschluss wird die ROM-Version überprüft, die mit der RUU ausgeliefert wird. Durch einen Klick auf Aktualisieren liest die RUU mittels eines ADB- oder Fastboot-Befehls die aktuell installierte ROM-Version aus. Ist diese Version neuer als die, die durch die RUU ausgeliefert wird, wird eine Installation im weiteren Verlauf mit dem Fehler "main version older" abbrechen. Dieser Fehler wird allerdings durch den Bootloader generiert und von der RUU lediglich wiedergegeben.

Nachdem die Versionen feststehen, startet die RUU das Telefon in einen RUU-Modus. Dies geschieht mit dem Fastboot-Befehl "fastboot oem rebootRUU". In diesem Modus sieht der Nutzer nicht die einzelnen Schritte auf dem Gerät, sondern lediglich einen Fortschrittsbalken. Im Anschluss überträgt die RUU die rom.zip an das Gerät zur Installation. Dies geschieht wiederum mit dem Fastboot-Befehl "fastboot update rom.zip".

Nachdem die Datei vollständig übertragen wurde, überprüft der Bootloader die Gültigkeit der digitalen Signatur des Pakets. Stimmt diese nicht mit der erwarteten, von HTC hinterlegten, überein, wird die Installation mit dem Fehler "signature fail" abgebrochen. Dies hat primär den Zweck, dass nur von HTC offiziell freigegebene ROMs installiert werden können, macht allerdings eine Installation von Drittanbieter-Firmware über diese Methode unmöglich. Ist die Signatur gültig, wird das Paket entpackt und die android-info.txt gelesen.

Als weitere Überprüfung, ob die im RUU hinterlegte ROM für das Gerät bestimmt ist, wird nun die CID überprüft. Durch den Fastboot-ähnlichen Befehl "getvar cid" wird die CID des Gerätes gelesen und mit den gültigen der android-info.txt abgeglichen. Ist die CID nicht in der Liste enthalten, wird die Installation mit dem Fehler "cid incorrect" abgebrochen. Ist die CID enthalten, werden die Nutzerdaten mit dem Fastboot-ähnlichem Befehl "erase userdata" gelöscht. Dies soll vor allem Inkompatibilitäten von verschiedenen Kernel- und ROM-Versionen vorbeugen.

Nachdem die Nutzerdaten gelöscht wurden, werden die Inhalte der rom.zip geflasht. Der Nutzer kann den Fortschritt sowohl auf dem Display des Gerätes mit dem Fortschrittsbalken verfolgen, als auch durch die Informationsleiste der RUU, welche relativ detailliert wiedergibt, was gerade gemacht wird. Sind die Teile alle korrekt installiert, wird das Gerät mit dem Befehl "fastboot reboot" neu gestartet. Das Gerät ist nun aktualisiert.

Mögliche Fehlercodes[Bearbeiten | Quelltext bearbeiten]

Bei der Verwendung einer RUU wird bei einem erkannten Fehler oder Problem meist ein kurzer Satz, bzw. eine Satzgruppe, und ein Fehlercode ausgegeben. Im Folgenden Abschnitt befindet sich eine Liste der häufigsten Fehler, die auftreten können und eine kurze Beschreibung des Fehlers[1].

Error 110 FILE OPEN ERROR[Bearbeiten | Quelltext bearbeiten]

Dieser fehler bezieht sich nicht auf das Smartphone, sondern auf das RUU selbst. Es wurde erkannt, das eine oder mehrere wichtige Dateien fehlen oder korrupt sind (die Prüfsumme stimmt nicht mit der erwarteten überein). Die einzige Lösung hierbei ist es, sich das RUU-Paket erneut herunterzuladen, wenn möglich, aus einer anderen vertrauenswürdigen Quelle.

Error 120 MAIN BATTERY ERROR[Bearbeiten | Quelltext bearbeiten]

Der Akku des angeschlossenen Smartphones ist nicht genug aufgeladen. Da während der Installation das Gerät nicht geladen werden kann, bricht das RUU die Installation ab und empfihelt den Akku aufzuladen (mind. 30 %).

Error 130 MODEL ID ERROR[Bearbeiten | Quelltext bearbeiten]

Bei der Prüfung des Smartphones hat das RUU festgestellt, dass das auszuliefernde Update für ein anderes Gerät bestimmt ist, als das, welches angeschlossen ist. Lade ein RUU herunter, welches für dein Gerät bestimmt ist. In Ausnahmefällen kann man die Model ID mit den nötigen Rechten ändern um die Installation der RUU zu gewährleisten.

Error 131 CUSTOMER ID ERROR[Bearbeiten | Quelltext bearbeiten]

Dieser Fehler beschreibt, ähnlich dem Error 130, das die RUU, welche man heruntergeladen hat für eine andere CustomerID gedacht ist, als die, die auf dem Smartphone vorliegt. Dieser Fehler kann meist durch das Ändern der CID behoben werden und wird beim Debranden so praktiziert. Ist das Ändern der CID nicht möglich oder nicht erwünscht, hilft nur das Herunterladen einer RUU, welche für die CID bestimmt ist.

Error 140 BOOTLOADER VERSION ERROR[Bearbeiten | Quelltext bearbeiten]

Die im RUU enthaltene ROM wurde bereits an das Gerät gesendet und zum Flashen vorbereitet. Dieser Vorgang wurde abgerbochen, weil der Bootloader einen Fehler gemeldet hat. Ein Fehler dabei kann beispielsweise MAIN VERSION IS OLDER sein, welcher aussagt, dass die ROM Version auf dem Smartpone neuer ist als die, die mit dem Update ausgeliefert wird.

Error 170 USB CONNECTION ERROR[Bearbeiten | Quelltext bearbeiten]

Die USB Verbindung zwischen dem Smartphone und dem PC ist nicht korrekt hergestellt. Dies kann ein hardwaretechnisches Verbindungsproblem sein, oder es fehlen die USB-Treiber, bzw. diese sind nicht richtig installiert.

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]