Прошиваємо файлову систему android за допомогою adb і fastboot
У третій за рахунком статті в нашому циклі по Android Debug Bridge ми розберемося з утилітою fastboot. Fastboot - це додаток для персонального комп'ютера, що працює через консоль. Дана утиліта використовується для прошивки файлової системи Android-девайсів.
За допомогою 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 пристроїв.
fastboot flash <раздел> <файл>
Завантажує обраний .img-файл в певний розділ Android-девайса з персонального комп'ютера, і проводить його установку. Для прикладу:
fastboot flash splash1 splash.img
Виробляє прошивку завантажувального Splash-екрану.
fastboot erase <раздел>
Повністю видаляє (стирає) зазначений розділ. Доступні розділи: boot, radio, recovery, userdata, system
fastboot update <файл.zip>
Виробляє прошивку підключеного Android-девайса із зазначеного .zip-файлу.
Виробляє прошивку розділів boot, recovery і system.
fastboot getvar <переменная>
Відображає значення зазначеної змінної bootloader. наприклад:
fastboot getvar version-bootloader
Буде відображена версія бутлоадер.
fastboot boot
Виробляє стрибка і завантаження зазначеного Kernel.
fastboot flash: raw boot
Виробляє створення bootimage і його прошивку.
Виробляє перезавантаження підключеного Android-пристрої.
Виробляє перезавантаження підключеного Android-пристрої в режимі завантажувача (bootloader).
Команди fastboot також підтримують такі ключі:
-w - видалення призначених для користувача даних і кеша.
-s <серийный номер> - установка серійного номера пристрою.
-p
-c