Root è ora disponibile per Google Pixel e Pixel XL: ecco cosa è cambiato e cosa funziona

Questo metodo non è aggiornato e potrebbe non funzionare. Visitare i forum di Google Pixel e Pixel XL per gli ultimi metodi di root.

Come promesso, è ora disponibile la radice senza sistema per Google Pixel e Pixel XL. Lo sviluppatore riconosciuto senior Chainfire stava lavorando alla radice per il telefono Google Pixel con Android 7.1 Nougat negli ultimi giorni e ha raggiunto una fase del suo sviluppo in cui ora è abbastanza a suo agio nel condividere il suo lavoro con la comunità.

L'accesso root per Google Pixel e Google Pixel XL è disponibile installando SuperSU 2.78 SR2 , che consente l'accesso su senza toccare nulla nella partizione di sistema e consente di attivare / disattivare dm-verity. Prima di poter eseguire il root del tuo dispositivo, dovrai prima sbloccare il tuo bootloader. Il primo passo per sbloccare il tuo bootloader è scaricare i binari di adb e fastboot (ti consigliamo di prendere ADB e Fastboot minimi dai nostri forum) e quindi installare il driver USB di Google appropriato per il tuo computer.

Se hai acquistato il tuo dispositivo Pixel direttamente da Google, devi solo emettere un comando di sblocco lampeggiante fastboot seguito da fastboot oem unlock. Se hai acquistato Pixel da Verizon o EE, dovrai sbloccare il bootloader tramite lo strumento dePixel8. Ma affrettati, perché gli sviluppatori di SunShine hanno menzionato che il loro exploit di sblocco del bootloader potrebbe essere corretto nel prossimo aggiornamento di sicurezza di novembre!


Come installare SuperSU sul tuo Pixel

Come menziona Chainfire nel suo post su Google+, dovrai prima scaricare le immagini boot-to-root per Pixel o Pixel XL dal suo sito web. Puoi fare clic qui per scaricare lo zip per Google Pixel oppure fare clic qui per scaricare lo zip per Google Pixel XL. Dopo aver scaricato lo zip, è necessario avviare rapidamente l'immagine boot-to-root, NON eseguire il flashing rapido dell'immagine! In altre parole, l'unico comando necessario per i due dispositivi è il seguente:

 fastboot boot boot-to-root.img 

Attendi qualche minuto e dopo alcuni riavvii sarai avviato con accesso root completo. Sìì!


Usi immediati dell'accesso root

A proposito, oltre alle solite funzionalità che l'accesso root dovrebbe offrire, siamo andati avanti e abbiamo testato alcune cose che sapevamo che tutti sarebbero stati interessati. Prima di tutto, puoi riportare Google Now al tocco? La risposta è si ! Tutto quello che devi fare è modificare build.prop con la seguente modifica, riavviare e cancellare i dati dell'app Google e non sarai più accolto con l'Assistente Google.

Modificare

 ro.opa.eligible_device=true 

per

 ro.opa.eligible_device= false 

Che dire di un'altra funzione comunemente nascosta: tocca due volte per riattivare? Abbiamo cercato l'interruttore nascosto e abbiamo scoperto ciò che sembra essere.

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

Sfortunatamente, quando abbiamo cambiato il valore, non sembrava attenersi. Per ora, sembra che dovrete eseguire il flashing di un kernel personalizzato come ElementalX per far funzionare d2tw.

Alcune altre cose che abbiamo testato includono se Titanium Backup funziona ( funziona ), Better Battery Stats ( funziona ), Substratum / Layers Themes ( sembra avere alcuni problemi ) e il blocco degli annunci ( fallisce ). Al momento la pubblicità via non funziona perché / system non può essere montato in lettura-scrittura per impostazione predefinita, quindi dovremo attendere fino a quando TWRP sarà disponibile prima di poter eseguire il flashing della soluzione senza sistema per la pubblicità via. E sì, abbiamo già provato a utilizzare FlashFire per eseguire il flash del programma di abilitazione Ad-Away per root senza sistema, ma non sembra funzionare neanche in questo momento.

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

Aggiornamento: Chainfire ha confermato che FlashFire e altre app dovranno essere aggiornate prima di poter essere utilizzate. Vedi sotto per ulteriori dettagli.

Aggiornamento 2: Chainfire ci ha inviato un messaggio con una soluzione alternativa per far funzionare AdAway fino a quando l'app non viene aggiornata. Vedi l'addendum alla fine dell'articolo.

Ecco alcuni screenshot che mostrano che Titanium Backup funziona, tuttavia. Quindi, se provieni da un altro dispositivo e desideri ripristinare tutte le app di cui hai eseguito il backup, puoi essere certo che tutti i dati delle tue app verranno ora ripristinati.

Continueremo a immergerci in profondità nei nostri dispositivi Pixel per vedere cosa possiamo attivare. Quale funzione "Pixel esclusivo" sarà la prossima a cadere?


La "lotta" per raggiungere la radice

