» Мануалы
Android Debug Bridge. Часть 3: Команды fastboot

В третьей по счёту статье в нашем цикле по Android Debug Bridge мы разберемся с утилитой fastboot. Fastboot – это приложение для персонального компьютера, работающее через консоль. Данная утилита используется для прошивки файловой системы Android-девайсов.
Напомним, что об общей информации касательно Android Debug Bridge, а также о командах, которые поддерживаются ADB, мы уже говорили в предыдущих статьях данного цикла.
При помощи fastboot можно прошивать на Android-устройство неподписанные образы. Обычно данная функция отключена в мобильных аппаратах «из коробки», потому как в загрузчике отключена поддержка USB. Поэтому для полноценного использования всех функций fastboot необходим инженерный SPL, или же SPL с отключенной проверкой безопасности (Security flag off, проще – S-OFF).
SPL является вторым программным загрузчиком, и в сочетании с IPL составляет общий загрузчик Android-девайса. Помимо, собственно, самой начальной загрузки операционной системы Android, загрузчик также выполняет диагностику системы. Одна из диагностических функций заключается в управлении данными, которые находятся на внутреннем флэш-накопителе устройства. В зависимости от установленного SPL-загрузчика, пользователь может самостоятельно прошить на девайс подписанные NBH-файлы, образы NAND флэш-памяти и так далее. SPL установлен и работает, независимо от операционной системы Android, которая установлена и работает поверх него. IPL же – это программа начальной загрузки устройства, то есть первоначальной инициализации и загрузки всего оборудования «на борту», примерно как BIOS на персональных компьютерах.
Для того, чтобы проверить, доступен ли режим fastboot, нужно перезагрузить Android-устройство через ADB командой adbrebootbootloader. В верхней строке должно быть отображено «S-OFF», это значит, что «Проверка безопасности выключена». Если же отображается «S-ON», или же фон с четырьмя цветами радуги, значит данный SPL не имеет поддержки fastboot. Придется установить fastboot, который совместим с SPL.
Важно: при подключении мобильного Android-аппарата в режиме бутлоадера (bootloader) необходимо повторно установить драйвера Android 1.0 (именно так, по какой-то причине, идет отображение в «Диспетчере устройств»). Установка драйверов такая же, как обычно, только при установке самого драйвера нужно выбрать строчку не ADB, а FASTBOOT.
Теперь приступим к разбору, собственно, команд, которые можно выполнить в режиме fastboot.
fastboot devices
Отображает список всех присоединенных в режиме fastboot устройств.
fastboot flash <раздел> <файл>
Загружает выбранный .img-файл в определенный раздел Android-девайса с персонального компьютера, и проводит его установку. Для примера:
fastboot flash splash1 splash.img
Производит прошивку загрузочного Splash-экрана.
fastboot erase <раздел>
Полностью удаляет (стирает) указанный раздел. Доступные разделы: boot, radio, recovery, userdata, system
fastboot update <файл.zip>
Производит прошивку подключенного Android-девайса из указанного .zip-файла.
fastboot flashall
Производит прошивку разделов boot, recovery и system.
fastboot getvar <переменная>
Отображает значение указанной переменной bootloader. Например:
fastboot getvar version-bootloader
Будет отображена версия бутлоадера.
fastboot boot <kernel> [<ramdisk>]
Производит скачку и загрузку указанного Kernel.
fastboot flash:raw boot <kernel> [<ramdisk>]
Производит создание bootimage и его прошивку.
fastboot continue
Продолжает автозагрузку.
fastboot reboot
Производит перезагрузку подключенного Android-устройства.
fastboot reboot-bootloader
Производит перезагрузку подключенного Android-устройства в режиме загрузчика (bootloader).
Команды fastboot также поддерживают следующие ключи:
-w – удаление пользовательских данных и кэша.
-s <серийный номер> – установка серийного номера устройства.
-p <product> – установка названия подключенного девайса.
-c <cmdline> – переопределение Kernel commandline.
—i <vendorid> – установка вручную USB VID.
-b <base_addr> – указание вручную базового адреса Kernel.
-n <page size> – установка вручную размера страниц NAND. Значение по умолчанию равно 2048.
Вот мы и разобрались с командами fastboot в Android Debug Bridge. В следующей, заключительной статье данного цикла мы разберемся с разнообразными полезными скриптами, которые можно создавать с использованием ADB.