Записки программиста, обо всем и ни о чем. Но, наверное, больше профессионального.

2011-11-01

CyanogenMod

Говорила мне мама — ты же программист, сынок, ты же знаешь — работает, не трогай. Да кто же слушает мам?

Был (его железная часть и сейчас есть, вот операционке — вечная память) у меня толковый смартфон, всем меня устраивал (кроме, разве, невозможности флеш-ролики глядеть). И вот, захотелось мне странного и перепрошил я в Булыжник свежую версию Андроида. Порадовался мелким улучшениям. А потом, потом я обнаружил страшное — аппарат жутко (по сравнению с тем, что было) тормозит и лагает, аж до пропуска управляющих команд; браузер может сожрать батарею за несколько часов, вися в фоне. На днях у меня лопнуло терпение — пару раз батарея села в ноль пока я спал. То ли МТС шалит, то ли сам аппарат, поди разберись. И я решил — все, кватит накуй, прошью более другого Андроида. Цианоген тут как раз рекомендовали.

Пацан сказал, пацан сделал. Вторые сутки у меня в Булыжнике сидит обцианогененный Андроид. Я пока доволен.

Вот отчет о перепрошивке.

Пара слов о сути процесса. Проведя нынешнюю прошивку, я прочувствовал, в чем фокус (в предыдущий раз не разобрался). Фокус в том, что заливка новой системы проводится в два этапа (если тел целочка в смысле прошивок). Сначала на тел заливается так называемый «рекавери», фактически организуется дуал-бутовая система, где рядом со штатной осью располагается вспомогательная. Если Андроид это минилинукс, то эта вспомогательная будет микролинукс (рекавери ее зовут, что странно — скажите поручик, расстегай это рыба или мясо? Расстегай — это команда). И после того, как у вас появляется возможность в любой момент загрузится в микролинукс, вы получаете изячный и примитивный способ заменить минилинукс на что угодно. И в любое желаемое время.

Замена проводится через автоматическую распаковку в нужное место некоего архивчика, содержащего образ новой системы. Все что требуется, это разместить архивчик в обусловленном месте на карту памяти. Причем это можно сделать прям в процессе, приказав микролинуксу замонтировать карту как юсб-драйв, после чего залить с большого компа файл по юсб на карту памяти.

Итак, сперва я зафиксировал список используемых мною аппликух, чтоб потом не вспоминать мучительно, что из маркета качать:

AccuWeather quick
Adobe flash player 11
Advanced task killer
amoeba
barcode scanner
beamreader PDF viewer
blink flash led in your way (уже не надо, в цианогене есть)
bluetooth file transfer
colordict dictionary translate
colornote notepad notes
digital clock + widget
fbreader
fring
ghost commander file manager
handy locator lite
keepassdroid
moon+ reader
navy clock II
paragon keyboard (уже не надо, в цианогене есть)
qr droid
quickpic
skype
yandex.maps

Потом внимательно изучил доступные материалы, начав отсюда:
wiki.cyanogenmod.com/wiki/Unofficial_Ports#Motorola_Milestone
Освежил память о предыдущем своем опыте:
vasnake.blogspot.com/2011/07/froyo

Потом раздобыл все нужные файлы (полный список ниже) и подготовил вирт.машину с виндой. Сделал хардресет телу (инструкция ниже); подключил тел к виртуалке.

Потом делал как рекомендовано, попутно записывая, что шло не так, получилась улучшенная и поправленная инструкция по прошивке CyanogenMod на Motorola Milestone:

A) First install the USB drivers from Motorola (Motorola_Mobile_Drivers_4.7.1_MotoConnect_1.1.31.exe).

B) Then install the RSD Lite Tool (RSD_Lite_4.9.rar)

