Saturday, November 5, 2011

Flashing & using a Recovery - PART 2

So, what is the recovery? Basically, what the name says -- a low-level part of the system, which is used in emergency cases, so-to-say. It's like the menus you see on your computer's screen right after the BIOS has booted, and before the OS has started up. That might be a bit far-fetched, but it's the closest familiar comparision I can make rigth now...

The recovery is present in all phones running Android, although access to it may be limited or absent in some devices.

Let's take the recovery that can be found in the HTC Desire, stock out-of-the-box, for example. It can be accessed by going to the HBOOT (you should know how to do that, since we covered it before), and selecting "RECOVERY" from the on-screen menu. If you'd do that, you might notice that there isn't much you can do with it. There are not many commands to run, only the update, clear cache and power down functions are available (as far as I remember). I suspect the recovery system is there to be used in warranty cases, by developers... I don't really know, that's just my guess.

You can CHANGE the recovery, by flashing ClockworkMod Recovery, for example, which enables many more options. There is also 4EXT Recovery, but I've never tried that, and I think CWM (ClockworkMod) is good enough, at least for my needs -- flashing & wiping, that is.

So, how can you change the recovery?! Well, there are two ways of doing that. The first and only we are going to "explain" here is the easiest one (since this is what most people would opt for) : having a rooted phone, you can install ROM Manager available from the Market and flash Recovery from it (again, we covered this before).

Now, once you have flashed the recovery, let's access it, shall we?! Start in HBOOT, then boot the recovery. Latest ClockworkMod Recovery right now is (for most phones), and its interface should be blue text on black background. Let's take a look at the options we have there :
-reboot system now : reboots the entire system (it reboots the entire system, bootloader included, not only the operating system / fast boot);
-apply update from sdcard : given you have an placed at the root of your SD card, this command applies that (recovery) update. We don't need this command, you have ROM Manager to use for flashing new recoveries.
-wipe data/factory reset : it deletes all user-applications you might have downloaded from Market or installed by yourself, and reverts all settings back to their original state.
-wipe cache partition : erases the contents of the partition where all Market downloads go before you install them. Since in most ROMs the location of Market downloads has already been changed, this partition is somewhat useless in some cases.
-install zip from sdcard : browse your SD card to select a ROM/mod you want to flash.
-backup and restore (Nandroid) : backup your current ROM, or restore any or all parts of an existing backup.
-mounts and storage : from here, you can manually mount partitions, in case a .zip doesn't get flashed successfully (it is requred, sometimes). You also can format them, which I don't reccomend, since you have the "wipe" functions available already... You can also "mount USB storage", which enables you to connect your phone to a computer and browse the SD card as you normally would.

Now, under "Advanced", we have several other options :
-Reboot Recovery - does what it says.
-Wipe Dalvik Cache - this is similar to Prefetch in Windows, SOMEWHAT. If you erase it, it will be re-created upon boot, which should take longer than normal (up to 10 minutes in some cases).
-Wipe Battery Stats - it deletes batterystat.bin from /system, which remembers the current in your battery so it can display battery percentage right. We will explain that in detail in a later post.
-Report Error - if ClockworkMod Recovery gives you an error, "Report Error" and next time you run ROM Manager, you'll be prompted to send the logs.
-Key Test - does what it says.
-Partition SD Card - does what it says. We will explain this in detail some time later, as well.
-Fix Permissions - does exactly what you can do from ROM Manager's "Fix permissions" option : fixes applications permissions, which is said to resolve problems with random force closes and hanging times.

There's another way you can flash Recovery, but it is more complicated. It requires that you have Android SDK installed on your computer, working HBOOT drivers for the phone (in the computer, on a USB drive, that is), and command prompt commands... All this is called ADB. I am not going to go deeper into that, since I have had many trouble with that method mself, and I don't intend to exasperate you too.


  1. Very useful, you really helped me :)

  2. I didnt knew many of the things you wrote about in this post, thanks for the interesting info.

  3. I'm probably going to switch to android phone, this blog will definitely help. gonna follow

  4. Oh you have no idea how much this helped me. Thanks!

  5. It's good that koush released There were so many broken builds... didn't know which one to test, so I used the very first :))

  6. This will be useful to a friend of mine, tnx :)