Jerry Rooting in 5 passaggi...
Ottenere i permessi di root in un firmware Marshmallow Stock oggi non è affatto semplice, oppure...
...è semplicissimo, utilizzando lo splendido lavoro di Chainfire, se il mio smartphone ha tre requisiti minimi obbligatori:
- Bootloader sbloccato
- Immagine di boot (boot.img) standard
- Recovery custom disponibile (Twrp o altro)
Purtroppo oggi il mio nuovo Wiko Jerry ha solo i primi due, ma...
...proviamoci comunque :)
1) ...sblocco il bootloader...
[FACILE]
...e la garanzia è andata... già...
2) ...compilo da zero una recovery...
[MOLTO DIFFICILE]
Seguo le Istruzioni che trovo qui sul wiki ufficiale Cyanogenmod, predispongo il device tree del Jerry e compilo...
[N.B. a breve pubblicherò tutti i dettagli tecnici in un post successivo]
...come scrivono sul wiki, Porting CyanogenMod to a new device can be ridiculously easy or ridiculously difficult, depending on the device itself, whether it currently runs a recent version of Android or not, and of course your skills as a developer matter too, nel mio caso è stato ridicolmente facile compilarla a farla partire sul telefono ma - purtroppo, ridicolmente difficile (anzi, fino ad ora impossibile) farla funzionare al 100%... :(
codice:
[doc@bilbo]$ adb shell
root@v2802an:/ # getprop | grep recovery
[init.svc.recovery]: [running]
[ro.boot.mode]: [recovery]
[ro.bootmode]: [recovery]
root@v2802an:/ #
...parzialmente funzionante significa che purtroppo è praticamente inutile per attività di installazione, di modifiche avanzate, di backup, di restore, ecc...
codice:
root@v2802an:/ # getenforce
Disabled
root@v2802an:/ #
...anche così, però, mi permette, usando i tasti volume e power (il touch screen svalvola), di installare lo zip di Chainfire SuperSu 2.78...
...solo parzialmente... già...
...ma...
3) ...ho studiato molto attentamente i dettagli dello script di Chainfire e...
[MOSTRUOSAMENTE DIFFICILE]
1) NON modifica affatto il sistema Android (/system) ma si installa in modalità SYSTEMLESS, modificando cioè solo il boot.img, aggiungendo un file nella partizione utente (/data) chiamato su.img:
codice:
root@v2802an:/ # ls -a -l /data/ | grep su.img
-rw------- 1 root root 100663296 2016-11-07 16:37 su.img
root@v2802an:/ #
2) con una recovery funzionante il gioco è fatto, ma con la mia recovery parzialmente funzionante devo aggiustare io a mano quello che non va... :cool:
4) ...copio, allora, proprio il file su.img sul mio computer Linux
[DIFFICILE]
codice:
[doc@bilbo]$ adb pull /data/su.img
[doc@bilbo]$
...e, siccome in fondo è solo un Hard Disk virtuale, lo monto per vederne il contenuto:
codice:
[doc@bilbo]$ sudo mount -o loop su.img /su
[doc@bilbo]$ ls -1 -Z /su
? bin
? etc
? lib
? lost+found
? su.d
? xbin
[doc@bilbo]$
...e correggo gli errori come da intenzioni di Chainfire nel suo script:
codice:
[doc@bilbo]$ sudo chcon -R u:object_r:system_file:s0 /su
[doc@bilbo]$ ls -1 -Z /su
u:object_r:system_file:s0 bin
u:object_r:system_file:s0 etc
u:object_r:system_file:s0 lib
u:object_r:system_file:s0 lost+found
u:object_r:system_file:s0 su.d
u:object_r:system_file:s0 xbin
[doc@bilbo]$
...infine lo rimetto sul telefono al suo posto:
codice:
[doc@bilbo]$ sudo umount /su
[doc@bilbo]$ adb push su.img /data/
[doc@bilbo]$
5) ...Reboot...
[FACILISSIMO] :)
...Cross Finger...
...e...
Hei, Wow, it Works!
http://www.quellicheilvenerdi.org/an...105-140305.png
:cool: