Root is nu beschikbaar voor de Google Pixel en Pixel XL: dit is wat we hebben gevonden

click fraud protection

De Google Pixel en de Pixel hebben nu root, met dank aan XDA Senior Developer Chainfire! Ga verder voor meer informatie over hoe u uw pixel kunt rooten!

Deze methode is verouderd en werkt mogelijk niet. Bezoek onze Google Pixel- en Pixel XL-forums voor de nieuwste rootmethoden.

Zoals beloofd, systeemloze root voor de Google Pixel En PixelXL is nu beschikbaar. XDA Senior erkende ontwikkelaar Kettingvuurwerkte aan root voor de Google Pixel telefoon met Android 7.1 Nougat de afgelopen dagen, en hij heeft een fase in zijn ontwikkeling bereikt waarin hij zich nu op zijn gemak voelt om zijn werk met de gemeenschap te delen.

Root-toegang voor de Google Pixel en de Google Pixel XL is beschikbaar door SuperSU te installeren 2,78 SR2, wat mogelijk maakt zo toegang zonder iets in de systeempartitie aan te raken en waardoor dm-verity kan worden omgeschakeld. Voordat u uw apparaat kunt rooten, moet u eerst uw bootloader ontgrendeld hebben. De eerste stap bij het ontgrendelen van je bootloader is het downloaden van de binaire bestanden adb en fastboot (we raden aan grab

Minimale ADB en Fastboot van onze forums) en installeer vervolgens het juiste Google USB-stuurprogramma voor uw machine.

Als u uw Pixel-apparaat rechtstreeks bij Google heeft gekocht, hoeft u alleen een fastboot knipperend ontgrendelen opdracht gevolgd door fastboot OEM-ontgrendeling. Als u uw Pixel bij Verizon of EE heeft gekocht, moet u dit doen ontgrendel uw bootloader via de dePixel8-tool. Maar schiet op, want de SunShine-ontwikkelaars hebben gezegd dat hun exploit voor het ontgrendelen van de bootloader mogelijk wordt gepatcht in de komende beveiligingsupdate van november!


Hoe u SuperSU op uw Pixel installeert

Zoals Chainfire in zijn Google+ bericht vermeldt, moet je eerst het boot-naar-root afbeeldingen voor de Pixel of Pixel XL van zijn website. Jij kan Klik hier om de zip voor de Google Pixel te downloaden, of Klik hier om de zip voor de Google Pixel XL te downloaden. Nadat je de zip hebt gedownload, moet je dit doen fastboot opstarten de boot-naar-root afbeelding, NIET DOENfastboot flash de afbeelding! Met andere woorden, de enige opdracht die u voor de twee apparaten nodig heeft, is de volgende:

fastbootbootboot-to-root.img

Wacht een paar minuten en na een paar keer opnieuw opstarten wordt u opgestart met volledige root-toegang. Jawel!


Onmiddellijk gebruik van roottoegang

Trouwens, naast de gebruikelijke functionaliteit die root-toegang met zich mee zou moeten brengen, hebben we een paar dingen getest waarvan we wisten dat jullie er allemaal in geïnteresseerd zouden zijn. Als eerste, Kun je Google Now on Tap terugbrengen? Het antwoord is Ja! Het enige wat u hoeft te doen is bewerken bouw.prop met de volgende wijziging start u opnieuw op en wist u de Google App-gegevens en wordt u niet langer begroet met de Google Assistent.

Wijziging

ro.opa.eligible_device=true

naar

ro.opa.eligible_device=<strong>falsestrong>

Hoe zit het met een andere vaak verborgen functie: dubbeltikken om te ontwaken? We hebben rondgekeken naar de verborgen schakelaar en ontdekt wat deze lijkt te zijn.

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

Toen we de waarde veranderden, leek deze helaas niet te blijven hangen. Voorlopig lijkt het erop dat je een aangepaste kernel zoals ElementalX om d2tw werkend te krijgen.

Enkele andere dingen die we hebben getest, zijn onder meer of Titanium Backup wel of niet werkt (het doet), Betere batterijstatistieken (werken), Substratum/lagen-thema's (lijkt wat problemen te hebben), en advertentieblokkering (mislukt). Ad-away werkt momenteel niet omdat /system standaard niet kan worden aangekoppeld voor lezen en schrijven, dus we zullen moeten wachten tot TWRP beschikbaar is voordat we de systeemloze oplossing voor Ad-Away. En ja, we hebben het al geprobeerd Steekvlam om de Ad-Away-enabler voor systeemloos rooten te flashen, maar dat lijkt op dit moment ook niet te werken.

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

Update: Chainfire heeft bevestigd dat FlashFire en andere apps moeten worden bijgewerkt voordat ze kunnen worden gebruikt. Zie hieronder voor meer details.

Update 2: Chainfire heeft ons een bericht gestuurd met een oplossing om AdAway te laten werken totdat de app zelf is bijgewerkt. Zie het addendum aan het einde van het artikel.

Hier zijn enkele schermafbeeldingen die laten zien dat Titanium Backup werkt. Dus als u vanaf een ander apparaat komt en al uw back-up-apps wilt herstellen, kunt u er zeker van zijn dat al uw app-gegevens nu worden hersteld.

We blijven diep in onze Pixel-apparaten duiken om te zien wat we kunnen schakelen. Welke ‘Pixel exclusieve’ functie zal de volgende zijn?


De ‘strijd’ om root te bereiken

