Для прошивки смартфонов на Android, просмотра низкоуровневой информации, а также управления загрузчиком используется режим Fastboot. Утилита для работы со смартфоном в этом режиме тоже называется Fastboot. Именно о ней мы поговорим в этой статье. Для того чтобы всё работало смартфон должен быть подключён к компьютеру по USB, желательно версии 2.0, а также находится в специальном режиме.
Дальше мы рассмотрим как пользоваться fastboot, синтаксис и возможности команды, а также как войти в этот режим и что с помощью него можно сделать. Сначала поговорим о самой команде, потом будут примеры работы с ней.
Содержание статьи
Синтаксис и опции 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 команда установки будет выглядеть следующим образом:
sudo apt install fastboot
Однако в репозиториях может быть устаревшая версия утилиты и она не всегда будет работать с новыми версиями Android. Если вы столкнулись с такой ситуацией, следует скачать программу из официального сайта. Найдите ссылку Download platform tools for linux и кликните по ней:
В следующем окне надо принять лицензионное соглашение и нажать кнопку Download Android SDK Pplatfrom-Tools for Linux:
Полученный архив надо распаковать в любую папку. Например с помощью файлового менеджера там же в загрузках. В архиве содержится набор утилит для работы с Android, в том числе и fastboot:
Для того чтобы пользоваться этой версией утилиты, вам надо установить её в систему или открыть терминал в текущей папке. Для открытия терминала можете кликнуть по пустому месту и в контекстным меню выбрать пункт Открыть в терминале:
Далее команду надо выполнять так:
./fastboot
Например, для того чтобы узнать версию программы достаточно выполнить:
./fastboot --version
Как пользоваться Fastboot
1. Подключение смартфона
Как было сказано выше, телефон должен быть подключён к компьютеру по USB. Если у вас что-то не работает, то попробуйте подключить телефон по USB 2.0. Если порта такой версии на вашем ПК нет, то можно купить USB хаб версии 2.0, это тоже может помочь.
Затем на телефоне нужно активировать режим Fastboot. Для этого зажмите и держите клавишу громкости вниз и кнопку включения пока на экране не появится изображение разобранного робота и надпись Fastboot. После этого можно переходить к работе с программой.
2. Список устройств
Для того чтобы убедится что всё работает нужно вывести список подключённых к компьютеру устройств. Для этого используется следующая команда:
fastboot devices
Или если вы хотите видеть к какому порту USB было подключено устройство, используйте опцию -l:
fastboot devices -l
Если к компьютеру подключено одно устройство, то все команды будут выполняется для него. Если же вы подключите несколько смартфонов, то в дальнейшем можете пользоваться опцией -s для выбора нужного устройства. Ей надо передать идентификатор, полученный в одной из предыдущих команд:
fastboot -s a2830e9 getvar all
3. Информация об устройстве
С помощью команды getvar можно получить некоторую информацию о вашем устройстве. Команда выводит значение переданной ей в параметре переменной. Вот несколько интересных переменных, которые вы можете использовать:
- all - все переменные;
- product - кодовое название смартфона;
- unlocked - разблокирован ли загрузчик;
- current-slot - текущий слот;
- has-slot - поддерживаются ли слоты;
- serialno - серийный номер устройства.
Например, вот так можно вывести название смартфона, такая команда часто используется в скриптах прошивки для того чтобы убедится что это именно тот смартфон, который поддерживается скриптом:
fastboot getvar product
Или можно посмотреть разблокирован ли загрузчик:
fastboot getvar unlocked
О том как разблокировать загрузчик с помощью fastboot можно прочитать в этой статье.
4. Переключение слотов
В современных смартфонах, начиная с Android 8 для безопасного обновления системы используется система слотов. В памяти смартфона есть две одинаковые версии всех системных разделов. К системным разделам относятся system, boot и vendor. Это и есть слоты. Обычно они называются A и B. Один слот активен, другой же хранится на случай возникновения ошибки при обновлении. После того, как смартфон загрузил обновление, он перезагружается и пытается его установить. Если после установки смартфон не может загрузится, то он автоматически переключается на другой слот, в котором находится рабочая система.
Посмотреть текущий слот в fastboot можно с помощью такой команды:
fastboot getvar current-slot
Например, в данном случае используется слот b. Для того чтобы сделать активным слот a используйте команду set_active:
fastboot set_active a
5. Очистка данных
Если вы хотите очистить пользовательские данные с телефона с помощью fastboot, то это можно сделать двумя разными способами. С помощью опции -w:
fastboot -w
Эта команда очистит раздел userdata и cache. Или можно отдельно очистить эти разделы с помощью команды erase:
fastboot erase userdata
fastboot erase cache
Эти команды полностью стирают данные с устройства, поэтому будьте очень аккуратны.
6. Форматирование разделов
Команда format создает новую файловую систему на выбранном разделе. Например, можно отформатировать тот же раздел userdata:
fastboot format userdata
Вы можете явно указать файловую систему, в которую хотите отформатировать раздел. Например, можно выбрать f2fs:
fastboot format:f2fs userdata
7. Прошивка
Для прошивки образа раздела на устройство используется команда flash. Прошить можно только файлы специально предназначенные для этого. Если вы попытаетесь прошить что-то другое, то можете повредить устройство. Например, вы хотите прошить образ userdata.img из вашей прошивки, тогда команда будет выглядеть вот так:
fastboot flash userdata userdata.img
8. Перезагрузка
Самый простой способ выйти из режима fastboot - это перезагрузить устройство с помощью компьютера. Для этого выполните команду:
fastboot reboot
Также вы можете перезагрузиться обратно в режим fastboot. Для этого выполните:
fastboot reboot bootloader
Кроме того, перезагрузить смартфон из режима Fastboot можно просто зажав кнопку включения на смартфоне. Через несколько секунд смартфон перезагрузится.
Выводы
В этой статье было рассмотрено как пользоваться fastboot. Здесь были приведены далеко не все примеры использования утилиты. Например, ещё можно загружать различные образы с помощью команды boot. Об этом вы можете прочитать в статье как установить TWRP с помощью Fastboot. Теперь вы знаете как работают скрипты прошивки смартфонов с помощью fastboot, а также сможете посмотреть информацию о своем смартфоне.
Полезная статья, обычно пользовался фастбутом на Виндоус