Alcatel Idol 3 (4.7") 6039Y. Как получить root на Android 6.0.1?

label
label
label
label
label
label
Еще раз приветствую своих читателей и владельцев аппарата Alcatel Idol 3 4.7" 6039Y. С выходом официального релиза Android 6.0.1 Marshmallow у многих пользователей возникли затруднения при получении root-прав и прошивке zip-архива с SuperSU через TWRP. В большинстве случаев после применения zip'а с SuperSU аппарат уходил в bootloop и восстановить его можно было только переустановив прошивку. Вот один из комментариев пользователя Belayduz City, подтверждающий наличие проблемы (орфография и пунктуация автора сохранены): "скажите как установит ROOT на IDol3 C TWRP у меня был android 5 я поставил там с шапка а теперь прошел на 6 не могу после установки ROOT тел не включается.... скачал все рут прав но тоже самое со всеми буду благодарен если поможите".

Действительно, на прошивках с Android 5.x подобного поведения не наблюдалось, т.е. все что необходимо было сделать для получения root-прав - это прошить zip с SuperSU, на Android 6.x же, прошивка того же самого zip'а в большинстве случаев приводила к bootloop'у и невозможности загрузки ОС. На различных форумах, посвященных мобильным устройствам, можно было встретить многочисленные рекомендации и "истории успешной прошивки", например, рекомендовалось брать SuperSU определенной версии или же, например, производить установку архива с SuperSU не со внешней SD-карты, а только из внутренней памяти. Однако, все эти "шаманские советы" в каких-то случаях работали, а в каких-то нет. Именно это и послужило причиной написания данного поста, чтобы однозначно внести ясность в этот вопрос.

Итак, как вы уже поняли, для получения root нам будет необходим установленный TWRP Recovery, подробно останавливаться здесь на моменте прошивки TWRP я не буду, тем более что это уже неоднократно обсуждалось. Также вам потребуется zip-архив с SuperSU версии 2.74 и выше. В моем случае я использовал BETA-SuperSU-v2.74-2-20160519174328.zip. Многие облачные сервисы могут посчитать этот архив вредоносным, поэтому выкладывать его отдельно я не буду, тем более что его можно скачать на официальном сайте проекта chainfire.eu. Для тех кто подзабыл напомню, что последнюю версию zip'а с SuperSU всегда можно найти по следующим ссылкам: StableBetaLatest. С этим моментом мы тоже разобрались, предполагается что вы уже скачали zip с SuperSU и скопировали его на SD-карту или во внутреннюю память.

Далее загружаемся в TWRP и делаем следующее:



  • На запрос о разрешении модификации системного раздела отвечаем утвердительно, т.е. делаем Swipe вправо для разрешения модификаций.
  • Затем заходим в меню Advanced -> Terminal и в консоли вводим следующую команду - echo SYSTEMLESS=true >> /data/.supersu , так, как показано на скриншоте. Дополнительно можно проверить с помощью cat /data/.supersu все ли получилось. Если в ответ вы увидите строчку SYSTEMLESS=true - значит первую команду вы набрали верно.
  • Устанавливаем zip с SuperSU через опцию Install Zip и перезагружаем телефон.


Как видно, в логе при установке у нас есть строчка "System-less mode, boot-image support required" - это означает что мы все сделали верно. Телефон должен успешно перезагрузиться (возможно понадобится несколько перезагрузок), после чего SuperSU будет установлен, а root-права получены.

Благодаря использованию SYSTEMLESS=true образ boot.img в процессе установки SuperSU был модифицирован и пересобран. Если кому-то интересно какие изменения в boot произошли, вот часть из них:

  • Заменен бинарник sepolicy в корне ramdisk.
  • В fstab.goldfish для /dev/block/mtdblock0 добавлена опция noatime, т.е. было - ro,barrier=1, стало - ro,noatime,barrier=1.
  • В fstab.qcom аналогичное изменение в опциях для /dev/block/bootdevice/by-name/system, добавили noatime.
  • В init.environ.rc добавлена строка - export PATH /su/bin:/sbin:/vendor/bin:/system/sbin:/system/bin:/su/xbin:/system/xbin в on init.
  • В init.rc убрали установку свойства setprop selinux.reload_policy 1, а также добавили:

    # mount /data/su.img to /su
    on property:sukernel.mount=1
    mount ext4 loop@/data/su.img /su noatime

    # launch SuperSU daemon
    service daemonsu /sbin/launch_daemonsu.sh
    class late_start
    user root
    seclabel u:r:init:s0
    oneshot

    Этим кстати и объясняется названием метода systemless , как видно бинарник su у нас уже не хранится в /system. Хотя вообще-то подробный анализ всего этого дела - это отдельная история, которая не входит в рамки данного поста.
  • Удален verity_key.

Для тех кого интересует вопрос что такое systemless метод установки root в целом - рекомендую ознакомиться со статьей на How-To Geek: What Is “Systemless Root” on Android, and Why Is It Better?.

Ну а на этом все ... жду ваших комментариев с отзывами об успешном получении root на 6.0.1 на 6039Y ;)
Share This :



sentiment_satisfied Emoticon