
To write such an article I was inspired by the fact that for a person who joined the slender ranks of Desire'vodov, information about the Android platform is very much fragmented. On the one hand, there is one platform for all Android devices, on the other hand, each device has its own nuances and subtleties. In addition,
there is a lot of information on such forums as
w3bsit3-dns.com.ru and
forum.xda-developers.com , but as a rule it is spread over all topics. We have to wade through hundreds of pages in an attempt to extract valuable pieces of information.
Finger Memory Architecture
Our smartphone has four types of memory:
- RAM, RAM (576 MB).
- ROM, built-in flash memory (512 MB).
- Removable flash memory, it is also an SD card (up to 32 GB). Mounted in the / mnt / sdcard directory.
- Flash memory chip radio controller. We do not have direct access to it.
Like any other Unix-smartphone, HTC Desire ROM contains the OS kernel, the file system and the rest of the OS.
Flash memory ROM is divided into sections, which, if necessary, can be updated separately and independently of each other:
- splash1 - logo when loading the phone (image 480x800);
- bootloader - responsible for finding and running the OS kernel; consists of two parts IPL and SPL;
- recovery is a program used to perform various maintenance functions — flashing, backing up, etc.
- system - the operating system itself; read-only is mounted in the / system directory; during operation does not change.
- data - user data (contacts, programs, etc.); Mounted in the / data directory;
- cache - used for temporary storage of data.
When performing wipe (reset to factory settings), the data, cache and ext area are erased (on the memory card).

Bootloader, as noted above, consists of IPL (Initial Program Loader) and SPL (Second Program Loader, aka HBOOT). IPL is implemented in hardware and its change, in fact, is not possible. This is an analogue BIOS chip in terms of a PC.
SPL is responsible for preparing the hardware of the phone for launching, loading and executing the OS kernel. In addition, it allows you to perform phone firmware and communicates via USB from a PC before the phone OS is loaded (the so-called fastboot mode). It is important to remember that SPL firmware is critical and in case of a violation of its firmware or damage for any other reason, you will receive a so-called “brick”, a brick, that is, an absolutely useless piece of iron for 20,000 rubles. The SPL firmware must necessarily correspond to the firmware of the radio controller chip (radiofirmware).
So we got to the next section of memory - recovery. Outwardly, this is a small menu that allows you to perform all sorts of service functions. Currently, the most common “recovery” for Desire are the following: ClockworkMod, Amon_RA and psfMod.
To be able to flash the recovery, you must unlock the possibility of flashing unsigned (almost all third-party firmware are not signed) firmware recovery (make the so-called S-OFF). You need to download the image for the disk (http://alpharev.nl/). Burn it to the CD disc, boot from it and follow the instructions.
For any work related to flashing the phone, you need a root.
Ruth, intelligent and merciless
And so what we have: a PC, HTC Desire, a USB cable.
The first step in the direction of "refining" our smartphone is getting the root.
What is the root and why do we need it so much? In simple words - this is an administrator account that will allow you to get everything your soul desires over the system:
- flashing phone;
- get full access to the file system (remove read-only restriction);
- change system files (themes, applications, scripts, etc.);
- run applications that require root rights;
- perform full and partial backups;
- Move the cache (system and user) to the SD card.
For all these buns, the
UnrEVOked Routing Program is
required . We go to the site, choose our phone, download the version of the program corresponding to our OS. In the case of Windows, install
the HBOOT driver . If HTC Sync is installed, delete it (except for HTC Driver Installer). Reboot the computer.
Set the following checkmark in the phone “Settings> Applications> Development> USB Debugging” and “Settings> Applications> Unknown Sources”
Run the previously downloaded reflash_package.exe in administrator mode (right click> Run as administrator). We connect the phone to the PC. We wait a few minutes until the process of rutting is completed. The superuser icon should appear in the list of installed programs.
')
Third-party firmware
Third-party firmware can be based either on official firmware from HTC Sense (labeled for example - FRF91), or on the source code from Google (AOSP, Android Open Project Project) or CyanogenMod project.
Unlike official firmware, third-party firmware, as a rule, is already rooted. In addition, they can contain a modified interface, have a certain set of pre-installed programs and all sorts of "chips":
- A2SD - the ability to create a partition on the memory card (formatted as ext2, ext3 or ext4) into which the programs will be installed. This allows you to get away from the problem with the lack of built-in flash memory.
- A2SD + is the same as A2SD, plus the ability to transfer the cache (this mode is not recommended, as it reduces the SD card resource).
- The possibility of the theme with the help of embedded applications.
- Ability to change the processor clock frequency.
- WakeUp and Unlock - the ability to wake up and unlock the device by pressing a certain key other than Power.
- Odexing \ Deodexing - optimization \ de-optimization packages.
- and much more...
A fairly complete list of third-party firmware, as well as their characteristics and links to firmware pages you can find
here.If you have any comments, corrections or additions to the table, please write me a profile on Google.
For any work on flashing and working with the phone via USB, I recommend using the following program - QtADB. It will allow you to take screenshots of the screen, view statistics on occupied memory, install \ delete programs and much more.

You can download it either on the
project site or already configured
here .
PS You perform any actions on the firmware of the phone at your own peril and risk. No one except you is responsible for this!