Root ist jetzt für Google Pixel und Pixel XL verfügbar: Folgendes wurde geändert und was funktioniert

Diese Methode ist veraltet und funktioniert möglicherweise nicht. In unseren Google Pixel- und Pixel XL-Foren finden Sie die neuesten Root-Methoden.

Wie versprochen ist jetzt ein systemloses Stammverzeichnis für Google Pixel und Pixel XL verfügbar . Der Senior Recognized Developer Chainfire hat in den letzten Tagen an Root-Rechten für das Google Pixel-Handy mit Android 7.1 Nougat gearbeitet und befindet sich in einem Stadium seiner Entwicklung, in dem er sich nun wohl fühlt, seine Arbeit mit der Community zu teilen.

Der Root-Zugriff für Google Pixel und Google Pixel XL ist durch die Installation von SuperSU 2.78 SR2 möglich. Dies ermöglicht den su- Zugriff, ohne die Systempartition zu berühren, und ermöglicht das Umschalten von dm-verity. Bevor Sie Ihr Gerät rooten können, müssen Sie zuerst Ihren Bootloader entsperren. Der erste Schritt zum Entsperren Ihres Bootloaders ist das Herunterladen der ADB- und Fastboot-Binärdateien (wir empfehlen, Minimal ADB & Fastboot aus unseren Foren herunterzuladen) und anschließend den entsprechenden Google USB-Treiber für Ihren Computer zu installieren.

Wenn Sie Ihr Pixel-Gerät direkt bei Google gekauft haben, müssen Sie nur einen blinkenden Befehl zum Entsperren des Schnellstarts und anschließend den Befehl zum Entsperren des Schnellstarts eingeben. Wenn Sie Pixel von Verizon oder EE gekauft haben, müssen Sie den Bootloader über das Tool dePixel8 entsperren. Aber beeilen Sie sich, denn die SunShine-Entwickler haben bereits erwähnt, dass ihr Bootloader-Unlock-Exploit möglicherweise im kommenden Sicherheitsupdate vom November gepatcht wird!


So installieren Sie SuperSU auf Ihrem Pixel

Wie Chainfire in seinem Google+ Post erwähnt, müssen Sie zuerst die Boot-to-Root- Images für Pixel oder Pixel XL von seiner Website herunterladen. Klicken Sie hier, um die Zip-Datei für Google Pixel XL herunterzuladen, oder klicken Sie hier, um die Zip-Datei für Google Pixel XL herunterzuladen. Nach dem Herunterladen der ZIP- Datei müssen Sie das Boot-to-Root- Image schnell booten. Starten Sie das Image NICHT schnell. Mit anderen Worten, der einzige Befehl, den Sie für die beiden Geräte benötigen, ist der folgende:

 fastboot boot boot-to-root.img 

Warten Sie einige Minuten, und nach einigen Neustarts werden Sie mit vollem Root-Zugriff hochgefahren. Yay!


Sofortige Verwendung des Root-Zugriffs

Neben den üblichen Funktionen, die der Root-Zugriff bieten sollte, haben wir einige Dinge getestet, von denen wir wussten, dass sie Sie alle interessieren würden. Können Sie Google Now on Tap als Erstes zurückbringen? Die Antwort lautet ja! Alles, was Sie tun müssen, ist build.prop mit den folgenden Änderungen zu bearbeiten, neu zu starten und die Google App-Daten zu löschen. Sie werden dann nicht mehr mit dem Google Assistant begrüßt.

Veränderung

 ro.opa.eligible_device=true 

zu

 ro.opa.eligible_device= false 

Was ist mit einer anderen häufig versteckten Funktion: Double-Tap-to-Wake? Wir haben uns nach dem versteckten Schalter umgesehen und festgestellt, was es zu sein scheint.

 sailfish:/sys/devices # echo 1 > ./soc/7577000.i2c/i2c-3/3-0020/input/input3/wake_gesture 

Als wir den Wert änderten, schien er leider nicht zu haften. Momentan müssen Sie einen benutzerdefinierten Kernel wie ElementalX flashen, um d2tw zum Laufen zu bringen.

