Previous Entry Share
Прошивка CyanogenMod 11.2 на ASUS TF700t (Transformer)
tree, vdm
vdm_photo
Мотивом написать этот пост послужило то, что мой планшет на родной прошивке последнее время вёл себя неадекватно, кривые временные зоны уже порядком достали, а ни одной 100% работающей инструкции в интернете я не нашел. Вернее, крупицы истины пришлось собирать по кусочкам из разных мануалов (в основном буржуйских). Даже для искушенного в IT человека предметная область оказалась достаточно сложная и богатая новыми терминами, часть которых в русском языке не устоялась. В итоге на форумах все пишут как попало, что ещё больше доставляет. И разумеется, два основных источника правильных знаний были на английском, что и послужило финальным импульсом к этому посту. А самый главный прикол в том, что официальная инструкция от CyanogenMod-а тоже кривоватая, во всяком случае у меня она "взлетела" только с подгибами в некоторых местах.

В двух словах, у нас на входе ASUS Transformer Infinity Pad (он же TF700t) c Android 4.2, без рута и с родным софтом. На выходе - он же (внезапно, да) с Android 4.4 + TWRP Recovery + Root + CyanogenMod 11.2 и Google Play в минимально необходимом варианте. Сразу скажу, времени потребуется достаточно много, часа два запросто уйдет. Так что на ночь глядя заниматься перепрошивкой не советую :) Дело вроде не сложное, но ответственное. Вроде как риска запороть всё безнадежно у меня не возникало, но... кстати, как по-русски лучше всего переводится "to brick your device"?

Дисклеймер: здесь я излагаю исключительно свой личный опыт в образовательных целях. Но если вы начали что-то делать и у вас из планшета получилась подставка для кофе - мне вас, безусловно, жаль, но ничем помочь я не смогу. У меня выбора особо не было: либо просто не пользоваться девайсом, который жрет батарейку и лишь временами обновляет дефолтные приложения, которыми я всё равно не пользуюсь, либо попробовать что-то улучшить. Я рискнул - и у меня получилось. И у вас получится, если вы будете всё делать осторожно и внимательно.

В общих чертах, мы следуем официальной инструкции от CM. Места, которые в ней написаны неправильно (читайте: у меня не заработало), я отмечу особо.


Подготовка
1. Нам потребуется комп с установленной прогой ADB (Android USB Debug) и, очевидно, USB-кабель. Я использовал Linux и ориентируюсь на тех, кто хотя бы раз работал в командной строке. Если Вы этого не делали - погуглите и научитесь, это просто. Кстати, система не обязательно должна стоять на железе - я все эти операции проделывал с виртуалки, просто в ее настройках надо было указать, что USB-порт с планшетом "привязать" к виртуалке, и всё.
Ещё нам потребуются пакеты для работы по USB с android-девайсами. Надо сказать, командами adb иногда проще пользоваться, чем играться с кнопками power и громкости - девайс лежит на столе, подключенный проводом, а мы с ним работаем с компа, и никаких проблем с тем, что "не успел нажать Volume Down" при перезагрузке.

Если у вас Ubuntu/Debian/Mint: sudo apt-get install android-tools-adb android-tools-fastboot
Если Fedora/openSUSE/CentOS: yum install android-tools (а если свежая Fedora, то dnf install andoid-tools).

2. Заряжаем планшет до упора, накатываем все родные обновления на систему, чисто для порядка.
3. Чтобы не было "трудностей перевода", переключаем язык интерфейса в планшете на английский.
4. Включаем USB debugging в нашем устройстве. Это сделать можно несколькими способами, самый простой - сначала включить Developer options: идём в Settings - About tablet, и там тыкаем на строку Build number целых 7 (да, именно семь!) раз. По ходу этих кликов нам сообщают, в скольких шагах мы от цели. После этого в меню слева появляется строка Developer options (вроде бы, строкой выше над About tablet - в Cyanogen всё чуть-чуть не так), и там надо найти пункт Android debugging. Возможно, он называется как-то чуть-чуть иначе, но там должны быть слова про Android Debug Bridge (ADB). Вот эту галочку и включаем. Нас ещё переспросят, хотим мы этого или нет, но мы упорно соглашаемся. Заодно можно отключить верификацию приложений при установке по USB - мы же не будем ставить абы какую ересь.
5. Включаем adb-server: в консоли пишем
sudo adb start-server
6. Теперь проверяем, видит ли система наш прибор. В консоли пишем:
adb devices
Нам должны показать строчку такого вида:
List of devices attached
115d29856f31001a    device
7. Для полной уверенности в успехе мы должны убедиться, что у нас правильная версия bootloader-а.
В консоли пишем (ничего страшного в этих шагах нет - если что-то не так, просто перезагрузим обратно и всё):
adb reboot bootloader
Экран почернеет, потом девайс выдаст в центре "менюшку" из трех пунктов с мерцающей надписью RCK (recovery), "android" и "wipe data".
Но это нас не интересует, нам нужна надпись в самом верху экрана слева.
Там на второй строке примерно такой текст:
Android бла-бла bootloader <1.00 e> released by "WW_epad-10.6.1.14.10-2013081" A03
Нам важно, чтобы версия bootloader-а была не ниже 10.6.1.14.4. У нас последний разряд 10, т.е. выше 4, а остальные совпадают. Значит годится.
Ура мы почти готовы колотить-ломать-слесарить! На этом этапе мы ещё ничего не испортили, а значит, можно налить ещё чашку кофе и приступить к делу.

