Еще раз приветствую своих читателей и владельцев аппарата 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 всегда можно найти по следующим ссылкам: Stable, Beta, Latest. С этим моментом мы тоже разобрались, предполагается что вы уже скачали zip с SuperSU и скопировали его на SD-карту или во внутреннюю память.
Далее загружаемся в TWRP и делаем следующее:
Как видно, в логе при установке у нас есть строчка "System-less mode, boot-image support required" - это означает что мы все сделали верно. Телефон должен успешно перезагрузиться (возможно понадобится несколько перезагрузок), после чего SuperSU будет установлен, а root-права получены.
Благодаря использованию SYSTEMLESS=true образ boot.img в процессе установки SuperSU был модифицирован и пересобран. Если кому-то интересно какие изменения в boot произошли, вот часть из них:
Для тех кого интересует вопрос что такое systemless метод установки root в целом - рекомендую ознакомиться со статьей на How-To Geek: What Is “Systemless Root” on Android, and Why Is It Better?.
Действительно, на прошивках с 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 всегда можно найти по следующим ссылкам: Stable, Beta, Latest. С этим моментом мы тоже разобрались, предполагается что вы уже скачали 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 ;)
comment 0 التعليقات:
more_vertsentiment_satisfied Emoticon