Pull to refresh

Прошивка HTC One в fastboot

Reading time3 min
Views39K

Как я «автогеном, через спину, гланды вырезал»


Как все начиналось

А начиналось все довольно прозаично. Телефон HTC One вывел сообщение, что в режиме Host mode заряжаться не может… Вывел и вывел, как вывел, так я его и убрал, не придав значения, а зря! Когда заряд батареи начал иссякать, телефон был подключен к USB кабелю и… ничего не произошло… совсем, то есть реакции ноль…
Пошел в Гугл… там была найдена пара советов по запуску в разных режимах с различными комбинациями кнопок. Советы не помогли, но, обнаружилось, что в режиме «fastboot» телефон виден по USB. Вот тут и было принято решение «прошивать»… И началось…
Говорили мне, back up «наше ВСЕ»

Так как доступ к телефону по USB только в режиме fastboot, то и back up сделан не был, а вот все разделы внутренней памяти, до которых удалось добраться, были отформатированы… Но, по порядку:
  • Разблокировал аппарат (подробная инструкция тут)
  • Залил рекавери от TWRP
  • Залил, по bluetooth, USB то не работает, на аппарат альтернативную прошивку от CyanogenMod
  • Не помогло… USB только в fastboot, как было, так и осталось
  • !!! Потерев все разделы, до которых смог дотянуться TWRP!!!
  • Перезапустился и… вуаля… «кирпич» без операционной системы налицо…

И все бы было хорошо, если бы не одно «НО». USB работает только в fastboot, то есть залить что-то на аппарат можно теперь только в fastboot, вот она радость от моноблока без внешней flash card. И тут вторая засада: ключик S_ON, не позволяющий залить более ранние версии или поменять HBOOT.
Поиск решений

Самым правильным в такой ситуации, на мой взгляд, было бы использование утилиты ROM Upgrade Utility (RUU), но, то ли я плохо искал, то ли HTC так хорошо прячет, но найти «свежую» версию RUU мне не удалось… Жаль, но мысль продолжает работать.
Утилита fastboot позволяет заливать image file в некоторый разделы, в том числе и в раздел system. Но где взять имидж раздела system. Поиски готового результат не принесли. Появилась мысль сделать раздел из папки system из zip файла с прошивкой.
На форуме нашел способ получения файла с имиджем, экспериментальным образом был получен алгоритм создания «правильного», с точки зрения HTC, образа и…
Маленькое отступление

Проблем было две:
  1. Или я что-то не понял из описания или одно из двух, но для получения «правильного» образа нужно было сначала его создать утилитой make_ext4fs, а потом конвертировать утилитой simg2imgю
  2. Размер имиджа, заливаемого с помощью утилиты fastboot ограничен, где то в районе чуть больше одного гигабайта

Продолжаем «использовать автоген»

Из-за ограничения размера имиджа, пришлось немного порезать папку system от стоковой прошивки.
После заливки получившегося имиджа с системой аппарат стартовал, не без «глюков», но, главная цель была достигнута – появилась возможность использовать Bluetooth (USB то только в режиме fastboot)
Использование Bluetooth для передачи файлов размером в районе гигабайта, еще то… удовольствие… После третьего обрыва передачи почти в самом конце файла, мысль ускорилась и…
А вот и «гланды»

И так имеем:
  • С помощью утилиты fastboot можем залить в раздел system некоторый имидж
  • Имидж – это набор файлов
  • TWRP умеет монтировать раздел system и манипулировать файлами из него

Надо:
  • Залить на внутреннюю память телефона zip файл с прошивкой

Проблема:
  • USB работает только в режиме fastboot

Решение:
  • Создаем имидж, содержащий только файл с прошивкой (из-за ограничений размера имиджа, была выбрана прошивка от CyanogenMod)
  • Заливаем получившийся имидж в раздел system утилитой fastboot
  • В TWRP монтируем раздел system и переносим из него zip файл с прошивкой в пользовательскую зону (/sdcard/downloads например)
  • В TWRP прошиваем аппарат

УРА!!! Заработало… не все… USB продолжает «глючить», но уже иногда включается…
После всех этих приключений аппарат был возвращен к стоковой прошивке, но это уже другая история, главное что сработало.
Tags:
Hubs:
0
Comments19

Articles