O
ooo
Enthusiast
- 3.449
.
[Moto G 2015][XT1541][osprey][Stock-ROM][ROOT] Rooten mit TWRP Recovery
SKUs/Varianten
Vorbemerkungen
[Moto G 2015][XT1541][osprey][Stock-ROM][ROOT] Rooten mit TWRP Recovery
SKUs/Varianten
Vorbemerkungen
- Bitte immer ein Backup machen, bevor man etwas tut
- Die Benutzung der verlinkten Informationen und Software erfolgt auf eigenes Risiko
- Beim Entsperren des Bootloaders (als Voraussetzung für das Rooten / das Installieren eines Custom Recovery / das Installieren einer Custom ROM) erfolgt ein Factory Reset (alle installierten Apps & Daten werden gelöscht).
- Wer sich bereits auskennt und nur schnell Rooten möchte, konzentriert sich auf die Punkte 8. und 9. der CHECKLISTE.
(Ob man sich wirklich auskennt, wird dann die Zukunft erweisen ... joke)
Basis-Tools
- Motorola Treiber für das Phone (Windows, Mac)
- (!) Nur für Lollipop-Stock-ROM: ADB/fastboot/mfastboot, TWRP Recovery (twrp-osprey-2.8.7-test1.img) und SuperSU v2.46 als fertiges Verzeichnis downloaden
Tipp für Marshmallow und Lollipop:
Wer bereits funktionierende Motorola-Treiber und (das neueste) adb und fastboot hat, braucht natürlich diese Tools nicht mehr downloaden oder installieren. - Dann benötigt man aber noch die folgenden Dateien:
- TWRP Recovery einzeln downloaden (immer das neueste verwenden) - Thread dazu
Entweder (ALT)
- SuperSU einzeln downloaden(unten im Beitrag gibt es diverse Versionen - Marshmallow benötigt v2.62-3) - Thread dazu
oder - besser (NEU - 2017-01-06)
- SuperSU - aktuellste Version downloaden, dann aber auch die Datei für systemless root downloaden
Checkliste
- Dieses Posting bitte (mindestens) einmal komplett durchlesen, bevor man anfängt
- Phone und Rechner mit dem USB-Datenkabel verbinden und die ganze Zeit so lassen
(Evtl. Installation von Treibern seitens Windows bis zum Ende abwarten, Meldungen am Phone lesen)
Im Phone Entwickler-Modus aktivieren
(Einstellungen > Über das Telefon > 7 x auf Build-Nummer tippen)
- Bootloader-Entsperrung aktivieren
(Einstellungen > Entwickleroptionen > OEM-Entsperrung > aktivieren)
- USB-Debugging aktivieren
(Einstellungen > Entwickleroptionen > USB-Debugging aktivieren)
- Motorola Treiber für das Phone installieren
(Windows: Maus-Doppel-Klick auf die heruntergeladene .exe-Datei, Anweisungen folgen)
- Die heruntergeladene ADB.zip-Datei mit Maus-Doppel-Klick öffnen und das darin befindliche Verzeichnis ADB auf den Rechner kopieren (z. B. nach C:\ oder D:\ oder auf den Desktop).
Tipp:
Dieses Verzeichnis enthält bereits alles, was man zum späteren Rooten und für das Entsperren des Bootloaders (s. u.) benötigt.
- Bootloader entsperren (deutsch)
Tipp:
Hat man das ADB-Verzeichnis aus diesem Posting hier bereits installiert, muss man ADB und fastboot nicht nochmals installieren, sondern kann direkt bei "Vorgehensweise" in der verlinkten Anleitung beginnen (Befehle mit fastboot oem ...). - Dazu muss man vorher lediglich eine Eingabeaufforderung öffnen und dort in das ADB-Verzeichnis wechseln.
Nach der Entsperrung des Bootloaders die Einstellungen unter Punkt 2., 3. und 4. nochmal überprüfen.
Die Hersteller-Garantie ist vermutlich weg, das Phone merkt sich, dass der Bootloader mindestens einmal entsperrt wurde; die gesetzliche Gewährleistung des Verkäufers bleibt aber laut EU-Direktive 1999/44/CE immer bestehen
- Sicherung des Originals - TWRP Recovery vom Rechner aus starten
Ohne etwas zu ändern, testen (und - ohne Root - erstes Backup der Original-ROM machen) im fastboot-Modus:
.- .Eine Kommandozeile öffnen und in das (ADB-)Verzeichnis wechseln, in dem auch adb.exe und fastboot.exe installiert wurden.
(Wenn man es z. B. in C:\ADB hat, dann cd C:\ADB eingeben und mit [ Enter ] bestätigen.
Oder so, wie hier gezeigt: Windows 10 | Windows 8 | Windows 7)
.
- Phone ausschalten, USB-Kabel entfernen, SIM entfernen(!) und
in den Bootloader (fastboot mode) starten mit den Tasten [ Volume Down ] und [ Power ]
- Das Phone jetzt wieder über das USB-Kabel mit dem Rechner vebinden.
. - In der geöffneten Kommandozeile folgende Eingabe machen (um das TWRP Recovery zu starten):
fastboot boot twrp-osprey-2.8.7-test1.img
Tipp: Wenn man sich ein neueres TWRP Recovery heruntergeladen hat (z. B. für Marshmallow), nimmt man anstatt "twrp-osprey-2.8.7-test1.img" dann den Dateinamen des heruntergeladenen.
. - Falls im gestarteten TWRP Recovery eine Abfrage "Keep System Read Only?" kommt, weiter mit
"Swipe to Allow Modifications" (blauen Pfeil nach rechts wischen)
- Dann ein Backup machen mit
[ Backup ]
[ X ] System
[ X ] Data
[ X ] Boot
und
"Swipe to Back Up" (blauen Pfeil nach rechts wischen)
Wichtig:
Eine Abfrage beim Booten, ob das Phone gerootet werden soll, immer mit "Nein" ("No", [ Do Not install ]) quittieren, damit am Original nichts verändert wird.
Tipp:
Jedes zum Phone passende TWRP Recovery kann vor dem Rooten bereits im bootloader mode benutzt werden ([Volume Down] + [Power]) mit fastboot boot <recovery-twrp.img> am Rechner, ohne das originale Recovery Image zu überschreiben, um zunächst ein erstes TWRP Backup vom Original-ROM zu machen.
Das sollte man unbedingt tun, um die originale System-Partition zu sichern, bevor man rootet oder eine Custom ROM installiert. - Sonst kommt man ohne verfügbare Original-Firmware nicht mehr zurück zur Stock-ROM.
- .Eine Kommandozeile öffnen und in das (ADB-)Verzeichnis wechseln, in dem auch adb.exe und fastboot.exe installiert wurden.
- Rooten mit SuperSU
Im TWRP Recovery jetzt MTP deaktivieren mit
[ Mount ] > [ Disable MTP ] (steht danach auf "Enable MTP")
Das macht man, weil man sonst adb nicht benutzen kann.
Dann
[ Advanced ] > [ ADB Sideload ] > "Swipe to Start Sideload" (nach rechts wischen)
In der Kommandozeile Folgendes eingeben
Für Lollipop
adb sideload UPDATE-SuperSU-v2.46.zip
ALT: Für Marshmallow
adb sideload UPDATE-SuperSU-v2.62-3.zip
___
NEU: Für Marshmallow 2017-01-06
Man kann auch SuperSU v2.62-3 weglassen und stattdessen gleich das aktuellste SuperSU downloaden, muss dann aber vorher auch den forced systemless mode aktivieren, indem man vor der SuperSU-Datei die Datei ooo-v1-prep-sysless-root-supersu_v2.7x.flashable.zip via ADB Sideload installiert.
Dann sind abweichend folgende Schritte zu machen:
- Phone (TWRP): [ Advanced ] > [ ADB Sideload ] > "Swipe to Start Sideload" (nach rechts wischen)
- Rechner: adb sideload ooo-v1-prep-sysless-root-supersu_v2.7x.flashable.zip
- Phone (TWRP): [ Advanced ] > [ ADB Sideload ] > "Swipe to Start Sideload" (nach rechts wischen)
- Rechner: adb sideload <aktuellste SuperSU>.zip
___
und warten ...
Abschließend starten mit [ Reboot System ]
Wichtig - nochmal (siehe auch vorigen Punkt):
Vor diesem Schritt erst mit fastboot boot recovery.img in das TWRP Recovery booten und dort mit [ Backup ] ein volles Backup machen.
Beim Rooten wird die originale system-Partition so verändert, dass keine OTA-Updates mehr gemacht werden können.
Hat man ein TWRP Backup der system-Partition vor dem Rooten gemacht, kann man diese später für ein OTA-Update wieder herstellen.
==============================
An dieser Stelle hat man jetzt
- die originale ungerootete Stock-System-Partition als TWRP Backup
- eine gerootete Stock-ROM
- die neue System-App SuperSU
- ein unversehrtes Stock-Recovery
- einen entsperrten Bootloader
und kann Apps installieren/ausführen, die Root benötigen
Warnung zu Root-Apps (mit ausführlicher Erklärung)
==============================
Tipp:
Falls nach dem Rooten die Kamera nicht mehr funktioniert, kann man
testweise die folgende Einstellung in der SuperSU-App vornehmen und neu starten.
- Optional, aber sehr wichtig: Nach dem Rooten (und ohne das TWRP geflasht zu haben) kann man sich anschließend die originalen Partitionen mit der App von Wanam (benötigt Root) wegsichern. - In den Einstellungen der Wanam-App (oben rechts, "Schraubenschlüssel"-Symbol) dabei den Typ "Raw partition image (img)" für die Sicherungen verwenden.
(z. B. Stock recovery, logo, clogo, persist/pds, frp, modem, tz, hob, dhob etc., also alle Partitionen, die nicht mit TWRP gesichert werden können. - Diese enthalten u. a. die IMEI, MAC Adressen für W-LAN/Bluetooth ...)
Warnung:
Außer (stock) recovery und evtl. noch modem sollte man keine mit der Wanam-App gesicherten Partitionen wieder herstellen (Brick-Gefahr), es sei denn, man weiß genau, was man tut und hat einen guten Grund. - Diese Sicherungen dienen nur für den Fall, dass man echte Probleme hat und es (noch) keine Firmware gibt. - I. d. R werden die Partitionen, die nicht mit TWRP gesichert werden können, nicht verändert oder beschädigt (es sei denn, man macht etwas ausgesprochen "Un-Intelligentes" ...).
Tipp:
Die system-, (user)data- und boot-Partition besser über das TWRP > [ Backup ] sichern. Die cache-Partition ist normalerweise irrelevant.
- Optional und abschließend (erst nach Sicherung von Stock-Recovery und Stock-System):
Vorsicht:
Das TWRP Recovery wirklich flashen im fastboot-Modus (das originale Recovery ist dann weg) mit:
Phone ausschalten
In den Bootloader (fastboot mode) starten mit den Tasten [ Volume Down ] und [ Power ]
Das Phone mit dem Rechner über das USB-Daten-Kabel verbinden
Eingabe am Rechner in einer Kommandozeile:
fastboot flash recovery recovery.img
Also mit dem hier verlinkten Recovery dann:
fastboot flash recovery twrp-osprey-2.8.7-test1.img
Dann von hier testweise in das jetzt geflashte TWRP Recovery re-booten und evtl. gleich ein weiteres Backup von diesem Zustand machen:
.- USB-Kabel abziehen
- Mit [ Volume Down ] den Menü-Punkt "POWER OFF" anwählen und mit [ POWER ] das Phone ausschalten
- [ Volume Down ] und [ Power ] Taste drücken, um in den fastboot mode (bootloader) zu starten
- Dort mit [ Volume Down ] den Menü-Punkt "RECOVERY MODE" anwählen und mit [ POWER ] in das Recovery starten. - Ab diesem Zeitpunkt benötigt man keinen Rechner mehr, um Sicherungen zu machen oder wieder herzustellen.
Spätestens jetzt ist es ein guter Zeitpunkt, alle auf der SD Card liegenden Backups von TWRP und der Wanam-App (also alle gesicherten Images; das sind die beiden Verzeichnisse /sdcard/TWRP/ und /sdcard/PartitionsBackups/) auf den Rechner und/oder in eine Cloud zu kopieren und dort dann die Checksummen zu überprüfen.
___Der Weg zurück (Back-to-stock):
Um zu einer ungerooteten Original-Stock-ROM zurückzukommen, die auch wieder OTA-fähig sein sollte, macht man Folgendes:
Alternativ:
Wer sich mit fastboot und dem Flashen von Images gut auskennt, kann das natürlich auch direkt machen:
___
Alternativ:
Originale Firmware komplett flashen
[GUIDE][Osprey] Fastboot Flashing Factory Fi⦠| Moto G 2015 | XDA Forums
Firmware-Downloads dazu
[INDEX][Osprey] Moto G Factory Firmware Ima⦠| Moto G 2015 | XDA Forums
___- Mit der Wanam-App das gesicherte (stock-)recovery wieder herstellen
(sollte auf der SD Card sein, diesen Punkt kann man auch weglassen, wenn man kein TWRP geflasht hat)
Tipp:
Man sollte einen (Root-)Filemanager installiert haben (z. B. fx File-Explorer und dessen Root Add-On oder auch Amaze - einfach im Play Store suchen nach "file explorer root") und in dessen Einstellungen dann den Root -Modus aktivieren.
- Das Phone ausschalten und dann in den Fastboot Modus starten ([Volume Down] + [Power])
- In einer (Windows-/Linux-)Kommandozeile das TWRP auf dem Phone booten mit
fastboot boot twrp-osprey-2.8.7-test1.img
(USB-Kabel nicht vergessen ...)
- Im TWRP dann mit
[ Restore ]
> Auswahl der ersten Sicherung (Original-System)
> [x] boot
> [x] system
die (stock-)boot- und (stock-)system-Partition auswählen und wieder herstellen.
(boot ist nur der Vollständigkeit halber mit aufgeführt, falls man eine Custom ROM installiert hätte. - In diesem Fall bräuchte man auch (stock-)boot, da die Custom ROM ein eigenes boot mitbringt. - Ein weiterer Grund kann sein, dass man einen Mod/Tweak der boot-Partition vorgenommen hat und das wieder zurücksetzen möchte.)
- Dann einen [ Wipe ] > Factory Reset durchführen
(Alle Daten und Apps gehen verloren, SuperSU/Root ist weg, die externe SD Card und der interne Speicher werden NICHT gelöscht.)
Tipp:
Wer auch den internen Speicher löschen möchte (und bereits alle wichtigen Dateien von dort auf den Rechner kopiert hat), kann das so machen:
[ Wipe ] > [ Advanced Wipe ] > [ X ] Internal Storage > "Swipe to Wipe"
(Wichtig: Wirklich nur "Internal Storage" ankreuzen - alles andere NICHT.)
- Abschließend ein Reboot ausführen
(dabei eine evtl. Root-Anfrage des TWRP unbedingt verneinen)
Alternativ:
Wer sich mit fastboot und dem Flashen von Images gut auskennt, kann das natürlich auch direkt machen:
- In den Fastboot Modus booten
- Das Phone mit dem Rechner verbinden
- Eine Kommandozeile öffnen
fastboot flash recovery stock-recovery.img
fastboot flash boot stock-boot.img
fastboot flash system stock-system-unrooted.img - In Fastboot in das Recovery booten
- Dort ein Factory Reset durchführen
(Achtung: Im Gegensatz zu einem Factory Reset im TWRP wird hier auch der interne Speicher komplett gelöscht, eine externe SD Card wird nicht gelöscht.)
Code:
fastboot boot twrp-recovery.img
adb shell
#su
dd if=</source/partition> of=/sdcard/<target.dd.raw.img>
#exit
exit
adb pull -p /sdcard/<target.dd.raw.img> .
___
Alternativ:
Originale Firmware komplett flashen
[GUIDE][Osprey] Fastboot Flashing Factory Fi⦠| Moto G 2015 | XDA Forums
Firmware-Downloads dazu
[INDEX][Osprey] Moto G Factory Firmware Ima⦠| Moto G 2015 | XDA Forums
Hintergrund Rooten, SuperSU.apk, UPDATE-SuperSU-x.xx.zip
Rooten bedeutet im einfachsten Fall nichts weiter als eine einzige Datei - die "su"-Datei (su binary) - in die system-Partition zu kopieren und dann ausführbar zu machen. - Der Weg dorthin ist aber oft versperrt (gesperrter Bootloader schützt die nur lesbare system-Partition).
Um festzustellen, ob man gerootet ist, gibt es z. B. sogenannte Root-Checker Apps.
Um herauszufinden, ob man root-in-the-shell hat, genügt bereits ein einfaches
in einer Eingabeaufforderung (bei korrekt installiertem ADB) oder direkt auf dem Gerät mit Terminal Emulator (App) nur "su" eingeben.
Z. B. in einer build.prop-Datei können folgende Einträge stehen, die erweiterte Berechtigungen zulassen (priviligierte root shell, root in the shell):
Die Dateien, die von SuperSU (bzw. der flashable zip, in dem auch die SuperSU.apk enthalten ist) benutzt werden, sind:
(Oben dargestellt mit zusätzlich nachinstallierter Pro-Version von SuperSU)
Wird ein OTA-Update gemacht, kann dies zu Problemen führen. - Wird ein Werksreset (mit einer originalen Firmware) gemacht oder ein Wipe (zumindest) der system-Partition durchgeführt, verschwinden diese Dateien und damit Root - man ist dann also ab dem nächsten Start nicht mehr gerootet.
Das Neu-Installieren der UPDATE-SuperSU-x.xx.zip-Datei über TWRP-Recovery stellt dann Root wieder her (SuperSU.apk wird als System-App installiert, die fehlenden "su"-Dateien und Scripte in der system-Partition wieder angelegt).
Die folgenden Dateien schützt die App SuperSU mit der entsprechenden Einstellung und einem entsprechenden addon.d-Script (OTA-Updates, Survival) für bestimmte ROMs:
(Man kann sich das auch alles selbst in der UPDATE-SuperSU-x.xx.zip-Datei anschauen.)
SuperSU verfügt über die Einstellung "Mount namespace separation" ("Namensbereichabtrennung mounten"), um (standardmäßig angehakt), die einzelnen root-Anforderungen verschiedener Root-Apps zu trennen. - Manchmal ist es nötig, diesen Haken zu entfernen, um bestimmte Apps/Funktionen auf dem (gerooteten) Gerät fehlerfrei am Laufen zu haben. Z. B. nicht funktionierende Kamera, Titanium Backup etc.
Entfernt man den Haken, ist das Gerät etwas unsicherer, da die Apps/Prozesse, die root benötigen sich dann einen einzigen Prozess teilen, anstatt getrennt voneinander zu agieren und sich gegenseitig bei Zugriffen auf die mounts stören können, was wieder zu Fehlern führen kann. - Das ist allerdiings ROM-spezifisch und variiert von Fall zu Fall.
Wichtig:
Hat man (nur) die su binaries in system, aber keine SuperSU.apk (App), kann jede andere App unkontrolliert mit root-Berechtigung arbeiten.
Nur eine installierte SuperSU-App gewährt die Kontrolle, welche App wann was machen darf.
Bei manchen Custom ROMs (z. B. CyanogenMod) fehlt die (extra) SuperSU App, weil diese Kontrolle bereits eingebaut ist (Einstellungen > Superuser), andere sind gerootet, haben aber keinen solchen Mechanismus. - Hier muss eine SuperSU App nachinstalliert werden.___
Rooten bedeutet im einfachsten Fall nichts weiter als eine einzige Datei - die "su"-Datei (su binary) - in die system-Partition zu kopieren und dann ausführbar zu machen. - Der Weg dorthin ist aber oft versperrt (gesperrter Bootloader schützt die nur lesbare system-Partition).
- Um zu rooten, benötigt man ein boot-Image, dass root bereits besitzt (z. B. ein TWRP Recovery).
(abgesehen von Exploits, die bei der Stock-ROM ausgenutzt werden könnten; nicht das Thema hier)
- Ist der Bootloader gesperrt, kann man aber nur das boot-Image oder recovery-Image der installierten Stock-ROM booten (starten), welches i. d. R. nicht gerootet ist.
- Deswegen muss man den Bootloader entsperren, um z. B. ein TWRP-Recovery (= gerootetes boot-Image) starten zu können. (Das Stock-Recovery ist i. d. R. so "abgespeckt" und geschützt, dass es keine Manipulationen zulässt.)
- Das gerootete boot-Image (TWRP Recovery) stellt dann erst die Möglichkeit zur Verfügung, die system-Partition mit Schreib-Berechtigung zu mounten, um dann die SuperSU App und die su binaries in der system-Partition zu installieren. - Ohne diese Schreibberechtigung wäre das nicht möglich.
- Die SuperSU App ist nicht für das Rooten zuständig, sondern ist die Kontroll-App, um die Zugriffe anderer Apps auf die su binaries zu gewähren/verbieten/zeitlich einzuschränken. - Die App ist nur ein "Wachhund", der andere Apps im System beim Zugriff auf die su binary beobachtet, reglementiert und mit Meldungen beim Anwender "verpetzt" (= Anwender-Kontrolle).
- Diesen gesamten Vorgang nennt man dann verschwommen "ein Gerät rooten".
Um festzustellen, ob man gerootet ist, gibt es z. B. sogenannte Root-Checker Apps.
Um herauszufinden, ob man root-in-the-shell hat, genügt bereits ein einfaches
Code:
adb shell
su
Z. B. in einer build.prop-Datei können folgende Einträge stehen, die erweiterte Berechtigungen zulassen (priviligierte root shell, root in the shell):
Code:
...
ro.secure=0
ro.debuggable=1
persist.service.adb.enable=1
...
Die Dateien, die von SuperSU (bzw. der flashable zip, in dem auch die SuperSU.apk enthalten ist) benutzt werden, sind:
Code:
/system/addon.d/99-supersu.sh
/system/bin/.ext/.su
/system/etc/.installed_su_daemon
/system/lib/libsupol.so
/system/xbin/su
/system/xbin/daemonsu
/system/xbin/sugote
/system/xbin/sugote-mksh
/system/xbin/supolicy
/data/app/eu.chainfire.supersu.pro-1
/data/data/eu.chainfire.supersu
/data/data/eu.chainfire.supersu/shared_prefs/eu.chainfire.supersu_preferences.xml
/data/data/eu.chainfire.supersu/files/supersu.cfg
/data/data/eu.chainfire.supersu.pro
/data/dalvik-cache/profiles/eu.chainfire.supersu
Wird ein OTA-Update gemacht, kann dies zu Problemen führen. - Wird ein Werksreset (mit einer originalen Firmware) gemacht oder ein Wipe (zumindest) der system-Partition durchgeführt, verschwinden diese Dateien und damit Root - man ist dann also ab dem nächsten Start nicht mehr gerootet.
Das Neu-Installieren der UPDATE-SuperSU-x.xx.zip-Datei über TWRP-Recovery stellt dann Root wieder her (SuperSU.apk wird als System-App installiert, die fehlenden "su"-Dateien und Scripte in der system-Partition wieder angelegt).
Die folgenden Dateien schützt die App SuperSU mit der entsprechenden Einstellung und einem entsprechenden addon.d-Script (OTA-Updates, Survival) für bestimmte ROMs:
(Man kann sich das auch alles selbst in der UPDATE-SuperSU-x.xx.zip-Datei anschauen.)
SuperSU verfügt über die Einstellung "Mount namespace separation" ("Namensbereichabtrennung mounten"), um (standardmäßig angehakt), die einzelnen root-Anforderungen verschiedener Root-Apps zu trennen. - Manchmal ist es nötig, diesen Haken zu entfernen, um bestimmte Apps/Funktionen auf dem (gerooteten) Gerät fehlerfrei am Laufen zu haben. Z. B. nicht funktionierende Kamera, Titanium Backup etc.
Entfernt man den Haken, ist das Gerät etwas unsicherer, da die Apps/Prozesse, die root benötigen sich dann einen einzigen Prozess teilen, anstatt getrennt voneinander zu agieren und sich gegenseitig bei Zugriffen auf die mounts stören können, was wieder zu Fehlern führen kann. - Das ist allerdiings ROM-spezifisch und variiert von Fall zu Fall.
Wichtig:
Hat man (nur) die su binaries in system, aber keine SuperSU.apk (App), kann jede andere App unkontrolliert mit root-Berechtigung arbeiten.
Nur eine installierte SuperSU-App gewährt die Kontrolle, welche App wann was machen darf.
Bei manchen Custom ROMs (z. B. CyanogenMod) fehlt die (extra) SuperSU App, weil diese Kontrolle bereits eingebaut ist (Einstellungen > Superuser), andere sind gerootet, haben aber keinen solchen Mechanismus. - Hier muss eine SuperSU App nachinstalliert werden.
Anhänge
Zuletzt bearbeitet: