Нюансы установки сторонних прошивок на Android-смартфоны. Первые шаги. Установка стороннего Recovery

88f8ed28b34e4711ffb16d83ff3f04fd.jpg

Здравствуй, уважаемый читатель! Этот пост является первым в цикле статей про нюансы установки сторонних (далее — кастомных, от слова custom) прошивок на свои устройства под управлением ОС Andoid, а также о критически важных нюансах этого процесса. Цикл статей ориентирован на тех, кто либо только думает над тем, чтобы «накатить» на свой аппарат неофициальную прошивку, либо не знает некоторых моментов (например, как подружить GPay с новой ОС).

Содержание

Преамбула

Кто-то отметит, что вся нужная и ненужная информация по процессу перепрошивки находится на всем известном форуме. Я, свою очередь, отвечу, что во-первых — далеко не все проблемы и их решения там описаны, а во-вторых — не каждый сходу сможет найти среди такого обилия информации нужную. Я же исхожу из собственного опыта.

Важно:
Я не несу ответственности за ваши действия после прочтения данной статьи, обязательно делайте резервные копии данных на внешнее хранилище (SD-карты или компьютер). Но не пугайтесь — если вам удалось разблокировать загрузчик и установить recovery у вас всегда будет возможность восстановить устройство даже из «System Destroyed», а в большинстве случаев и реализовать «вертай взад» — установить официальную систему с блокировкой загрузчика (как, например, у Xiaomi).

Зачем мне перепрошивать устройство?

Для чего люди вообще перепрошивают свои устройства со стабильными ОС от производителя на какие-то сборки «От Васяна»? Причины у всех разные. Кому-то не нравится напичканная китайским хламом MIUI. Чьи-то устройства производитель уже давно не обновляет, а новую систему хочется. Кому-то по душе «чистая» система, кто-то больше не может жить под вечным прицелом Google Services и так далее и тому подобное. Справедливости ради хочу отметить, что множество неофициальных прошивок имеют поддержку от их разработчиков и на них регулярно прилетают OTA обновления. При этом они не уступают в безопасности официальным, а наиболее популярные поддерживают актуальные схемы шифрования ваших данных (FBE).

Что же такое — перепрошивка устройства?

Если коротко и ясно — замена или переустановка установленной операционной системы на другую операционную систему. Прямо как «винду переставить». Данное определение не относится конкретно к телефонам — перепрошивают всё, что угодно, даже автомобили. Применительно к устройствам на Android это также не означает, что сторонняя прошивка должна быть именно системой Android — я имел опыт установки Ubuntu на телефон. Целесообразность этого поступка — вопрос другой.

Из каких же шагов состоит установка новой ОС, вместо существующей? Для большинства пользователей они будут примерно следующими:

  1. Разблокировка загрузчика

  2. Поиск и установка стороннего Recovery

  3. Поиск файлов новой прошивки

  4. Установка новой прошивки с помощью стороннего recovery

  5. (опционально) Установка root-прав

  6. (опционально) Установка GApps

В этой, как самой первой статье, я разберу только первые два пункта, в силу объема остальных.

Разблокировка загрузчика

Что за загрузчик и зачем его разблокировать? Загрузчик или Bootloader простыми словами — относительно небольшой кусочек программного кода, который занимается запуском установленной системы. Сам по себе он — незаменимая часть устройства, но в его функции также входит реализация технологии Verified Boot. Эта технология призвана ограничить установку ОС до авторизованных производителем (путем проверки подписи файла). С одной стороны, это защитит ваши данные от злоумышленника (он не сможет установить другую прошивку без форматирования вашего устройства), с другой — многие популярные прошивки обеспечивают надежное шифрование раздела Data. Наша цель — отключить механизм Verified Boot для того, чтобы мы могли установить стороннюю систему.

Скажу сразу — универсальной инструкции для всех телефонов нет и быть не может. Более того — некоторые устройства вообще не имеют способа разблокировки загрузчика, а некоторые не блокируются производителем изначально. Проверить факт блокировки загрузчика можно с помощью adb в режиме fastboot — fastboot oem device-info (что это и как пользоваться этим инструментом разберу в пункте про установку). Если true — заблокирован, иначе — нет. Все дальнейшие действия будут рассмотрены на примере устройства Xiaomi Redmi 8T на базе процессора Qualcomm.

