Thursday, March 24, 2011

Getting Motorola Milestone 2.2.1 Froyo to 2.3.3 Gingerbread [update]

Today I had enough of Motorolas buggy Android 2.2.1 (Froyo) update and started the adventure to root my phone and install Cyanogenmod 7 alias Android 2.3.3 (Gingerbread). It was quite easy and I had a super fast and stable system afterwards, but I also had some difficulties getting started. This I will explain here.

I used the following sources, but I will write a summary of the steps needed below.

The Tutorials:
1. How to root your Milestone
2. How to install Gingerbread on the Milestone
The Helpers:
3. RSD Light trouble on Vista/Win7
4. RSD Light “Faild flashing” errors
CyanogenMod7 for Milestone: (Thanks guys for your work, its awesome!)
5. CyanogenMod4Milestone (CM7)
6. Google Apps for CM7
7. Androidiani-OpenRecovery

Update: 8. Qwertz Keyboard

So, lets get started. But before we can do anything we have to download a bunch of files. To be able to install the mod we need RSD Light and the vulnerable recovery SBF from (#1). I assume, you have the current USB driver version for your OS, otherwise you can get at least a working version from the former page.
Next we need the files for the mod itself. So we download the latest versions of CyanogenMod4Milestone 7 (#5), Google Apps for CM7 (Market and so on, if you like, from #6) and the preferred OpenRecoveryMod (#7).

Now, we have all files and we can get startet. We will now do two major steps: First installing a vulnerable recovery SBF. This is needed, so that our moded Android can pass the ‘official update’ check. Second we install Cyanogenmod7.

Step 1

Step 1 is the one I had issues with. But not with flashing my device, but getting the flash tool working in the first place. Warning: going further may void your warrenty! You may be able to get back to stock Motorola Android, but dont ask me about it ;)
Well, and I guess you have backuped all your data, right? Because that gets deleted (well in the second step)…

1. Install RSD Lite
2. Extract the vulnerable recovery SBF to C: (you want to know why? See here #4)
3. Open the commandline at the installation folder of RSD Lite. On Win7, open Explorer and navigate to the installation folder. Hold left shift and right click on the folder icon. Select ‘Open command line here’ (or similar, I dont know how it looks like with an english Win7)
4. Execute SDL.exe -f C:xxxx.sbf -t 2, where xxxx.sbf is the name of the extracted SBF (Why? See here #3)
5. Now connect your Milstone via USB cable and wait until RSD Lite recognizes your phone. If it is not working try to restart RSD Lite or reconnect your phone.
6. Press Start to flash the new SBF file. Nothing else gots changed, its only the recovery image that gets flashed.
7. Wait until flashing is finished. This may take one or two restarts of your Milestone.

Thats it for step 1. If RSD Lite is not putting your phone into recovery mode, try Step 10 in the rooting howto (#1). Rooting the phone is not necessary, as we install an already rooted system in step 2.

Step 2

This step is mostly the tutorial from (#2), but with small adjustments for the recommended androidiani-openrecovery version. Some remarks from the CM7 for Milestone developers:

- the included RIL files are for the European frequencies, if you are in Canada, US, Lat Am or Thailand, you will need to replace them to get 3g working

- if you are in France, you should replace ro.product.brand=MOTO_RTEU with ro.product.brand=MOTO_RTFR in /system/build.prop (the ap_gain_france.bin will be used then)

1. Extract Androidiani Open Recovery 3.3 zip file.
2. Copy “Open Recovery” folder and “update.zip” to the root folder of your SD card.
3. Copy the already downloaded custom ROM & latest Google Apps in SDcard/OpenRecovery/updates

4. Power off your phone.
5. Power it back on While pressing the ‘X’ button on the Keyboard. Hold ‘X’ until you see a Triangle with an Exclamation mark on it, and then let go of ‘X’.
6. Press & Hold the Volume up button and press the camera button. You’ll be taken to Android System Recovery <2e>.
7. Using D-Pad as cursor & golden button in the middle as ‘Enter’ , Perform a ‘Wipe Data/Factory Reset’ & ‘Wipe Cache Partition’.
8. Once done, apply SD card: update.zip.
9. You will be taken to Motorola Milestone Androidiani Open Recovery Version.
10. In the menu, go to Nandroid > Backup All. This will place a backup of your current ROM in a folder called Nandroid on your SD card. Move it to a safe location later.
11. Perform a ‘wipe data/factory reset’ followed by ‘wipe cache partition’ and ‘wipe Dalvik cache’.
12. Go to Apply Update, scroll to Cyanogenmod update, e.g., ‘update-cm-7.0.0-RC3-0.07-11.03.12-Milestone-signed.zip’ & apply.
13. Scroll to Google Apps , e.g., ‘gapps-gb-20110307-signed’ and Apply.
14. Go back to Main Menu and reboot system.
15. The first boot will take sometime so please be patient.

Update: After everything is finished, you might have noticed that the hardware keyboard is now qwerty layout. If you have a qwertz keyboard, you can do the following to change the layout (see #8). This will only work if you booted into the system at least once. No data is deleted.

1. delete in folder SDcardOpenRecoverykeycharsQWERTZ the file named ’sholesp2a-keypad.kl’
2. boot to recovery (see above from step 4.)
3. in Settings Menu > Set Keyboard Layout > change the keyboard layout to QWERTZ
4. Milstone rebooten, done.

Congratulations! Now you have a brand new Android 2.3.3 Motorola Milestone.
Thanks for reading this tutorial.