Как я «автогеном, через спину, гланды вырезал»
Как все начиналось
А начиналось все довольно прозаично. Телефон 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, образа и…
Маленькое отступление
Проблем было две:
- Или я что-то не понял из описания или одно из двух, но для получения «правильного» образа нужно было сначала его создать утилитой make_ext4fs, а потом конвертировать утилитой simg2imgю
- Размер имиджа, заливаемого с помощью утилиты fastboot ограничен, где то в районе чуть больше одного гигабайта
Продолжаем «использовать автоген»
Из-за ограничения размера имиджа, пришлось немного порезать папку system от стоковой прошивки.
После заливки получившегося имиджа с системой аппарат стартовал, не без «глюков», но, главная цель была достигнута – появилась возможность использовать Bluetooth (USB то только в режиме fastboot)
Использование Bluetooth для передачи файлов размером в районе гигабайта, еще то… удовольствие… После третьего обрыва передачи почти в самом конце файла, мысль ускорилась и…
А вот и «гланды»
И так имеем:
- С помощью утилиты fastboot можем залить в раздел system некоторый имидж
- Имидж – это набор файлов
- TWRP умеет монтировать раздел system и манипулировать файлами из него
Надо:
- Залить на внутреннюю память телефона zip файл с прошивкой
Проблема:
- USB работает только в режиме fastboot
Решение:
- Создаем имидж, содержащий только файл с прошивкой (из-за ограничений размера имиджа, была выбрана прошивка от CyanogenMod)
- Заливаем получившийся имидж в раздел system утилитой fastboot
- В TWRP монтируем раздел system и переносим из него zip файл с прошивкой в пользовательскую зону (/sdcard/downloads например)
- В TWRP прошиваем аппарат
УРА!!! Заработало… не все… USB продолжает «глючить», но уже иногда включается…
После всех этих приключений аппарат был возвращен к стоковой прошивке, но это уже другая история, главное что сработало.