
Написать подобную статью меня сподвигнул тот факт, что для человека, влившегося в стройные ряды 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 — используется для временного хранения данных.

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 карту.
Устанавливаем следующую галочку в телефоне «Настройки > Приложения > Разработка > Отладка 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. Она позволит делать скриншоты экрана, смотреть статистику по занятой памяти, устанавливать\удалять программы и многое другое.

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