C) Use RSD Lite to flash the Recovery-Only SBF (vulnerable_recovery_only_RAMDLD90_78.zip)
Detailed Instructions for Step C ->
Start the RSD Lite, select the SBF file
1. Plug in your phone (while it's off)
2. Go into the Bootloader Mode by holding UP (on the hardware keyboard) and press Power-On for 2-3 seconds (if UP doesn't work try pressing X) — Этот пункт реально не пошел, пришлось загрузить тел в штатный режим, в надежде, что прошивальщик сам разберется. Разобрался.
3. Now select your phone which should be now visible in the RSD Lite tool
4. Press Start — первая попытка не удалась, пришлось повторить, сразу после старта зажав (и удерживая до окончания процесса) на аппаратной клаве тела кнопу «стрелка вверх». И все срослось.
5. The phone will reboot 1-3 times during the downgrade process. DO NOT unplug it!

D) Install Androidiani OpenRecovery
Detailed instructions for Step D-> Installing OpenRecovery:
1. Download Open Recovery (any will do,but Androidiani is recommended) (OpenRecovery-3_3.zip) — и распакуйте, будет папка и файл update.zip
2. Copy the update.zip file to the root of your SD — либо загрузив тел в штатный режим и подключив его как флеш-диск, либо загрузив в рекавери и подключив его там как юсб-драйв.
3. Copy the OpenRecovery folder to the root of your SD.
Reboot your phone into recovery menu — см.ниже инструкцию захода в рекавери
NOTE: If you get an error about "EOCD Marker" at this point, that means you did not flash the vulnerable recovery properly. Go back to previous section, re-flash vulnerable recovery with RSD Lite and hold the up key during the whole operation until RSD Lite finishes.
4. Apply the update.zip — в рекавери будет соответствующий пункт меню
You are now in Open Recovery. You can now root the phone, do Nandroid backup/restore etc; You can now install Cyanogen for Milestone.

E) Lastly follow the steps for installing Cyanogen for Milestone and Google Apps
If you are already rooted/have an OpenRecovery installed on your Milestone:
1. Put Google Apps (gapps-gb-20111029-signed.zip) and the latest Cyanogen zip file (update-cm-7.1.0.2-Milestone-KANG-signed.zip) in the Openrecovery/updates folder — должно быть уже всем понятно, что указанные файлы надо положить в нужное место на карте памяти уже понятным способом. Интересно, что будет с системой, если не ставить Гугл Аппс?
2. Factory Reset / Wipe Cache Partition AND Dalvik Cache — в меню рекавери в самом конце списка будут такие пункты меню, их надо выполнить
3. Flash the Cyanogen update.zip file — тоже, в меню рекавери через соотв.пункты меню
4. Flash the Google Apps zip file

F) (if applicable) -> Make sure to install the correct baseband for you phone
from the Androidiani menu if you are not using European 3G frequencies on your network — менять частоту для радио мне не понадобилось. Но можно :)

Перезагрузиться (я еще раз хардресет не сделал, но некоторые рекомендуют).

После загрузки в штатный режим сразу сделать важное — переустановить язык, лучше на аглицкий, ибо бага: Market FC: "Go to Settings/Language & Keyboard/Select Language. Select English even if already selected."
code.google.com/p/cyanogenmod4milestone/issues/detail?id=651#c10

И дальше как обычно при обживании нового девайса — инициализация, проверка всех настроек (их там дохерища, я прощелкивал их пару часов), синхронизация, заливка прикладух.


Как попасть в рекавери (микролинукс) и потом сделать хардресет (© не мой):

1. Выключить телефон
2. Нажать кнопку Х на хардверной клавиатуре и держать не отпуская
3. Нажать кнопку питания и держать до появления моторольского логотипа (буква М в белом круге)
4. Отпустить питание и продолжаю держать кнопку Х на хардверной клавиатуре до появления треугольника с восклицательным знаком внутри (с момента появления моторольского логотипа до появления треугольника проходит секунд 15)
5. Отпустить кнопку Х на хардверной клавиатуре
6. Нажать громкость вверх и держать
7. Коротко нажать кнопку камеры (именно камеры, а не Х) - появляется меню синими буквами. Все - вы в меню рекавери. Кнопки можно отпустить.

8. Выбираем Wipe data/factory reset — ПОДУМАВ сперва, хотите ли вы этого!


Где, что:
www.droid-developers.org/wiki/CyanogenMod_4_Milestone_FAQ
wiki.cyanogenmod.com/wiki/Unofficial_Ports#Motorola_Milestone
forum.xda-developers.com/showthread.php?t=941346
code.google.com/p/androidiani-openrecovery/downloads/list
android.doshaska.net/cm7
github.com/nadlabak/android/downloads

