16. Juni 2013

Galaxy Nexus: Rooten unter Linux

In der folgenden Anleitung sollen die Schritt erläutert werden um das Smartphone "Samsung Galaxy Nexus" unter einem Linux-System zu rooten um erweiterte Rechte zu erhalten. Voraussetzung hierfür ist, dass die Tools adb und fastboot zuvor installiert wurden. Die Schritte dieser Anleitung führen zur Löschung aller internen Daten auf dem Gerät. Da das Galaxy Nexus keine SD-Karte besitzt gehen dadurch alle gespeicherten Daten verloren!

Das Samsung Galaxy Nexus (Bildquelle: androidmag.com; Klicken zum Vergrößern)

Entsperren des Bootloaders


Der erste Schritt zum Rooten des Geräts ist das Entsperren des Bootloaders. Dies ist notwendig um anschließend einen alternativen Recovery-Modus installieren zu können.
  1. Das Gerät muss hierfür zunächst durch Halten beider Lautstärke-Tasten, sowie der Power-Taste in den Bootloader-Modus gestartet werden.
  2. Das Smartphone muss nun über ein MicroUSB-Kabel mit dem PC verbunden werden.
  3. Anschließend kann über eine Konsole auf dem Linux-System die korrekte Verbindung über folgenden Befehl überprüft werden. Falls eine korrekte Verbindung besteht, sollte die Seriennummer des Smartphones ausgegeben werden.
     sudo fastboot devices  
    
  4. Ist diese Bedingung erfüllt, so kann in diesem nächsten Schritt der folgende Befehl eingegeben werden um den Bootloader zu entsperren. Um die Entsperrung zu bestätigen muss dabei die erscheinende Abfrage mit "Yes" beantwortet werden, indem über die Lautstärke-Tasten zu dem entsprechenden Menüpunkt navigiert wird und die Auswahl anschließend mit der Power-Taste bestätigt wird.
     sudo fastboot oem unlock  
    
  5. In dem nun erscheinenden Menü muss nun auf die selbe Weise über die Lautstärke-, bzw. der Power-Tasten, der Recovery-Modus ausgewählt werden. Es sollte nun das Android-Maskottchen auf dem Rücken liegend mit einem roten Warndreieck dargestellt werden. Über zufälliges Drücken der Lautstärke- und Power-Tasten sollte ein Menü sichtbar werden, über dieses dann die Option "wipe data/factory reset" gewählt und anschließend bestätigt werden muss (Hierdurch werden die Daten auf dem Gerät gelöscht).

ClockworkMod Recovery installieren


Wie bereits erwähnt muss im folgenden Schritt ein alternativer Recovery-Modus installiert werden, der erweiterte Modifikationen und das Installieren von Custom-ROMs erlaubt. In diesem Fall handelt es sich dabei um "ClockworkMod Recovery", dessen Installation in den folgenden Schritten erläutert wird:
  1. Zuerst muss das Gerät einmal mehr über das Halten der beiden Lautstärke- und der Power-Taste in den Bootloader-Modus gestartet werden.
  2. Anschließend nun der alternative Recovery-Modus "ClockworkMod Recovery" heruntergeladen und auf das Gerät gespielt werden. Die hierfür notwendige Datei ist unter diesem Link verfügbar.  Nach dem Download der Datei wechselt man per Konsole in das entsprechende Verzeichnis, in dem diese gespeichert wurde und führt folgenden Befehl aus um den Recovery-Modus auf dem Galaxy Nexus zu installieren.
     sudo fastboot flash recovery recovery-clockwork-5.5.0.4-toro.img  
    
  3. Nachdem angezeigt wird, dass das Flashen von ClockworkMod Recovery erfolgreich abgeschlossen wurde, kann das Gerät über den unten stehenden Befehl neu gestartet und das Android-Betriebssystem gebootet werden.
     sudo fastboot reboot  
    
  4. Um zu testen, ob Recovery-Modus korrekt installiert werden konnte, sollte das Gerät nun erneut, wie bereits beschrieben, in den Bootloader-Modus gestartet werden. In dem entsprechenden Menü wählt man dann die Option zum Starten des Recovery-Modus. Falls ClockworkMod Recovery erfolgreich installiert wurde, ist die über eine Ausgabe der installierten Version ersichtlich. Falls stattdessen der Stock-Recovery-Modus, bei dem der bereits beschriebene, auf dem Rücken liegende, Androide angezeigt wird geladen wird, wurde der installierte Recovery-Modus beim Starten des Betriebssystems überschrieben. In diesem Fall  muss der im Folgenden beschriebene Workaround angewendet werden um anschließend die vorherigen Schritte zur Installation von ClockworkMod Recovery erneut auszuführen.