Chainfire is redelijk nauwgezet als het gaat om release-opmerkingen. Als jij de ontwikkelaar bent die tienduizenden gebruikers een methode biedt om root-toegang te verkrijgen, dan lukt dat Het is verstandig om zo transparant mogelijk te zijn, anders wordt u geconfronteerd met een horde verwarde gebruikers die zich afvragen waarom iets zo is gebroken. Terwijl de zijne Twitter account (@ChainfireXDA) is meer gereserveerd voor korte aankondigingen, Chainfire heeft de neiging om zeer welkome, lange uitleg op zijn Google+ rekening. Deze keer is het niet anders.

Allereerst legt Chainfire uit welke wijzigingen er zijn aangebracht aan de twee Pixel-telefoons waar hij omheen moest werken om root-toegang te krijgen. In het bijzonder beschrijft Chainfire eerst de nieuwe partitie-indeling op de Pixel-apparaten.

Nieuwe partitie-indeling (Pixel en waarschijnlijk veel toekomstige apparaten):

- Er zijn twee van verschillende Android-partities: opstarten, systeem, leverancier

- De herstel- en cachepartities zijn verdwenen

- De root/directory voor Android maakt nu deel uit van de systeempartitie, in plaats van de opstartpartitie (initramfs)

- Herstel bevindt zich nu in de normale opstartimage en gebruikt de initramfs (die vroeger door Android werden gebruikt)

Zoals we eerder hebben besproken, deze partitiewijzigingen op de twee Pixel-telefoons zou dat wel het geval zijn vereisen enkele aanpassingen aan de huidige rootmethode. Chainfire heeft bevestigd dat deze wijzigingen aan de /system-partitie een andere aanpak vereisten, waarbij mogelijk de kernel moest worden aangepast.

Met de nieuwe partitie-indeling van de Pixel zijn de bestanden die we aan het wijzigen waren, verplaatst naar de systeempartitie (wat we oorspronkelijk zagen als /system is nu een submap binnen het bestandssysteem van die partitie). Kunnen we dan gewoon de systeempartitie wijzigen die al deze bestanden bevat, en de opstartimage met rust laten? Hoewel ik er persoonlijk de voorkeur aan geef de opstartimage aan te passen en het systeem met rust te laten, zou het omgekeerde potentieel een oplossing kunnen zijn, en ik weet dat sommige technische gebruikers daar zelfs de voorkeur aan zouden geven.

Het lukte mij echter niet om dit werkend te krijgen. De bootloader stuurt feitelijk informatie naar de kernel (die zich in de opstartimage bevindt). force-enabled dm-verity (die de integriteit van de systeempartitie afdwingt), die we niet kunnen onderscheppen of veranderen zonder (tromgeroffel) het opstartimage wijzigen. Mijn eerste succesvolle root van de Pixel werd op die manier gedaan - door beide aan te passen (de eerder geplaatste foto is van deze poging).

Met andere woorden: er is geen manier om dm-verity uit te schakelen zonder enige wijziging aan de kernel, zoals we al vermoedden. Omdat de kernel dm-verity geforceerd mogelijk maakt, moest Chainfire de kernel enigszins aanpassen om te voorkomen dat dm-verity wijzigingen aan de systeempartitie verhinderde. Gelukkig ontdekte Chainfire echter dat zijn aanpassing slechts een kleine binaire kernelpatch vereist, maar geen volledige hercompilatie van de kernel. Zijn oplossing zou dus een generieke oplossing moeten blijven voor Android 7.1-apparaten met een A/B-partitieschema.

Om deze nieuwe rootmethode in meer detail uit te leggen, bereikt Chainfire systeemloze root door de kernel gebruikt de initramfs van de opstartimage als de hoofdmap, in plaats van iets van het systeem partitie. Om dit te doen, wordt de inhoud van de hoofdmap in de systeempartitie geïmporteerd in de opstartimage, waardoor het wijzigen van deze bestanden mogelijk is zonder dat er systeembestanden hoeven te worden gewijzigd. De systeempartitie is aangekoppeld aan /system_root en /system zelf is eenvoudig gekoppeld aan /system_root/system. En ten slotte wijzigt zijn kernelpatch de kernel zodanig dat deze het commando negeert dat door de bootloader wordt verzonden en dat normaal gesproken dm-verity zou afdwingen.

Er zijn echter enkele tamelijk triviale problemen die met deze nieuwe methode worden geïntroduceerd. Bepaalde apps, zoals FlashFire of AdAway (waarvan we hebben laten zien dat ze allebei niet werken) verwachten dat de systeempartitie wordt aangekoppeld als /system, niet als /system_root, en zal dienovereenkomstig moeten worden bijgewerkt. U kunt echter proberen het systeem als zodanig opnieuw te koppelen

mount -o rw, remount /system_root

Hiermee zou je naar /system kunnen schrijven. We hebben nog niet getest welke root-apps hiermee worden opgelost, maar je kunt het zelf testen. Ten slotte weet Chainfire niet zeker of suhide zal met dit nieuwe bewortelingsschema werken, maar hij zegt dat hij zal blijven zoeken naar een oplossing.


Om SuperSU voor de Google Pixel-telefoons te downloaden, gaat u naar de XDA-forumthread. Hartelijk dank aan Chainfire voor het overbrengen van root naar de apparaten! Laat de Tweaking-spellen beginnen!

Bezoek het SuperSU XDA-subforum!

Dit verhaal is in ontwikkeling en zal worden bijgewerkt zodra we nieuwe informatie ontvangen. Bij het maken van dit artikel is één Google Pixel opgeofferd. RIP Jeffs gegevens.


Addendum #1: Tijdelijke oplossing voor AdAway

Download AdAway v3.1.2 van onze forums, gebruik dan een van beide terminal-emulator of ADB-shell om de volgende opdracht in te voeren:

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

Start opnieuw op en u zou systeembrede advertentieblokkering moeten hebben.