A lot of the information on a wide variety of web sites was written by people who were clearly technically competent but who, at the same time, couldn't clearly explain paint to a brush. Or worse, said it was paint while they described some of the elements of paint, leaving out critical details others soon discovered were missing.
Scary stuff! I wasn't going to risk my reasonably expensive new HTC Magic ("Sapphire") phone without having a clear path from the present config to a new one...and back again. That last part is critical. I wanted to be certain I could restore my phone to the factory-based build in order to ensure I would receive the "official" updates to my particular android phone as they are released by Vodafone here in NZ and around the world. I did not want to go out on an alternative version branch and be left stranded there.
So I waited. In the meantime, I installed the Android SDK on my 64-bit Ubuntu Linux system as well as my Windows Vista Home Premium system (Ubuntu was easier - for the record) and became familiar with the tools you use to access / alter the phone's system from your PC: "adb", "ddms" and I installed "fastboot" as well. In addition to the SDK instructions, you may find the alternative view at xda-developers helpful. I've also documented my own efforts here on my blog.
Finally, with the release of 'Cyanogen Mod v4.2.5, stable', I found the very clear and straightforward instructions provided by its source: Cyanogen (a.k.a. Steve Kondin).
The key, for me to Cyanogen's ROMs (Read Only Memory - essentially a system image copy) is they come pre-rooted. All I need to do is load it on the phone using Cyanogen's very useful 'recovery image' (cm-recovery-1.4.img) and activate it. The new system image from Cyanogen has been rooted for me already. This removes a HUGE technical hurdle for the know-a-fair-bit kind of guy who'd like to give this try.
As to why you would want to root your phone, there are several very practical reasons. You get access to features and functions not available in the standard ROMs from the telcos. For example, with my rooted phone, I can "tether" my iPod Touch to my phone via WiFi and allow the iPod to access the Internet through the phone's 3G connection. Or I can use the "SetCPU" apps to set the clock speed of the processor in my phone: faster for more speed, or slower for better battery life. As it is, without changing the CPU speed myself, Cyanogen Mod, by default, runs much faster than the stock version of Android. There are many other reasons, these were more than enough for me.
Jargon, jargon.
Half the battle is understanding the terminology used. At first I was bewildered by all the strange terms related to the components of the operating system on the phone. But after a while, it became clear there were only really a couple of things I absolutely needed to understand:
Fastboot: This has two meanings in the context of messing with your phone.

"Fastboot" is also a program that you can use on your PC, when you phone is connected in Fastboot mode (see image), to 'live boot' a temporary operating system. When you power your phone off and re-boot, you go back to the usual system.
Recovery mode and recovery image: You access the recovery mode of your phone by powering off, then holding down the HOME button and pressing the power button. On a standard HTC Magic/ MyTouch3G phone, you'd probably then see something like a white triangle on a black background with a yellow exclamation mark in it and a small phone image beside. This is what the default recovery image provides. You can't do much with the default. So you need to load one that is more useful and that is is what you typically use fastboot to load. In the case of Cyanogen's (latest as of writing) "cm-recovery-1.4.img", it boots up a text-based menu (click on image for full size) of options that allow you to perform some essential tasks like re-boot; backup the existing system ROM (critical! - but easy) to your sdcard using a program called "Nandroid"; or use Nandroid to restore from a previous backup. Or you can wipe the system area and then, separately, load an entirely new ROM from the root directory of your sdcard.
At this point, the only thing to remember is that if you do restore the original, factory image, you will also restore the default recovery and you won't have root access anymore.
How Nandroid works is pretty straightforward. Each new backup goes into the "Nandroid" directory on the sdcard. The device ID of the phone is the next level, then comes the version of the individual backup. It will make a new subdirectory below the device ID for each new backup.
For restoring, it will only restore the last backup made. If you don't want that one, you have to ensure the one you do want is the most recent one that Nandroid can see. That means moving the others out of the way to some other location.
Make sure you make copies elsewhere of any images you want to keep.....and don't mess with the naming of the folders. Nandroid needs those names just as they are. But I need to know what each one is, so I have a tree of folders with "AndroidBackups" at the top, then something like "01-backup-20091121-2340-first-CM-install" and then the next level will be "Nandroid"...and so on, as on the sdcard. This way, I can just drag / drop from the "Nandroid" level to the sdcard, knowing I have exactly the backup I want and no other.
The most important thing to me is not losing the backup of the original factory load. That is my key to returning to he vendor world of Android if I choose to. I've tested it and it works fine. Just remember that when you restore the original ROM, you're also restoring the original (not very useful) recovery, too. To get the Cyanogen recovery back, you'll have to fastboot it for temporary use, or install a new ROM and then make it permanent (or at least for the life of the task you have in mind, until you again restore the original.
This isn't a step-by-step guide, but I hope it does make clear some of things that baffled me and helps provide you with the confidence you need, through knowing you can mod your phone and you can put it back the way it was to begin with.
Thanks to Cyanogen / Steve Kondin for providing the simple, step-by-step instructions that finally gave me the certainty I required to have a go. they got me quickly to the point where it was easy if you know how by helping know how.
No comments:
Post a Comment
Thanks for deciding to share your thoughts here. In commenting on this blog, you can express any opinion you like, though any opinion expressed should make some attempt to be consistent with verifiable reality. Say what you like, confident that I won't delete any comments that are polite and respectful of me and others who may comment here. Civility aside, SPAM comments will be deleted if only because they are usually far too long and selling rubbish anyway. (Comments on posts older than 30 days are moderated. I'll approve them as soon as I can.)