Das Hauptmenü von ClockworkMod Recovery (Bildquelle: theunlockr.com; Klicken zum Vergrößern)

Überschreiben von ClockworkMod Recovery verhindern


Die folgenden Schritt sind nur notwendig wenn, wie zuvor beschrieben, die Installation des alternativen Recovery-Modus gescheitert ist, indem dieser durch das anschließende Booten des Android-Betriebssystems überschrieben wurde.

Falls ClockworkMod Recovery beim Starten von Android überschrieben wird, liegt das an der Datei /system/etc/install-recovery.sh, die beim Bootvorgang ausgeführt wird und dafür sorgt, dass der Stock-Recovery-Modus wiederhergestellt wird. Die folgenden Schritte stellen einen Workaround dar, durch den dieses Verhalten verhindert werden kann.
  1. Das Galaxy Nexus muss über das MicroUSB-Kabel mit dem PC verbunden werden. Dabei muss das Android-Betriebssystem regulär gestartet worden sein und in den Entwickleroptionen das USB-Debbuging aktiviert werden. Über folgenden Konsolenbefehl kann die korrekte Funktion der Verbindung überprüft werden. Der Befehl sollte als Ausgabe die Seriennummer des angeschlossenen Geräts anzeigen.
     adb devices  
    
  2. Anschließend muss folgender Befehl in der Linux-Konsole ausgeführt werden. Dadurch wird eine Shell gestartet über die sich auf das Gerät zugreifen lässt.
     adb shell  
    
  3. In dieser adb-Shell müssen nun nacheinander folgende Befehle ausgeführt werden, um die bereits erwähnte Datei install-recovery.sh in install-recovery.bak umzubenennen. Dadurch kann sie vom System nicht mehr gefunden und ausgeführt werden um den Stock-Recovery-Modus wiederherzustellen.
     su  
     mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system  
     chmod 755 /system/app  
     cd system/etc  
     mv install-recovery.sh install-recovery.bak  
     exit 
Die Installation von ClockworkMod Recovery kann nun nach den, im vorherigen Abschnitt "ClockworkMod Recovery installieren" bereits aufgeführten, Schritten erneut durchgeführt werden. Anschließend sollte die Installation auch nach erneutem Booten des Android-Betriebssystems erhalten bleiben.

Root-Rechte erlangen


Nachdem nun eine funktionierende Version von ClockworkMod Recovery auf dem Gerät vorhanden sein sollte, muss dieser alternative Recovery-Modus nun dazu genutzt werden, die Root-Rechte zu erlangen. Dieses Vorgehen wird durch die folgenden Schritte beschrieben.
  1. Zunächst muss das Tool "SuperSU" unter dieser Adresse heruntergeladen werden. Bei bestehender USB-Verbindung zu dem Galaxy Nexus, welches ein weiteres mal erst in den Recovery-Modus versetzt werden muss, kann anschließend folgender Befehl ausgeführt werden, um das zip-Archiv aus dem Download-Verzeichnis heraus auf das Gerät zu kopieren.
     adb push UPDATE-SuperSU-v1.04.zip /data/media  
    
  2. Über folgenden Befehl wird das Smartphone nun erneut in den Recovery-Modus neugestartet.
     adb reboot recovery  
    
  3. Dort muss nun der Menüpunkt "install zip from sdcard" und anschließend "choose zip from sdcard" gewählt werden. Das zip-Archiv sollte im Root-Verzeichnis der SD-Karte zu finden sein. Nach dessen Auswahl und Installation kann das Gerät neu gestartet werden und sollte von nun an gerootet sein.
Mittels bestimmter Apps aus dem Google Play Store lässt sich überprüfen, ob das Gerät tatsächlich korrekt gerootet wurde. Hierfür eignet sich beispielsweise die App Root Checker.

Keine Kommentare:

Kommentar veröffentlichen