Уносим всё ценное с девайса и делаем reset
1. Пока не стало поздно, берем большую флешку и сливаем туда фоточки, документики и всё остальное, что нажито непосильным трудом. На всякий случай напоминаю: пароли, сохраненные в браузере, тоже запоминаем, записываем на бумажку или куда-нибудь ещё и тоже не продалбываем. В теории, содержимое внешней SD-карты не продалбывается, но лучше на всякий случай сохранить вообще всё куда-нибудь подальше.
2. А теперь идём в настройки (Settings - Backup and Reset) и делаем Reset to factory settings. Вы спросите, зачем - мы и так сейчас всё удалим. Это нужно, чтобы не обломаться на следующем шаге при запуске unlock-утилиты от ASUS, когда она полезет в Google за вашим аккаунтом. Процесс занимает несколько минут.

Получение S-OFF (Unlock)
Этот этап на удивление простой, так как основную работу выполняет официальная утилита от ASUS.
1. Качаем UnlockAppV7 с официального сайта (если ссылка помрёт, то просто идите на сайт ASUS-а и там ищите по названию модели). Основной прикол в том, что качать надо версию 7, а не 8, как написано в инструкции от CM! Это были первые грабли, на которые я наступил.
2. Ставим это чудо на планшет. Можно двумя способами - как все нормальные люди - скачать .apk-пакет прямо на планшет и там установить. Скорее всего, Вам при этом придётся снять галочку, запрещающую ставить пакеты из левых источников. А можно поставить эту штуковину через adb-консоль. Для этого скачиваем asus-овый unlocker из пункта 1 на комп, а не на планшет, и пишем в терминале (разумеется, перейдя в каталог, куда мы его скачали):
adb install UnLock_Device_App_V7.apk
Оно пошуршит и установит прогу, не задавая тупых вопросов.
3. Запускаем unlocker - как обычное приложение. И вот тут оно нас попросит перечитать лицензии и подтвердить, что вы реально понимаете, чем это всё грозит. Мы, разумеется, соглашаемся на всё. В итоге оно должно сказать нам, что всё случилось успешно. Примечание: у меня этот пункт сначала не получался по причине того, что я не делал reset. Без этого софтина долбится в Google, спрашивает пароль от аккаунта, но почему-то даже при правильном пароле ничего делать не хочет.
4. Проверяем, что девайс разлочился: в консоли говорим adb reboot и внимательно смотрим на экран при загрузке. Там в самом начале на черном фоне будет крохотными буквами гореть белый текст "This device is UnLocked".
Получилось? ура, делаем глоток кофе и переходим к установке recovery-прошивки.

Установка custom recovery
В целом этот пункт на 100% повторяет то, что написано в официальной инструкции CM (ссылка была выше) - здесь особо никаких граблей нету, за исключением того, что интерфейс прошивки самую малость изменился. В двух словах, что тут происходит: мы заменяем родную прошивку (которая годится лишь для для восстановления девайса из убитого состояния) на более продвинутую от пацанов TeamWin Recovery Project, которая умеет очень много всего - бэкапы, ресеты, восстановление, установка системы и других базовых компонент, и многое другое.
Кстати говоря, это пока что первое действие, которое вносит серьезные модификации в наш девайс. Если Вы вдруг испугались - можете на этом шаге остановиться. Но нам же не страшно, правда? Поехали!
Сначала скачаем нужную прошивку twrp-2.8.7.0 - тут у CM-щиков всё написано верно.

Помните, в самом начале мы ставили пакет android-tools-fastboot? Вот сейчас настал его черёд.