Einige andere Dinge, die wir getestet haben, umfassen, ob Titanium Backup funktioniert ( es funktioniert ), bessere Batteriestatistiken ( funktioniert ), Substrate / Layers-Themes ( scheint einige Probleme zu haben ) und das Blockieren von Werbung ( schlägt fehl ). Derzeit funktioniert Ad-Away nicht, da / system standardmäßig nicht mit Lese- und Schreibzugriff bereitgestellt werden kann. Daher müssen wir warten, bis TWRP verfügbar ist, bevor wir die systemlose Problemumgehung für Ad-Away aktualisieren können. Und ja, wir haben bereits versucht, mit FlashFire den Ad-Away-Enabler für systemloses Root-Verzeichnis zu flashen, aber das scheint derzeit auch nicht zu funktionieren.

 sailfish:/sys/devices # mount -o rw, remount /system mount: '/system' not in /proc/mounts 

Update: Chainfire hat bestätigt, dass FlashFire und andere Apps aktualisiert werden müssen, bevor sie verwendet werden können. Siehe unten für weitere Details.

Update 2: Chainfire hat uns eine Problemumgehung mitgeteilt, damit AdAway funktioniert, bis die App selbst aktualisiert wird. Siehe den Anhang am Ende des Artikels.

Hier sind einige Screenshots, die zeigen, dass Titanium Backup funktioniert. Wenn Sie also von einem anderen Gerät kommen und alle Ihre gesicherten Apps wiederherstellen möchten, können Sie sicher sein, dass alle Ihre App-Daten jetzt wiederhergestellt werden.

Wir werden weiterhin tief in unsere Pixel-Geräte eintauchen, um zu sehen, was wir umschalten können. Welche "Pixel Exclusive" -Funktion wird als nächstes verfügbar sein?


Der "Kampf" um die Wurzel

Chainfire ist ziemlich akribisch, wenn es um Release Notes geht. Wenn Sie als Entwickler Zehntausenden von Benutzern eine Methode bereitstellen, um Root-Zugriff zu erhalten, ist es sinnvoll, so transparent wie möglich zu sein, damit Sie nicht einer Horde verwirrter Benutzer gegenüberstehen, die sich fragen, warum etwas kaputt ist. Während sein Twitter-Account (@Chainfire) eher für kurze Ankündigungen reserviert ist, neigt Chainfire dazu, auf seinem Google+ Account sehr willkommene und ausführliche Erklärungen zu veröffentlichen. Diesmal ist das nicht anders.

Zunächst erklärt Chainfire, welche Änderungen an den beiden Pixeltelefonen vorgenommen wurden, die er umgehen musste, um Root-Zugriff zu erhalten. Insbesondere beschreibt Chainfire zunächst das neue Partitionslayout auf den Pixel-Geräten.

Neues Partitionslayout (Pixel und wahrscheinlich viele zukünftige Geräte):

- Es gibt zwei von mehreren Android-Partitionen, Boot, System, Hersteller

- Die Wiederherstellungs- und Cache-Partitionen sind verschwunden

- Das Stammverzeichnis / Verzeichnis für Android ist jetzt Teil der Systempartition anstelle der Startpartition (initramfs).

- Recovery befindet sich jetzt im normalen Boot-Image und verwendet seine initramfs (die früher von Android verwendet wurden).

Wie bereits erwähnt, müssten für diese Partitionsänderungen an den beiden Pixel-Telefonen einige Änderungen an der aktuellen Root-Methode vorgenommen werden. Chainfire hat bestätigt, dass für diese Änderungen an der / system-Partition ein anderer Ansatz erforderlich ist, bei dem möglicherweise der Kernel geändert wird.

Mit dem neuen Partitionslayout des Pixels wurden die von uns geänderten Dateien in die Systempartition verschoben (was wir ursprünglich als / system angesehen haben, ist jetzt ein Unterordner im Dateisystem dieser Partition). Könnten wir dann einfach die Systempartition ändern, die all diese Dateien enthält, und das Boot-Image in Ruhe lassen? Ich persönlich bevorzuge es, das Boot-Image zu ändern und das System in Ruhe zu lassen, aber das Gegenteil könnte möglicherweise eine Lösung sein, und ich weiß, dass einige Tech-Benutzer es sogar vorziehen würden.

