There are a lot of guides, how-tos, blog and forum posts about rooting and flashing Android phones. I decided to add this post to that pile, because it still took me some time to find the really relevant info, especially since I had already updated to Android 2.2 and I am using a Linux machine. Hope this helps some people and doesn’t just make it more confusing or harder to find the relevant info.
First of all, I want to warn everyone who is thinking about using the update to Android 2.2.1 Motorola provides. It is a piece of crap, I don’t know how else to describe it. My phone got unresponsive, rebooted at random and in the end even got bricked, not booting up and hanging on the Android logo. I had to do a factory reset, losing all my data and installed programs. Good thing is that this made it easier for me to go ahead and update to the FroyoMod, something I had been thinking about doing anyway.
First you need a SBF Flashfile for your region to downgrade to a vulnerable version, which is before 2.2, you can find yours on http://and-developers.com/sbf:milestone
You need the utility (on Linux, on Windows use RSD Lite) to flash your phone to the SBF Flash version you just downloaded. You can get sbf_flash on http://blog.opticaldelusion.org/2010/05/sbfflash.html In terminal, go to where you put sbf_flash and the flash file and do
chmod +x sbf_flash followed by
./sbf_flash SHOLS_U2_01.03.1_UCASHLSEMEAB1B803F.0R_USASHLS00RTGB_P008_A007_HWp2a_1FF.sbf where you SHOLS_U2_01.03.1….sbf is the name of your choice of flashfile. Now attach your phone and go into the bootloader by pressing and holding the up button on the hardware keyboard while switching on your Milestone. You should see sbf_flash do it’s thing in the terminal. When it’s finished your phone will reboot and should be running the Android version of your choice.
Download Androidiani OpenRecovery from https://code.google.com/p/androidiani-openrecovery/downloads/list and extract the contents of the zip to the root of your SD card. Boot your phone into system recovery mode by pressing the “x” key on the hard keyboard while turning the phone on, keep pressing x until you see the recovery logo. Then press both the volume up and camera buttons simultaneously and select “apply sdcard:update.zip”.
You should now get the OpenRecovery screen and a lot more options. You can for instance root your phone or remove MotoNav or other applications that are installed by default. Go into “USB Mass Storage Mode” and put the custom rom of your choice into /sdcard/OpenRecovery/updates this should be the update.zip file of your choice, the actual .zip file, so don’t unzip/extract it. For me the FroyoMod seems the most stable and usefull custom mod for Milestone, you can download TheFroyoMOD-v2.7.0-update.zip from http://www.multiupload.com/RPEC55E3UG or see the features of this mod at http://forum.xda-developers.com/showthread.php?t=815595. There is an overview of other roms for the Milestone at http://forum.xda-developers.com/showthread.php?t=966812.
Choose “Apply Update” in Open Recovery and you should be able to select the .zip file you put /sdcard/OpenRecovery/updates. After the update, while still in Open Recovery, go into “Froyo 2.2.1 Modding Menu” and select “Stock 2.2.1 bugfix” (at the bottom), otherwise you probably won’t be able to install any apps from the market. Also don’t forget to “Wipe Cashe Partition” (at the bottom of the main Open Recovery menu). There are other options and mods in Open Recovery you can try out, but not all of them seem to work, so I’d advise to try this after rebooting and making a Nandroid backup. When you “Reboot System” you should be booting into the FroyoMod or the mod of your choice, booting will take longer then usual. Have fun!