I’ve got an HTC Magic by Vodafone in the UK. It’s a very nice phone. Unfortunately, it is also abandonware. It is now virtually out of contract. And before I rooted it and put CM6 on it, it was stuck at Android 1.6 which was released on the 15 September 2009. That is over a year ago. Android 2.2 was released on the 20 May 2010 over 4 months ago (source). This is the story of how I got CM6 on to my HTC Magic.
I’d like a new phone. Unfortunately, virtually every phone released these days running Android 2.2 (Froyo) also runs some kind of customised interface. Motorola has Motoblur, HTC has Sense, and who knows what Samsung has, but it isn’t stock Android. Is it so much to ask to have the stock Android experience? Apparently, it is.
I’ve seen rumours that Google is pushing handset makers to use stock Android 3.0 rather than put their own interface on it. Here’s hoping. So, since my phone is almost out of contract, I thought I’d root it (which voids the warranty), and put CyanogenMod 6 (CM6) on it, which is basically Android 2.2 (Froyo) with a few enhancements. CyanogenMod has done some incredible work and it is well worth checking out whether your Android phone is supported.
Now I was quite nervous about messing with my phone. It has some paid apps on it and I’ve spent 18 months with it, customising it to my requirements. However, I’d heard such great things about CM6 that I was really looking forward to it. And, I must say, it is so much better that 1.6. Seriously, if you have an HTC Magic, then just read through this post, read the linked sites, and go for it!
Now the following is specific to UK HTC Magic devices, but the links indicate what to do for other phones. The steps are:
- Check your phone really is a HTC Magic Sapphire PVT32B
- Root your phone
- Backup your applications/data (although I could’ve missed out this step)
- Backup your entire 1.6 stock ROM
- Backup your whole SD Card
- Install CM6
- Install Google Apps (so you can get Market, GMail, etc.)
- Re-configure the device for UK Vodafone
- Re-install your Apps from Market (and restore your data if you need to).
Now, I don’t really keep any data on my phone that isn’t in the Cloud somewhere. It is either on Google, Dropbox, or I copy it off the SD Card and stick it on my laptop. However, you may need to do Step 9. “restore data” if you have kept a lot of data on the phone. I didn’t have to because I use Google for my mail, contacts, calendar, etc. which simplifies the process. This was a conscious decision about 6 months ago to simplify my life. But I do have automated backups of all my data on Google.
- You know how to mount/read your SD Card in your phone in your OS
- You don’t panic if things don’t go exactly according to plan. You might need to search forums if your experience doesn’t exactly match mine. I certainly had to because mine didn’t exactly match some of the other tutorials.
- This is not a tutorial; it is a summary of what I did to get my phone running CM6.
- It’ll be useful if you do this where you have WiFi because when you wipe the phone it will (temporarily) not have the settings to access data over 3G on the Vodafone network. It’ll also be quicker!
- I may have forgotten a few items whilst writing this. I had the following unusual options enabled on the phone:
- Settings->Applications: “Unknown Sources”: ticked
- Settings->Applications->Development: “USB Debugging”: ticked
Step 1: Check your phone is the same as mine!
My phone is a UK spec Vodafone HTC Magic 32B with 192MB RAM. I verified this! In the USA this phone is also called a MyTouch 3G/ION.
To check your phone is the same as mine you need to reboot your phone into fastboot. Shut your phone down and then hold down the ‘Back’ button whilst switching the phone on. You’ll then get a display which has this on it:
SAPPHIRE PVT 32B SHIP S-ON G
Apr 9 2009, 23:30:40
The key part is the ’32B’ above which I’ve highlighted. If you don’t have the same as mine then you’ll need to follow a ’32A’ or other set of instructions. (Thanks to Ralph Slooten for the idea on showing the fastboot).
Step 2: Root your phone
This is really simple. Search market for Universal Androot. Install it and launch it. Press “Root ”. After a short while your phone will be ‘rooted’, which means that applications can (with permission) access anything on the phone’s filesystem. This is important as you can’t install the other tools without.
Note that you will void your warranty on the phone by doing this. Mine’s so close to being out of contract (5 days), and I’ve had it 18 months, that this didn’t worry me. It might worry you though!
Step 3: Backup your applications/data
Now you’ve rooted your phone you can back everything up on it. Search for ‘Titanium backup‘ on the Market. Install it, and run it. It will ask for root privileges which you should allow and tick the box to always allow Titanium to have root privileges.
Then you need to click on the ‘Problems?‘ button and do the upgrade for BusyBox. If you don’t then Titanium Backup won’t work.
After that, use the ‘menu‘ button, select ‘Batch‘ and click the ‘Run‘ button next to “Backup all user apps + system data“. This will make a full backup of all your user applications (but not the current stock 1.6 ROM) and all the data on the phone to the SD Card.
Now mount your phone to your computer: plug in a USB cable, connect it to your handy laptop, wait a few seconds for your phone to recognise the link, pull down on the status bar and select the little USB symbol and connect it to your computer. Then copy the TitaniumBackup folder off the SD Card onto your computer.
Step 4: Backup your entire 1.6 stock ROM
Next we make a complete backup of your current Stock 1.6 ROM, data, apps … basically everything. Get this right and you’ll be able to return your phone to its current state.
So why do Step 3 at all? Mostly because:
- I’m paranoid
- It’s a useful thing to do for the future too.
I used this guide to perform the backup. Please go and read it for background information and to familiarise yourself with the screens. The essential steps are:
- Install ROM Manager – search for it in Market.
- IMPORTANT: Work with a fully charged phone.
- Unplug the USB cable.
- Install the Recovery Image using the top option in ROM Manager. The PVT 32B (i.e. the Vodafone UK HTC Magic) is known as a MyTouch 3G/ION to ROM Manager. Do not select the “HTC Magic” option or you will flash the wrong recovery image.
- Then select “Backup Current ROM”.
- After the phone has rebooted and backed up the ROM, it will boot back into your normal stock Android 1.6.
Okay, now your current ROM is backed up to the SD Card.
Step 5: Backup your whole SD Card
I said I was paranoid didn’t I? There is a small chance that the SD Card will get corrupted when flashing a ROM so it’s prudent to back-up the SD Card:
- Mount it on your laptop/computer.
- Copy everything on the card. I put it into a ZIP file.
This copies the current ROM you backed up in Step 4 onto your laptop/computer as well.
Step 6: Install CyanogenMod 6
Okay, finally you are reaching the exciting part, but I just want to make something clear:
This step involves wiping everything from your phone, just like a factory reset. The SD Card should be okay, but all your applications and data are going to be wiped from the phone. You will be able to restore your paid for apps from Market, but there won’t be a record of what you have installed.
I would (and did) at this point make a note of what apps I had installed so I could re-install them afterwards.
Note: The stock Vodafone 1.6 Android seems to re-flash the recovery image to a stock image after each re-boot. This one caught me out. So you need to re-flash the recovery image after each reboot into the stock OS. The CyanogenMod ROMs (and other’s apparently) don’t do this.
Therefore, as we have already rebooted into 1.6 Android (to do the ROM back-up) we need to convince ROM Manager to re-flash the Clockworkmod recovery image. Unfortunately, at the time of writing the ROM Manager incorrectly reports that it is flashed: it isn’t and you can prove it by trying to reboot – you’ll end up with a large ‘!’ warning triangle on recovery boot (hold ‘home’ button when powering on).
To convince ROM Manager to reflash the clockworkmod recovery image, just scroll to the bottom of the ROM Manager app and install the aron_RA image. After that is installed, re-install the clockworkmod recovery image, but using the option at the top again. Now you are ready to flash the CM6. (Thanks to this thread at clockworkmod forum.)
Now we pick up on the instructions at Upgrading from CyanogenMod 4.2 to CyanogenMod 5/6. We’re not really upgrading, but it works well.
If you bought the ROM Manager application you can probably browse for the ROM. I didn’t because I wasn’t sure if it was going to work. I am going to buy it now because it does such a great job and I want to support its development.
So this is how it is done manually:
- On your laptop, download the latest (in my case CM6) ROM. This is the CM6 ROM in the section “CyanogenMod for the HTC Dream & Magic” on this page. The MD5SUM for the ROM I downloaded is: 35b6603227aea922c28284ef8d269015 and the filename is: update-cm-6.0.0-DS-signed.zip
- Also download the tiny MDPI version of the Google Apps for CyanogenMod 6. Again the MD5SUM is d21e9a3597b7f03f9e623c8e5b9a9caf and the filename: gapps-mdpi-tiny-20100917-signed.zip
- Next copy these two zip files over to your phone’s SD Card. Anywhere is fine, but I placed them in the top-level directory in the SD Card.
- Ensure the phone is fully charged.
- Disconnect it from the laptop – i.e. unplug the USB.
- Run ROM Manager and select “Install ROM from SD Card” (see images on this helpful page!). Select the update-cm-6.0.0-DS-signed.zip file.
- Ensure you tick the “Wipe Data and Cache”. There is no need to select/tick the “Backup Existing ROM” as you have already completed that step above. Incidentally, the reason I split it was so that I could copy the backed up ROM off the device before flashing the new ROM.
- Click “ok” and it should flash the ROM.
The phone will reboot into the recovery image, flash the new ROM, and then reboot again. It should now be running CM6.
Okay, now you have CM6, we still need to put the Google Apps on the device and get it back onto Vodafone.
Step 7: Install Google Apps
This is so you get Gmail, Market and the other Google Apps.
- Run ROM Manager and select “Install ROM from SD Card”. This time select the gapps-mdpi-tiny-20100917-signed.zip file.
- Ensure that neither of the two tick boxes are selected (“Wipe Data and Cache” nor “Backup Existing ROM”)
- Click OK.
- The phone will reboot and install Google Apps.
When the phone reboots this time it will go through the Google Apps set-up.
I have two Google Accounts that I wanted to use with the Phone. One is a Google Apps account (i.e. a paid for hosted account on Google for my domains), and the other is a typical googlemail/gmail account. As Market can only be used with your ‘regular’ Google account, I did the set-up with my regular account. This means that Market will recognise your paid apps.
The Froyo 2.2 Gmail, Calendar and Contacts programs are multi-account aware and can be configured with both the regular account and the Google Apps account. This essentially solved my problem with 1.6 (single accounts only).
So my recommendation is to set the phone up with your regular Google account and add the Google Apps account in the Accounts section. Note that Reader isn’t multi-account aware and will only work with the primary account on the device.
Step 8: Re-configure the device for UK Vodafone
Navigate to Settings->Wireless & networks->Mobile Networks->Network operators and select “vodafone UK”.
Then go back to Settings->Wireless & networks->Mobile Networks->Access Point Names and select “Vodafone UK Contract I…” (Internet). i.e. ensure that it has the green dot next to it.
Your phone should now be able to go back onto 3G.
Step 9: Re-install your Apps
If you now go to Market, it should synchronise and show you your paid apps that you have previously bought on your primary Google Account.
As you have wiped all of the data on the phone (not the SD Card), you’ll either need to re-sync the data (all the Google Stuff), or restore it using Titanium. I’m just progressing through this now.
Other things I had to do
Some final, hopefully useful, things I had to do:
- I used ROM Managers ‘Fix Permissions’. It didn’t do any harm and I thought it would fix the next problem.
- My Google search widget on the home screen failed. After Googling it, I discovered that it is a fairly common problem after reflashing a device. Just delete it and put it on again and it should work.
And Finally …
Well that’s it. The recovery image being replaced on Stock 1.6 held me up for a bit and I had to do a load of reading to get it right. So far everything seems good on CM6; it’s seems faster, it is smoother and it has multi-account support.
I also must thank that amazing work of the CyanogenMod team, ROM Manager and all of the people testing these ROMs. Without them we would be stuck on carrier or manufacturer ROMs with no hope of upgrade.
The following is a list of links that may prove useful to you:
- Full Update Guide – HTC Magic (32B)
- Universal Androot
- [Complete Guide] How To Flash A Custom ROM To Your Android Phone With ROM Manager + Full Backup & Restore
- [Complete Guide] How To Fully Back Up And Restore Your Android Phone Using Nandroid Backup
- ROM Manager
- Can’t Reboot into Recovery on MT3G w/ ClockworkMod 184.108.40.206
- Fastboot (a description)
- Rooting your HTC Magic Android Phone with CyanogenMod
- Titanium Backup
- HTC Magic page at Wikipedia
- CyanogenMod Wiki
- Android at Wikipedia