Применявшиеся файлы, слева md5sum:
6e92d69286de1665d9d9264c29481663 Motorola_Mobile_Drivers_4.7.1_MotoConnect_1.1.31.exe
e0ad8bc0537216ad0db5e4a5554dbac9 RSD_Lite_4.9.rar
b075353a6e18ef3b515ed3d73d03e484 vulnerable_recovery_only_RAMDLD90_78.zip
827a26ac602a4ada4338743ef77b38dc OpenRecovery-3_3.zip
4c8748db820475c455e1f0a0322afc37 gapps-gb-20111029-signed.zip
8cfe40ddbc346d24742cc28d57d0961d update-cm-7.1.0.2-Milestone-KANG-signed.zip

2 комментария:

  1. Уууух, очередность отпускания и нажимания кнопок доставляе. Пианиста, блин, воспитывают.
    [сидит и собирает инфу для заливки Цианогена на свой девайс]

    ОтветитьУдалить
  2. > очередность отпускания и нажимания кнопок доставляе

    Угу, и не просто очередность, надо еще _вовремя_ нажать/отпустить. Если промахнулся, жди пока прогрузится, гаси, начинай с начала.

    ОтветитьУдалить

Архив блога

Ярлыки

linux (241) python (191) citation (186) web-develop (170) gov.ru (159) video (124) бытовуха (115) sysadm (100) GIS (97) Zope(Plone) (88) бурчалки (84) Book (83) programming (82) грабли (77) Fun (76) development (73) windsurfing (72) Microsoft (64) hiload (62) internet provider (57) opensource (57) security (57) опыт (55) movie (52) Wisdom (51) ML (47) driving (45) hardware (45) language (45) money (42) JS (41) curse (40) bigdata (39) DBMS (38) ArcGIS (34) history (31) PDA (30) howto (30) holyday (29) Google (27) Oracle (27) tourism (27) virtbox (27) health (26) vacation (24) AI (23) Autodesk (23) SQL (23) humor (23) Java (22) knowledge (22) translate (20) CSS (19) cheatsheet (19) hack (19) Apache (16) Klaipeda (15) Manager (15) web-browser (15) Никонов (15) functional programming (14) happiness (14) music (14) todo (14) PHP (13) course (13) scala (13) weapon (13) HTTP. Apache (12) SSH (12) frameworks (12) hero (12) im (12) settings (12) HTML (11) SciTE (11) USA (11) crypto (11) game (11) map (11) HTTPD (9) ODF (9) Photo (9) купи/продай (9) benchmark (8) documentation (8) 3D (7) CS (7) DNS (7) NoSQL (7) cloud (7) django (7) gun (7) matroska (7) telephony (7) Microsoft Office (6) VCS (6) bluetooth (6) pidgin (6) proxy (6) Donald Knuth (5) ETL (5) NVIDIA (5) Palanga (5) REST (5) bash (5) flash (5) keyboard (5) price (5) samba (5) CGI (4) LISP (4) RoR (4) cache (4) car (4) display (4) holywar (4) nginx (4) pistol (4) spark (4) xml (4) Лебедев (4) IDE (3) IE8 (3) J2EE (3) NTFS (3) RDP (3) holiday (3) mount (3) Гоблин (3) кухня (3) урюк (3) AMQP (2) ERP (2) IE7 (2) NAS (2) Naudoc (2) PDF (2) address (2) air (2) british (2) coffee (2) fitness (2) font (2) ftp (2) fuckup (2) messaging (2) notify (2) sharepoint (2) ssl/tls (2) stardict (2) tests (2) tunnel (2) udev (2) APT (1) Baltic (1) CRUD (1) Canyonlands (1) Cyprus (1) DVDShrink (1) Jabber (1) K9Copy (1) Matlab (1) Portugal (1) VBA (1) WD My Book (1) autoit (1) bike (1) cannabis (1) chat (1) concurrent (1) dbf (1) ext4 (1) idioten (1) join (1) krusader (1) license (1) life (1) migration (1) mindmap (1) navitel (1) pneumatic weapon (1) quiz (1) regexp (1) robot (1) science (1) seaside (1) serialization (1) shore (1) spatial (1) tie (1) vim (1) Науру (1) крысы (1) налоги (1) пианино (1)