» Мануалы

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.

Дмитрий
2017-02-03 16:34:34
-s <серийный номер> – установка серийного номера устройства. -p <product> – установка названия подключенного девайса. Что означает в этих выражениях слово "установка"? Может быть вместо "установка" нужно "определяет и выдает"!