Итак, если по результатам проверки вы обнаружили, что загрузчик заблокирован, то помочь вам с поиском способа разблокировки поможет только Технотроица — Отец (Сайт производителя), Сын (4pda) и Святой дух (Google). В случае с Xiaomi всё достаточно просто — на сайте производителя есть фирменная утилита для разблокировки загрузчика, ее использование интуитивно понятно. После успешного окончания процесса разблокировки необходимо отформатировать раздел Data, поскольку он зашифрован текущей системой и новая его попросту не расшифрует (в Xiaomi за это отвечают переключатели в окне разблокировки загрузчика) и можно приступать к процессу установки стороннего Recovery.

Установка стороннего Recovery

Что такое Recovery и почему мы начинаем процесс прошивки именно с него? Раздел Recovery — аналог BIOS на компьютере, также именуется как «Режим восстановления». Этакая «подсистема», которая призвана помочь в восстановлении работоспособности устройства. Заменить установленный производителем recovery сторонним необходимо потому, что «родной» не даст установить вам ничего, кроме официальной прошивки.

Немного о том, какие бывают Recovery

Существует 2 основных проекта стороннего recovery — TWRP и CWM и всё, что на них основано. У каждого проекта имеются сайты, ветки проектов есть для множества устройств. Но, если на официальных сайтах эти проектов вы не нашли своего устройства, с высокой вероятностью вы найдете его на 4pda в теме своего аппарата.

Я использую и настоятельно советую использовать другим именно TWRP-recovery, поскольку он сильно превосходит в функциональности и удобстве CWM.

Немного об ADB

Немного об ADB — это отладочный инструмент, который позволяет разработчикам отлаживать свои приложения, а таким энтузиастам как мы — прошивать телефоны и делать много других полезностей. Обо всех функциях вы можете узнать так же при помощи Технотроицы.

После скачивания recovery вы должны получить файл образа раздела android с расширением .img. Чтобы установить его на свое устройство, нам понадобится:

  • Компьютер или иное подходящее для запуска ADB устройство

  • USB-драйвера для вашего аппарата, установленные на компьютер

  • Консольная утилита ADB

Чтобы прошить новый раздел recovery, необходимо перевести телефон в особый режим загрузчика — fastboot. На большинстве устройств это делается с помощью зажатия кнопок Power и Vol- при включении телефона. Успешным входом в этот режим будет считаться черный экран смартфона с белой строкой «fastboot mode». После этого необходимо подключить устройство к компьютеру при помощи USB-кабеля.

Для прошивки раздела recovery нам понадобится единственная ADB-команда. Для исполнения этих самых команд, воспользуемся консолью Windows. (я полагаю, вы справились с установкой ADB). Общий формат команды прошивки файла в раздел устройства выглядит следующим образом:


fastboot flash partition PathToFile

Где

fastboot — путь к файлу fastboot.exe, поставляется вместе с ADB;

partition — доступный для прошивки раздел Android. Мы шьем recovery;

PathToFile — путь к .img-образу recovery, который вы скачали;

В моем случае, команда выглядела примерно так:

C:\adb\fastboot flash recovery C:\recovery.img

Некоторые recovery поставляются с автоматическими установщиками и ADB — вам нужно лишь запустить bat-файл.

После того, как в консоли появилось сообщение об успешном окончании процесса прошивки recovery (2–3 секунды), можно пробовать запустить только что установленный режим Recovery — при включении телефона зажать Power и Vol+ до момента появления на экране лого производителя, после чего можно отпустить кнопку Power до появления логотипа выбранного вами recovery.

Готово!

Поздравляю, вы только что получили, почти что, полный доступ над программной частью вашего устройства! Один шаг для энтузиаста — большой шаг для сообщества. Но это — только первый шаг, за ним идут еще несколько, не менее важных шагов к получению максимального контроля над вашим устройством.

Послесловие

Я намеренно не подкрепляю каждый шаг обилием скриншотов, поскольку каждый случай уникален, каждое recovery имеет свой интерфейс, но основные принципы остаются одинаковыми. Также, вы не увидите тут обилия ссылок — все приведенные проекты легко ищутся в поисковиках. Напоследок, хотелось бы привести текущую конфигурацию моего телефона:

Модель: Xiaomi Redmi Note 8T
Операционная система: Android 11 ArrowOS
Recovery: Pitch Black Recovery Project (twrp-based)
GoogleServices: NikGApps based

Готов выслушать конструктивную критику, спасибо за прочтение!

© Habrahabr.ru