Posts mit dem Label fastboot werden angezeigt. Alle Posts anzeigen
Posts mit dem Label fastboot werden angezeigt. Alle Posts anzeigen

9. September 2013

Nexus 4: Rooten unter Linux

Da mein stets treuer Begleiter, mein Galaxy Nexus, demletzt leider von uns gegangen ist, habe ich mir als Ersatz dessen Nachfolger, das Nexus 4, zugelegt. Um auch auf diesem Smartphone erweiterte Rechte für die Ausführung bestimmter Apps, wie z.B. eines In-App-Werbeblockers, zu haben, gilt es, das Gerät vor der Inbetriebnahme zunächst einmal zu Rooten. Da in diesem Blog auch bereits für das Galaxy Nexus eine Anleitung zu finden ist, wie es gerootet werden kann, soll ein dementsprechender Artikel über das analoge Vorgehen beim Nexus 4 natürlich nicht fehlen. Im Folgenden sollen daher die Schritte erklärt werden, die notwendig sind, um das Android-Smartphone zu rooten. In der Anleitung wird davon ausgegangen, dass das Rooten über einen PC erfolgt, der unter Linux läuft. Außerdem müssen auf dem System die Kommandozeilentools fastboot und adb installiert sein.

Das Nexus 4 (Bildquelle: n-droid.de, Klicken zum Vergrößern)

Bootloader entsperren


Zunächst einmal muss der  Bootloader des Geräts entsperrt werden. Hierfür, so wie auch für die folgenden Schritte, kann ein sogenanntes Root-Kit genutzt werden, das alle Tools enthält, die für das Rooten des Geräts notwendig sind. Ein solches Root-Kit für das Nexus 4 ist unter diesem Link verfügbar. Nachdem die zip-Datei heruntergeladen wurde, müssen die folgenden Punkte befolgt werden, um den Bootloader zu entsperren.
  1. Als erstes sollte das Archiv, das das Root-Kit enthält, in einen neuen Unterordner kopiert und entpackt werden. Hierfür können die folgenden Befehl in einem Terminal aus dem Download-Ordner heraus durchgeführt werden:
      $ mkdir Nexus4Root   
      $ mv Nexus4Root.zip Nexus4Root   
      $ cd Nexus4Root   
      $ unzip Nexus4Root.zip
    
  2. Um das Skript, das es erlaubt den Bootloader zu entsperren, ausführen zu können müssen Anschließend die Ausführrechte der entpackten Dateien über den folgenden Befehl angepasst werden:
      $ sudo chmod 755 *   
    
  3. Nun muss das Smartphone über ein USB-Kabel mit dem PC verbunden werden und über Halten der beiden Lautstärke- und der Power-Taste in den sogenannten Bootloader-Modus gestartet werden. Um zu überprüfen, ob eine funktionierende Verbindung zwischen dem Gerät und dem PC besteht, kann der folgende Konsolenbefehl genutzt werden. Falls eine Verbindung besteht, sollte als Ergebnis des Befehls eine Ausgabe erscheinen, die eine Seriennummer und den Begriff "fastboot" beinhaltet.
     $ sudo fastboot devices  
    
  4. Anschließend muss folgende Befehl ausgeführt werden um das Entsperren des Bootloaders anzustoßen:
     $ sudo ./fastboot-linux oem unlock  
    
    Daraufhin sollte auf dem Smartphone eine Abfrage erscheinen, ob das Entsperren tatsächlich durchgeführt werden soll, was mit "Yes" bestätigt werden muss. Hierfür kann über die Lautstärke-Tasten zu der entsprechenden Option navigiert werden und die Auswahl mit der Power-Taste bestätigt werden. Dabei sollte man jedoch beachten, dass dieser Schritt zur Löschung aller Nutzerdaten auf dem Gerät führt!
Wenn der Bootloader erfolgreich entsperrt werden konnte, ist die über die Zeile "LOCK STATE - unlocked" sichtbar, die zusammen mit anderen Informationen über den Status des Geräts im Bootloader angezeigt wird.