1. В консоли пишем:
adb reboot bootloader
2. Наш девайс должен показать черный экран с 3 кнопками в центре, а вверху слева (по идее) должен быть текст Starting Fastboot USB download protocol. Если у вас такого текста нет... наверное, это не критично. Окей, теперь проверяем, что fastboot видит наше устройство. С fastboot удобнее работать с рутовыми правами (т.е. через sudo), потому что с обычными привилегиями "из коробки" оно не пашет. Нам на это глубоко пофигу, поэтому:
3. набираем команду:
sudo fastboot devices
Нам должны показать строчку такого типа:
115d29856f31001a    fastboot
Получилось? Ура, вот теперь, так сказать, "жжём" (не бойтесь, не задымится ваш прибор!).
4. Перейдите в ту директорию, куда мы скачали прошивку (обычно это Downloads), так как последним параметром к следующей команде указывается путь к файлу прошивки, и набираем вот такое:
sudo fastboot -i 0xb05 flash recovery twrp-2.8.7.0-tf700t.img
Оно должно пошуршать и написать нам, что всё выполнено и всё ОК. Если оно пишет какие-то ошибки (ключевое слово "failed") - что-то значит пошло не так и надо с этим разобраться.
Самое правильное - скопировать текст (последнюю строку с текстом ошибки), тупо забить ее в Гугл и почитать, кто ещё с таким сталкивался. Не бывает такого, что Вы - первопроходец и больше никто такого не встречал.
Обычно подобные операции выполняются транзакционно - т.е. если что-то не так - оно откатывается к исходному состоянию до начала операции. Поэтому, если вы проявите хладнокровие и внимательность, вы едва ли получите "блестящий кирпич".
5. Теперь проверяем, что recovery-прошивка работает. Перезагружаемся:
sudo fastboot reboot
6. Когда девайс загрузится, ещё раз перезагружаемся, но уже в режиме recovery (кстати, если кто-то умеет то же самое делать за один ход - подскажите)
adb reboot recovery
В процессе загрузки Вы увидите в какой-то момент 4 пингвинов, потом синюю заставку с текстом teamwin, а потом интерфейс прошивки с серыми кнопками. BIOS с тачскрином - это вам не хухры-мухры!
7. На всякий случай жмем кнопку Backup и там делаем бэкап всего того, что отмечено по умолчанию. Пацаны из TWRP всё делают удобно - просто свайпим в нижней части экрана и процесс пойдет.
8. Возвращаемся, потом идём в меню Wipe. Так надо - это ещё у Тургенева было:
- Однако позвольте,- заговорил Николай Петрович.- Вы всё отрицаете, или, выражаясь точнее, вы всё разрушаете... Да ведь надобно же и строить.
- Это уже не наше дело... Сперва нужно место расчистить.

Ура! теперь завязываем с нигилизмом и начинаем строительство. Перезагружаться, кстати, в этот момент не нужно.

Установка CyanogenMod 11.2
Пока наш девайс продолжает жить в режиме рекавери-прошивки (вы же внимательно читали предыдущую главу и не перезагружались, правда?)
1. Скачиваем нужный нам Цианоген. Вот это последняя условно-стабильная сборка для TF700t (они называют такие snapshot-ами). Есть ещё ночные... но оно вам надо? Там может отваливаться всё, что угодно в случайном порядке. А эта работает более-менее прилично.
2. Теперь заливаем прошивку на девайс, опять же по USB:
adb push cm-11-20141112-SNAPSHOT-M12-tf700t.zip /sdcard/
Заливается оно не мгновенно (200 метров с гаком!), так что можете выдохнуть, заварить ещё кофе, если предыдущая чашка уже на исходе, подумать о прекрасном и так далее.
3. В главном меню TWRP жмем кнопку Install (она самая первая в верхнем ряду), там выбираем файл cm-11-многобукв.zip и понеслось. Пока оно ставится, отхлёбываем заваренный на предыдущем этапе кофе (но это уже быстрее, чем заливка по USB).
4. Перезагружаемся в нашу новую уютненькую ОС.

Прочие bells and whistles
Если вы дочитали до этого места и ещё не разбили чашку об монитор, потому что ни хрена не получается, то я вас категорически поздравляю (это во-первых), а во-вторых - дам ещё пару советов относительно того, как правильно готовить CM. Дело в том, что он поставляется без Google Play и прочей гугловой ереси. Да-да, совсем без гугла. Но это как плюс, так и минус - всё-таки ставить приложения из магазина удобно. И эта проблема решается, так как есть чудесная штука под названием Google Apps.
Можете погуглить, что это такое, а можете дуть прямо по этой ссылке и скачивать оттуда Google Play в минимальном варианте. Конечно, вместе с ним прилетят ещё некоторые зависимости (ну и хрен с ними, не так страшно). Зато нету никаких предустановленных фейсбуков, твиторов с блохами и прочего г-на. Не, если Вы фанат всего этого - потом поставить без проблем. Но главное, что их нет по умолчанию и они не задалбывают еженедельными апдейтами, синхронизациями и прочей ересью.
Теперь, как поставить GApps? Очень просто:
1. снова перезагружаемся в recovery:
adb reboot recovery
2. заливаем архив на планшет:
adb push open_gapps-arm-4.4-pico-20160117.zip /sdcard/
3. Снова жмем Install, там выбираем этот самый zip-файл и ставим. Ничего хитрого, потом перезагружаемся обратно в систему:
adb reboot
Ура - теперь в нашей маленькой деревне есть сельпо гугловый магазин. А с остальным вы и сами справитесь.

Да, при выходе из вагона не забывайте свои вещи: не забудьте вырубить ADB в настройках планшета, если Вы не собираетесь заниматься его расхачиванием дальше. Остальное делается уже человеческим способом через интерфейс.
Вроде бы я ничего не забыл. В планах ещё написать статью про HTC Desire S - там всё оказалось чуть-чуть хитрее, и тоже не без костылей и подпорок к "официальным" документациям. Там ещё процесс рутования чуть хитрее, но тоже в общем-то по силам всем и каждому.

?

Log in