image
Написать подобную статью меня сподвигнул тот факт, что для человека, влившегося в стройные ряды Desire'водов, информация об платформе Android очень уж фрагментирована. С одной стороны платформа для всех Android устройств одна, с другой стороны для каждого устройства есть свои нюансы и тонкости. Кроме того информации на таких форумах как 4pda.ru и forum.xda-developers.com очень много, но как правило она размазана по всем темам. Приходится продираться сквозь сотни страниц в попытках извлечь ценные частицы информации.

Архитектура памяти на пальцах

Наш смартфон имеет четыре вида памяти:
  • ОЗУ, оперативная память (576 Мб).
  • ПЗУ, встроенная flash память (512 Мб).
  • Съемная flash память, она же SD карта (до 32 Гб). Монтируется в каталог /mnt/sdcard.
  • Flash память чипа радио-контроллера. Непосредственного доступа к ней не имеем.

Как и любой другой Unix-смартфон, HTC Desire в ПЗУ содержит ядро ОС, файловую систему и на остальные части ОС.
Flash память ПЗУ разделена на разделы, которые, в случае необходимости, могут обновляться отдельно и независимо друг от друга:
  • splash1 — логотип при загрузке телефона (изображение 480х800);
  • bootloader — отвечает за поиск и запуск ядра ОС; состоит из двух частей IPL и SPL;
  • recovery — программа, используемая для выполнению всевозможных обслуживающих функций — перепрошивка, резервное копирование и т.п.
  • system — непосредственно операционная система; монтируется read-only в каталог /system; в процессе эксплуатации не изменяется.
  • data — пользовательские данные (контакты, программы и т.п.); монтируется в каталог /data;
  • cache — используется для временного хранения данных.
При выполнении wipe (сброса до заводских установок), стирается область data, cache и ext (на карте памяти).
image

Bootloader, как было отмечено выше состоит из IPL (Initial Program Loader) и SPL (Second Program Loader, он же HBOOT). IPL реализован в железе и его изменение, по сути, не возможно. Это аналог микросхеме BIOS в терминах ПК.
SPL отвечает подготовку железа телефона к запуску, загрузку и выполнение ядра ОС. Кроме того он позволяет выполнить прошивку телефона и осуществляет связь по USB с ПК до загрузки ОС телефона (так называемый режим fastboot). Важно помнить что прошивка SPL является критичной и в случае нарушения процесса его прошивки или порчи ��о какой либо другой причине вы получите так называемый «brick», он же кирпич, то есть абсолютно бесполезную железку за 20 000 рублей. Прошивка SPL должна обязательно соответствовать прошивке чипа радио-контроллера (radiofirmware).
Вот мы и добрались до следующего раздела памяти — recovery. Внешне это небольшое меню, позволяющее осуществлять всевозможные обслуживающие функции. В настоящее время самыми распространенными «рекавери» для Desire являются следующие: ClockworkMod, Amon_RA и psfMod.
Для возможности перепрошивки recovery необходимо разблокировать возможность перепрошивки не подписанных (практически все сторонние прошивки не подписаны) прошивок recovery (сделать так называемый S-OFF). Необходимо скачать образ для диска (http://alpharev.nl/). Записать его на болванку CD, загрузиться с него и следовать инструкциям.
Для любых работ, связанных с перепрошивкой телефона нужен рут.

Рут, осмысленный и беспощадный

И так, что мы имеем: ПК, HTC Desire, кабель USB.
Первым шагом в сторону «облагораживания» нашего смартфона является получение рута.
Что же такое рут и для чего он нам так нужен? Простыми словами — это учетная запись администратора, которая позволит вытворять над системой все чего душа пожелает:
  • прошивать телефон;
  • получить полный доступ к файловой системе (снять ограничение read-only);
  • изменять системные файлы (темы, приложения, скрипты, и т.п.);
  • запускать приложения, требующие прав root;
  • выполнять полное и частичное резервное копирование;
  • переместить кэш (системный и пользовательский) на SD карту.
Для всех этих плюшек необходима программа рутования UnrEVOked. Заходим на сайт, выбираем наш телефон, качаем соответствующую нашей ОС версию программы. В случае Windows устанавливаем драйвер HBOOT. Если установлен HTC Sync, удаляем (кроме HTC Driver Installer). Перезагружаем компьютер.
Устанавливаем следующую галочку в телефоне «Настройки > Приложения > Разработка > Отладка USB» и «Настройки > Приложения > Неизвестные источники»
Запускаем скачанный ранее reflash_package.exe в режиме администратора (щелчок правой кнопкой > Запуск от имени администратора). Подсоединяем телефон к ПК. Ждем несколько минут, пока процесс рутования не завершится. В списке установленных программ должен появится значок суперпользователя.

Сторонние прошивки

Сторонние прошивки могут базироваться либо на официальных прошивках с HTC Sense (маркировка для примера — FRF91), либо на исходниках от Google (AOSP, Android Open Source Project) или проекта CyanogenMod.
В отличии от официальных прошивок, сторонние прошивки, как правило, уже рутованы. Кроме того они могут содержать измененный интерфейс, иметь некоторый набор предустановленных программ и всевозможные «фишек»:
  • A2SD – возможность создать на карте памяти раздел (отформатированный как ext2, ext3 или ext4), в который будут устанавливаться программы. Это позволяет уйти от проблемы с нехваткой встроенной флеш-памяти.
  • A2SD+ — тоже самое что и A2SD, плюс возможность перенести кеш (этот режим не рекомендуется, так как приводит к снижению ресурса SD карты).
  • Возможность темизации с помощью встроенных прил��жений.
  • Возможность изменять тактовую частоту процессора.
  • WakeUp и Unlock – возможность пробуждать и разблокировать устройство по нажатию на определенную клавишу, отличную от Power.
  • Odexing\Deodexing — оптимизация\де-оптимизация пакетов.
  • и многое другое...
Довольно полный список сторонних прошивок, а так же их характеристики и ссылки на страницы прошивок вы можете найти здесь
Если у вас есть замечания, исправления или дополнения к таблице, прошу писать мне в профиль на Google.
Для любых работ по перепрошивке и работе с телефоном по USB рекомендую пользоваться следующей программой — QtADB. Она позволит делать скриншоты экрана, смотреть статистику по занятой памяти, устанавливать\удалять программы и многое другое.
image
Скачать можно либо на сайте проекта либо уже настроенную здесь.

P.S. Любые действия по прошивке телефона вы выполняете на свой страх и риск. Никто, кроме вас не несет ответственность за это!