Alternativen Recovery-Modus flashen


In diesem nächsten Schritt muss ein alternativer Recovery-Modus auf das Gerät geflasht werden, der es erlaubt Skripte auszuführen und CustomROMs zu installieren. Im bereits genutzten Root-Kit ist als solcher bereits der Recovery-Modus "ClockworkMod Recovery" zu finden. Um diesen auf das Gerät zu flashen und zu starten sind die folgenden beiden Schritte nötig:
  1. Um das img-Datei, die den Recovery-Modus enthält, zu flashen muss der folgende Befehl in einem Terminal ausgeführt werden. Dabei muss weiterhin eine USB-Verbindung bestehen und das Smartphone im Bootloader-Modus gestartet sein.
     $ sudo fastboot flash recovery recovery-clockwork-touch-6.0.2.3-mako.img  
    
  2. Anschließend kann der Recovery-Modus gestartet werden, indem im Bootloader-Modus über die Lautstärke-Tasten zu dem Menüpunkt  "Recovery mode" navigiert wird und die Auswahl über die Power-Taste bestätigt wird.

App zur Root-Verwaltung installieren


In diesem letzten Schritt muss außerdem noch die App "SuperSU" installiert werden, die es erlaubt die Root-Rechte zu verwalten und einzelnen Apps zeitweise oder dauerhaft einzuräumen. Auch diese App ist im bereits heruntergeladenen Root-Kit enthalten. Über die folgenden Schritte kann sie installiert werden.
  1. Das Gerät sollte sich momentan im Recovery-Modus befinden und dessen Menü angezeigt werden. Um die SuperSU-App von dem PC auf das Smartphone zu transferieren und zu installieren ist über die Lautstärke- und die Power-Tasten der Menüpunkt "install zip from sideload" auszuwählen.
  2. Anschließend wird vom PC aus das Kommandozeilentool adb genutzt um die zip-Datei, die die App enhält auf das Smartphone zu übermitteln. Analog zu dem Tool fastboot  kann die Konnektivität über den folgenden Konsolenbefehl überprüft werden:
     $ adb devices  
    
    Wenn eine Verbindung besteht, kann die App über den folgenden Befehl installiert werden:
     $ adb sideload CWM-SuperSU-v0.99.zip  
    

Neustart des Geräts und Überprüfung der Root-Rechte


Zuletzt kann das Gerät, das sich immer noch im Recovery-Modus befinden sollte, über die Option "reboot system now" neugestartet werden. Um zu Überprüfen, ob das Rooten erfolgreich war, gibt es spezielle Apps im Google Play Store, wie beispielsweise die App RootChecker.

Weiterführende Links:

8. September 2013

Nexus 10: Stock-Android wiederherstellen unter Linux

In diesem Artikel soll die Vorgehensweise erklärt werden, wie ein Nexus 10-Tablet, auf dem ein Custom-ROM aufgespielt wurde, wieder in den Auslieferungszustand zurückgesetzt werden kann, indem ein Stock-Android geflasht wird. Voraussetzung hierfür ist, dass auf dem Linux-Rechner der für das Flashen des Stock-ROMs genutzt wird die Kommandozeilen-Tools adb und fastboot installiert sind. Diese Anleitung sollte analog auch für alle anderen Nexus-Geräte funktionieren, insofern die dafür passende Version des Stock-ROMS heruntergeladen und geflasht wird.

Das hier beschriebene Vorgehen löste bei mir außerdem ein Problem, bei dem das Tablet nach dem Aufspielen einer CyanogenMod-Version nicht mehr startete, weil es im Bootscreen (in dem das Google-Logo angezeigt wird) hängen blieb. Nachdem ich das Stock-Android zurück gespielt hatte, bootete das Nexus 10 wieder ich konnte anschließend wieder CyanogenMod flashen.

1 Entsperren des Bootloaders


