Manually updating an Android rom

As I mentioned in last month’s post Rooting Someone Else’s Droid, I set up my sister-in-law with the rooted rom Cyanogen 7 Release Candidate 4 on her Droid. Unfortunately, recently it started acting buggy on her. One of the things I advised her to do was repair permissions. Another was to make a backup and then install the latest stable rom (which, as of this writing, is Cyanogen 7.0.3).

If anyone else is remotely supporting a rooted Android phone user and would like a screenshot-laden tutorial on the update process, here it is.

The first thing you need to do is download the latest stable rom from the Cyanogen website that is appropriate for your phone model (this assumes you’re using Cyanogen—if you’re using another rom, obviously you’d download the latest version of that other rom). Since you’re upgrading and not install a rooted rom for the first time, you don’t need to download the Google apps zipped file. Also, be sure not to unzip the .zip file after you download it. Just keep it as is.

When it’s downloaded, plug in your phone and copy the .zip file to the top-level directory of your mounted MicroSD card. In other words, it should not be inside of a folder on your phone’s storage.

After you’ve copied it over and turned off USB mass storage, you can begin the backup and update process. Now, I know Rom Manager comes with the ability to backup and update from within the rom, but I recommend the manual way outlined here, because there’s no risk of you trying to update files that are currently in use. There also may be some features that are available for only the paid version (which you may not have) of Rom Manager.

Open up Rom Manager, which you should have already installed if you’re using a Cyanogen rom. Otherwise, you can easily install it off the Android Market.

Select Reboot into Recovery

Tap OK

When your phone reboots, use your little trackball or whatever means you have to move the highlight up and down until you’ve reached backup and restore and then press the trackball or selection button to proceed.

Select Backup

Wait for it to backup. This could take several minutes. Be patient.

Now that you’ve backed up, go ahead and select install zip from sdcard

Select choose zip from sdcard

Find the file. If it’s a Cyanogen rom, it’s usually called update-cm-[version number-phone model]

Confirm with Yes

Wait for the update to install

When it’s done installing, press the Back button to get back to the main menu. Then select reboot system now

Then you’re good! You have an update to the rom, and you also have a backup in case, for some reason, the update is screwy.


Rooting someone else’s Droid

I rooted my first Android phone (the MyTouch 3G) within a month of owning it, and I rooted my second Android phone (the MyTouch 4G) within a day of owning it. Rooting is sometimes an easy process and sometimes a bit complicated, but in my experience it’s always been worth the effort. My sister-in-law came to visit and complained that her almost year-and-a-half-old Droid (the original, not X or Incredible) is glitchy, has poor battery life, and is just not that responsive. She wants to get an iPhone but is not yet eligible to switch over subsidized. So I offered to root her phone for her.

Now, I’m always hesitant to try to fix people’s computer problems, and the same goes for Android phones (which are basically really small computers). On the one hand, I know their experience can be better. On the other hand, I know that a successful migration of any kind or major overhaul involves time and some testing. Most of the time, people want a quick fix. And if you tell them it’ll take a long time, they’ll feel guilty about using up your time and just say “Oh, it’s okay. Don’t bother.” Really, though, they’re still not happy with whatever situation they’re in. So I always try my best to find the balance between quick fix and thorough fix.

So I got her to promise me not to install Advanced Task Killer (which was probably responsible for at least some of the glitchiness), I backed up her bookmarks and apps, and then I began to root her phone. I tried to follow the Droid full update guide at the Cyanogen mod wiki, and I ran into a couple of bumps along the way. First of all, the sbf_flash file for Linux gave a segmentation fault, but the guide actually offers a separate download if that happens, so I used that. I also tried to flash the ClockworkMod Recovery, but when I tried to reboot into recovery mode, I got stuck on the Motorola logo, so I had to take out the battery, flash back to SPRecovery, install the Cyanogen rom, and then flash ClockworkMod again.

Immediately, she was impressed with the upgrade. I told her it was Gingerbread, and she had no idea what that meant. I told her it’s basically the next version of Android. She didn’t really seem to care. She just liked the cleaner interface. She liked the battery life displayed when she’s about to unlock the phone. She found it a bit more responsive. The only problem is I forgot to back up her Angry Birds data, so she’d have to play all the levels all over again. So I did a bit of Google searching and experimenting and found out I could get the data out of /data/data/com.rovio.angrybirds/files/highscores.lua, /data/data/com.rovio.angrybirdsrio/files/highscores.lua, and /data/data/com.rovio.angrybirdsseasons/files/highscores.lua. To do it properly, you have to beat at least one level in each version of Angry Birds. Then, instead of copying the file and changing permissions, you should cat one file into the next:

cat highscores.lua > /data/data/com.rovio.angrybirds/files/highscores.lua

Overall, I’m surprised that she liked it. Usually I think of rooting as for power users who like to tinker with their smartphones. It’s good to know end users can enjoy the benefits of a rooted phone as well. Extra bonus is that when you boot up the phone there isn’t that annoying “Droid!!!” robotic voice announcing the name of the phone. And I know she can stay on Cyanogen RC 4 until Christmas when I see her next, and still be ahead of the OTA updates to the Droid. Or she may just get the iPhone 5 by then.