Для прошивки смартфонов на Android, просмотра низкоуровневой информации, а также управления загрузчиком используется режим Fastboot. Утилита для работы со смартфоном в этом режиме тоже называется Fastboot. Именно о ней мы поговорим в этой статье. Для того чтобы всё работало смартфон должен быть подключён к компьютеру по USB, желательно версии 2.0, а также находится в специальном режиме.
Дальше мы рассмотрим как пользоваться fastboot, синтаксис и возможности команды, а также как войти в этот режим и что с помощью него можно сделать. Сначала поговорим о самой команде, потом будут примеры работы с ней.
Синтаксис и опции fastboot
Синтаксис утилиты довольно простой. Сначала ей можно передать опции, затем команду, которую надо выполнить:
|
|
Для многих команд опции не обязательны. Вот основные опции программы:
- -w - стереть и отформатировать раздел userdata и cache;
- -u - не стирать содержимое раздела перед форматированием;
- -l - при использовании вместе с командой devices позволяет вывести USB порт, к которому подключено устройство;
- -s - указать идентификатор или порт USB, к которому подключено устройство;
- -a, –set-active - установить активный слот.
Это далеко не все опции fastboot, а только те, которые будут использоваться в этой статье. Дальше давайте рассмотрим команды fastboot, которые вы можете использовать:
- update - установить обновление из zip архива update.zip;
- flashall - прошить boot, system и vendor;
- flash - прошить определённый раздел;
- flashing lock - заблокировать возможность прошивки;
- flashing lock_critical - заблокировать прошивку разделов загрузчика;
- flashing unlock_critical - разблокировать прошивку разделов загрузчика;
- flashing get_unlock_ability - проверить разрешена ли прошивка устройства;
- erase - очистить раздел;
- format - форматировать раздел;
- getvar - посмотреть значение определённой переменной;
- set_active - выбрать активный слот;
- boot - загрузить образ из файла;
- devices - список подключённых к компьютеру устройств;
- reboot - перезагрузка устройства;
- reboot bootloader - перезагрузка в режим Fastboot;
- help - вывести справку о работе программы.
Установка Fastboot в Linux
В большинстве дистрибутивов Linux вы можете установить fastboot из официальных репозиториев. Например, в Ubuntu команда установки будет выглядеть следующим образом:
|
|
Однако в репозиториях может быть устаревшая версия утилиты и она не всегда будет работать с новыми версиями Android. Если вы столкнулись с такой ситуацией, следует скачать программу из официального сайта.
Как пользоваться Fastboot
1. Подключение смартфона
Как было сказано выше, телефон должен быть подключён к компьютеру по USB. Если у вас что-то не работает, то попробуйте подключить телефон по USB 2.0. Если порта такой версии на вашем ПК нет, то можно купить USB хаб версии 2.0, это тоже может помочь.
Затем на телефоне нужно активировать режим Fastboot. Для этого зажмите и держите клавишу громкости вниз и кнопку включения пока на экране не появится изображение разобранного робота и надпись Fastboot. После этого можно переходить к работе с программой.
2. Список устройств
Для того чтобы убедится что всё работает нужно вывести список подключённых к компьютеру устройств. Для этого используется следующая команда:
|
|
Или если вы хотите видеть к какому порту USB было подключено устройство, используйте опцию -l:
|
|
Если к компьютеру подключено одно устройство, то все команды будут выполняется для него. Если же вы подключите несколько смартфонов, то в дальнейшем можете пользоваться опцией -s для выбора нужного устройства. Ей надо передать идентификатор, полученный в одной из предыдущих команд:
|
|
3. Информация об устройстве
С помощью команды getvar можно получить некоторую информацию о вашем устройстве. Команда выводит значение переданной ей в параметре переменной. Вот несколько интересных переменных, которые вы можете использовать:
- all - все переменные;
- product - кодовое название смартфона;
- unlocked - разблокирован ли загрузчик;
- current-slot - текущий слот;
- has-slot - поддерживаются ли слоты;
- serialno - серийный номер устройства.
Например, вот так можно вывести название смартфона, такая команда часто используется в скриптах прошивки для того чтобы убедится что это именно тот смартфон, который поддерживается скриптом:
|
|
Или можно посмотреть разблокирован ли загрузчик:
|
|
4. Переключение слотов
В современных смартфонах, начиная с Android 8 для безопасного обновления системы используется система слотов. В памяти смартфона есть две одинаковые версии всех системных разделов. К системным разделам относятся system, boot и vendor. Это и есть слоты. Обычно они называются A и B. Один слот активен, другой же хранится на случай возникновения ошибки при обновлении. После того, как смартфон загрузил обновление, он перезагружается и пытается его установить. Если после установки смартфон не может загрузится, то он автоматически переключается на другой слот, в котором находится рабочая система.
Посмотреть текущий слот в fastboot можно с помощью такой команды:
|
|
Например, используется слот b. Для того чтобы сделать активным слот a используйте команду set_active:
|
|
5. Очистка данных
Если вы хотите очистить пользовательские данные с телефона с помощью fastboot, то это можно сделать двумя разными способами. С помощью опции -w:
|
|
Эта команда очистит раздел userdata и cache. Или можно отдельно очистить эти разделы с помощью команды erase:
|
|
|
|
Эти команды полностью стирают данные с устройства, поэтому будьте очень аккуратны.
6. Форматирование разделов
Команда format создает новую файловую систему на выбранном разделе. Например, можно отформатировать тот же раздел userdata:
|
|
Вы можете явно указать файловую систему, в которую хотите отформатировать раздел. Например, можно выбрать f2fs:
|
|
7. Прошивка
Для прошивки образа раздела на устройство используется команда flash. Прошить можно только файлы специально предназначенные для этого. Если вы попытаетесь прошить что-то другое, то можете повредить устройство. Например, вы хотите прошить образ userdata.img из вашей прошивки, тогда команда будет выглядеть вот так:
|
|
8. Перезагрузка
Самый простой способ выйти из режима fastboot - это перезагрузить устройство с помощью компьютера. Для этого выполните команду:
|
|
Также вы можете перезагрузиться обратно в режим fastboot. Для этого выполните:
|
|
Кроме того, перезагрузить смартфон из режима Fastboot можно просто зажав кнопку включения на смартфоне. Через несколько секунд смартфон перезагрузится.
Выводы
В этой статье было рассмотрено как пользоваться fastboot. Здесь были приведены далеко не все примеры использования утилиты. Например, ещё можно загружать различные образы с помощью команды boot. Теперь вы знаете как работают скрипты прошивки смартфонов с помощью fastboot, а также сможете посмотреть информацию о своем смартфоне.