Zunächst muss der Bootloader entsperrt werden, insofern dies nicht bereits im Zuge der Installation eines CustomROMs geschehen ist.
  1. Um zu überprüfen, ob der Bootloader bereits entsperrt ist, muss das Gerät in den Bootloader-Modus gebootet werden. Hierfür müssen die beiden Lautstärke-, sowie die Power-Taste gehalten werden. Alternativ kann das Tablet bei bestehender USB-Verbindung in den Bootloader-Modus versetzt werden, indem der folgende Befehl in einem Linux-Terminal ausgeführt wird:
     $ adb reboot bootloader  
    
    In dem daraufhin erscheinenden Bootloader sind eine Reihe von Informationen über das Gerät aufgeführt. Unter dem Eintrag "LOCK STATE" ist ersichtlich, ob der Bootloader bereits entsperrt ist, oder nicht.
  2. Falls der Bootloader nicht bereits entsperrt ist, muss hierfür der unten stehende Konsolenbefehl bei bestehender USB-Verbindung ausgeführt werden.
     $ sudo fastboot oem unlock  
    
    Daraufhin sollte auf dem Tablet eine Abfrage erscheinen, die durch die Option "Yes" bestätigt werden muss. Hierfür muss mit den Lautstärke-Tasten zu dem entsprechenden Menüpunkt navigiert werden um die Auswahl anschließend mit der Power-Taste zu bestätigen. Es sollte jedoch beachtet werden, dass durch diesen Schritt alle auf dem Tablet gespeicherten Nutzerdaten gelöscht werden! 
    Der Bootloader des Nexus 10 (Bildquelle: gizmophiliacs.com, Klicken zum Vergrößern)

    2 Flashen eines "Factory Images"


    Wenn der Bootloader erfolgreich entsperrt wurde, kann anschließend ein sogenanntes "Factory Image", dass ein Stock-Android beinhaltet, auf das Gerät geflasht werden. Solche Factory Images für die Nexus-Geräte stehen unter https://developers.google.com/android/nexus/images zum Download zur Verfügung. Über diesen Direktlink kann das Android 4.3-Image für das Nexus 10 heruntergeladen werden. Nachdem die Datei heruntergeladen wurde, müssen die folgenden Schritte durchgeführt werden um das Stock-ROM zu flashen:
    1. Die zuvor heruntergeladene tgz-Datei muss zunächst entpackt werden. Hierfür kann unter Linux der folgende Konsolenbefehl genutzt werden, wobei der übergebene Dateiname eventuell angepasst werden muss:
       $ tar -zxvf mantaray-jwr66y-factory-3d8252dd.tgz  
      
    2. Anschließend muss in das, durch das Entpacken entstandene, Verzeichnis gewechselt werden und über folgenden Befehl das Skript zur Installation des Factory Images ausgeführt werden. Auch hierbei werden alle Nutzerdaten auf dem Gerät gelöscht! Dabei muss eine USB-Verbindung zu dem Gerät bestehen und sich dieses im Bootloader-Modus befinden.
       $ sudo ./flash-all.sh  
      
    Nachdem die oben aufgeführten Schritt durchgeführt wurden, sollte das Stock-Android des Nexus 10 wiederhergestellt sein.

    Falls der Bootvorgang des Stock-Androids bei dem Nexus-Logo nicht weiter geht, muss das Gerät erneut in dem Bootloader-Modus versetzt werden, indem die beiden Lautstärke-Tasten und die Power-Taste gehalten werden. Anschließend muss die Option "Recovery mode" über die Lautstärke-Tasten ausgewählt werden und der Recovery-Modus über Drücken der Power-Taste gestartet werden. Der Recovery-Modus des Stock-Androids zeigt einen auf dem Rücken liegenden Androiden. Über mehrmaliges Drücken der beiden Lautstärke- und der Power-Taste sollten die Optionen des Recovery-Modus sichtbar werden. Aus diesen Optionen ist die Auswahl "wipe data/factory reset" zu wählen und zu bestätigen. Nach einem anschließenden Neustart des Geräts, sollte das Stock-Android erfolgreich gebootet werden.

      Weiterführende Links:

      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.