Chainfire è abbastanza meticoloso quando si tratta di rilasciare note. Quando sei lo sviluppatore che fornisce a decine di migliaia di utenti un metodo per ottenere l'accesso alla radice, ha senso essere il più trasparente possibile per non dover affrontare un'orda di utenti confusi che si chiedono perché qualcosa non funziona. Mentre il suo account Twitter (@Chainfire) è riservato maggiormente a brevi annunci, Chainfire tende a pubblicare lunghe e gradite spiegazioni sul suo account Google+. Questa volta non è diverso.

Prima di tutto, Chainfire spiega quali modifiche sono state apportate ai due telefoni Pixel di cui aveva bisogno per aggirare il problema per ottenere l'accesso come root. In particolare, Chainfire descrive innanzitutto il nuovo layout di partizione sui dispositivi Pixel.

Nuovo layout di partizione (Pixel e probabilmente molti dispositivi futuri):

- Esistono due delle diverse partizioni Android, avvio, sistema, fornitore

- Le partizioni di ripristino e cache sono sparite

- La directory root / per Android ora fa parte della partizione di sistema, anziché della partizione di avvio (initramfs)

- Il ripristino è ora all'interno della normale immagine di avvio e utilizza i suoi initramfs (che un tempo erano utilizzati da Android)

Come spiegato in precedenza, queste modifiche alla partizione sui due telefoni Pixel richiederebbero alcune modifiche al metodo radice corrente. Chainfire ha confermato che queste modifiche alla partizione / system richiedono un approccio diverso, che potrebbe comportare la modifica del kernel.

Con il nuovo layout di partizione del Pixel, quei file che stavamo cambiando si sono spostati nella partizione di sistema (quello che inizialmente pensavamo come / system è ora una sottocartella all'interno del filesystem di quella partizione). Quindi, potremmo semplicemente modificare la partizione di sistema che contiene tutti questi file e lasciare da sola l'immagine di avvio? Mentre personalmente preferisco fare la modifica dell'immagine di avvio e lasciare da solo il sistema, il contrario potrebbe potenzialmente essere una soluzione e so che alcuni utenti tecnologici lo preferirebbero.

Tuttavia, non sono riuscito a farlo funzionare. Il bootloader in realtà invia informazioni al kernel (che risiede nell'immagine di avvio) che abilita forzatamente dm-verity (che impone l'integrità della partizione di sistema), che non possiamo intercettare o modificare senza ( rullo di tamburi ) modificando l'immagine di avvio. La mia prima radice di successo del Pixel è stata fatta in questo modo - modificando entrambi (l'immagine pubblicata in precedenza proviene da questo tentativo).

In altre parole, non c'è modo di disabilitare dm-verity senza alcune modifiche al kernel, come sospettavamo. Poiché il kernel sta forzando l'abilitazione di dm-verity, Chainfire doveva modificare leggermente il kernel per impedire a dm-verity di impedire le modifiche alla partizione di sistema. Fortunatamente, Chainfire ha scoperto che la sua modifica richiede solo una piccola patch binaria del kernel, ma non una ricompilazione completa del kernel. Pertanto, la sua soluzione dovrebbe rimanere una soluzione generica per dispositivi Android 7.1 con uno schema di partizione A / B.

Per spiegare questo nuovo metodo di root in modo più dettagliato, Chainfire ottiene il root senza sistema facendo usare al kernel l'initramfs dell'immagine di avvio come directory root, piuttosto che qualsiasi cosa dalla partizione di sistema. Per fare ciò, il contenuto della directory principale nella partizione di sistema viene importato nell'immagine di avvio, che consente la modifica di questi file senza dover modificare alcun file di sistema. La partizione di sistema è montata su / system_root e / system stesso sim-linked a / system_root / system. E infine la sua patch del kernel modifica il kernel in modo tale da ignorare il comando inviato dal bootloader che normalmente impone dm-verity.

Tuttavia, ci sono alcuni problemi piuttosto banali introdotti con questo nuovo metodo. Alcune app, come FlashFire o AdAway (entrambe illustrate non funzionano) prevedono che la partizione di sistema verrà montata come / system, non / system_root e dovrà essere aggiornata di conseguenza. Tuttavia, puoi provare a rimontare il sistema in quanto tale

 mount -o rw, remount /system_root 

Che dovrebbe permetterti di scrivere su / system. Non abbiamo ancora testato quali app di root risolvono, ma sei libero di testarlo tu stesso. Infine, Chainfire non è sicuro se il suhide funzionerà con questo nuovo schema di rooting, ma afferma che continuerà a cercare una soluzione alternativa.


Per scaricare SuperSU per i telefoni Google Pixel, vai al thread del forum. Un grande ringraziamento a Chainfire per aver portato il root sui dispositivi! Che i Tweaking Games abbiano inizio!

Visita il Subforum SuperSU!

Questa storia si sta sviluppando e verrà aggiornata non appena riceveremo nuove informazioni. Un pixel di Google è stato sacrificato nella realizzazione di questo articolo. RIP I dati di Jeff.


Addendum n. 1: correzione temporanea per AdAway

Scarica AdAway v3.1.2 dai nostri forum, quindi utilizza un emulatore di terminale o una shell ADB per inserire il seguente comando:

 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 

Riavvia e dovresti avere il blocco degli annunci a livello di sistema.