Ich konnte dies jedoch nicht zum Laufen bringen. Der Bootloader sendet tatsächlich Informationen an den Kernel (der sich im Boot-Image befindet), die die aktivierte dm-verity (die die Integrität der Systempartition erzwingt), die wir nicht abfangen oder ändern können, ohne das Boot-Image ( drum roll ) zu ändern. Meine erste erfolgreiche Wurzel des Pixels wurde auf diese Weise erstellt - indem beide geändert wurden (das zuvor veröffentlichte Bild stammt aus diesem Versuch).

Mit anderen Worten, es gibt keine Möglichkeit, dm-verity zu deaktivieren, ohne den Kernel zu modifizieren, wie wir vermutet haben. Da der Kernel die Aktivierung von dm-verity erzwingt, musste Chainfire den Kernel leicht modifizieren, um zu verhindern, dass dm-verity Änderungen an der Systempartition vornimmt. Zum Glück stellte Chainfire jedoch fest, dass für seine Modifikation nur ein kleiner Kernel-Binär-Patch erforderlich ist, jedoch keine vollständige Neukompilierung des Kernels. Daher sollte seine Lösung eine generische Lösung für Android 7.1-Geräte mit einem A / B-Partitionsschema bleiben.

Um diese neue Root-Methode genauer zu erläutern, erreicht Chainfire einen systemlosen Root-Status, indem der Kernel die initramfs des Boot-Images als Root-Verzeichnis verwendet und nicht irgendetwas von der Systempartition. Zu diesem Zweck wird der Inhalt des Stammverzeichnisses in der Systempartition in das Boot-Image importiert, sodass diese Dateien geändert werden können, ohne dass Systemdateien geändert werden müssen. Die Systempartition ist in / system_root und / system selbst in / system_root / system eingebunden. Und schließlich modifiziert sein Kernel-Patch den Kernel so, dass er den vom Bootloader gesendeten Befehl ignoriert, der normalerweise dm-verity erzwingt.

Es gibt jedoch einige eher triviale Probleme, die mit dieser neuen Methode verbunden sind. Bestimmte Apps wie FlashFire oder AdAway (beide haben gezeigt, dass sie nicht funktionieren) erwarten, dass die Systempartition als / system und nicht als / system_root bereitgestellt wird, und müssen entsprechend aktualisiert werden. Sie können jedoch versuchen, das System als solches erneut bereitzustellen

 mount -o rw, remount /system_root 

Was sollte es Ihnen ermöglichen, zu / system zu schreiben. Wir haben noch nicht getestet, welche Root-Apps dies beheben, aber Sie können es selbst testen. Schließlich ist Chainfire nicht sicher, ob suhide mit diesem neuen Rooting-Schema funktionieren wird, aber er gibt an, dass er weiterhin nach einer Problemumgehung suchen wird.


Um SuperSU für die Google Pixel-Telefone herunterzuladen, gehen Sie zum Forenthread. Ein großes Dankeschön an Chainfire für die Unterstützung der Geräte! Lass die Tweaking Games beginnen!

Besuchen Sie das SuperSU-Unterforum!

Diese Geschichte entwickelt sich und wird aktualisiert, sobald wir neue Informationen erhalten. Bei der Erstellung dieses Artikels wurde ein Google Pixel geopfert. RIP Jeffs Daten.


Anhang Nr. 1: Temporäre Korrektur für AdAway

Laden Sie AdAway v3.1.2 aus unseren Foren herunter und geben Sie den folgenden Befehl mit einem Terminalemulator oder einer ADB-Shell ein:

 mkdir /su/etc; cp /system/etc/hosts /su/etc/hosts; echo "#!/su/bin/sush\nmount -o bind /su/etc/hosts /system/etc/hosts" > /su/su.d/50adaway; chmod 0700 /su/su.d/50adaway 

Starten Sie neu, und Sie sollten systemweite Anzeigenblockierung haben.