[Defy Android Development] cargohook:
T-Mobile Froyo 2.2.1 Firmware 3.4.2: Rooted - Deodexed - Overclocked/Undervolted

Here is my Nandroid Backup of the newly leaked T-Mobile USA Froyo firmware, which I have rooted, deodexed and optimized. I hope y'all will find it to be of some use.

Download link: NEW NANDROID & LINK IN PREPARATION, CHECK BACK LATER

Note that it is NOT de-blurred.

For reference, these are the steps I performed:

1. Flash p3_jordan_umts_jordan-user-2.2.1-3.4.2-107_JDN-4-000000-release-keys-signed-T-Mobile-US.sbf with RSD Lite v4.9.

2. Turn off the device then reboot into recovery by pressing and holding VOL-DOWN + POWER. Access the Android System Recovery utility screen by pressing VOL-DOWN + VOL-UP simultaneouly. WIPE everything. NB: Use the POWER button to select.

3. Set up MotoBlur.

4. Root device with SuperOneClick, according to instructions in this thread: http://xdaforums.com/showthread.php?t=913709. NB: Be sure to run SuperOneClick AS ADMINISTRATOR. Be PATIENT. After root success, REBOOT DEVICE.

6. Install Tenfar's Recovery.

7. Delete Family Room apps and other Bloatware:

Plug in device with USB Debugging ON and USB Connection set on NONE. Open a command prompt.

Open a command prompt and type (or copy and paste) the following commands:

Fire up ADB:

adb shell

Gain root access:

su

[After typing the "su" command for the first time, look at your device screen and grant permission for ADB superuser privileges.]

Mount the /system partition with write access:

mount -o rw,remount -t ext3 /dev/block/mmcblk1p21 /system

Switch to the /system/app dir:

cd /system/app

Remove the Family Room and Bloatware apps:

rm FamilyCalendarProvider.apk
rm FamilyCalendarProvider.odex
rm FamilyQuickContactWidget.apk
rm FamilyQuickContactWidget.odex
rm FamilyRoom.apk
rm FamilyRoom.odex
rm FamilyUpdates.apk
rm FamilyUpdates.odex
rm amazonmp3.apk
rm Blockbuster.apk
rm esmusica.apk
rm GOTV_Altitude.apk
rm hiphopofficial.apk
rm Quickoffice.apk
rm revolver.apk
rm revolver.odex
rm slackerradio.apk
rm truecountry.apk
rm WeatherWidget.apk
rm WeatherWidget.odex
rm Web2Go.apk
rm Web2Go.odex
rm YahooContacts.apk
rm YahooContacts.odex

Reboot device:

reboot

8. Manually DEODEX device according to the instructions in this thread: http://xdaforums.com/showthread.php?t=765270.

9. Overclocking time! (Props to Sorensiim for the instructions at http://xdaforums.com/showthread.php?t=893291)

Install Milestone Overclock from the market and fire it up. Load the module and Press the menu button, go to settings and enter "1000000" as Custom rate and "52" as custom vsel. After pressing OK, pull the slider all the way to the right, so the selected frequency shows up as "1000MHz, 52vsel (Custom)". Click Apply and tick the box for "Autoload on boot"

10. Scaling (Another shout out to Sorensiim!)

Install SetCPU from the market and start it up. Set scaling to "Ondemand" and tick the box for "Autoload on boot" and exit the program. Now it's time to make the vsel correspond to the cpu frequency and save some power, as explained so brilliantly by Higgsy. Buy the man a beer! My setscaling.sh is here, Higgsy's excellent startup script is here. Download both to the root of your SD card. Then connect your phone to your pc and fire up ADB/MotoDev Studio. Once connected to your phone, here's what you need to do:

adb shell
su
mount -o rw,remount -t ext3 /dev/block/mmcblk1p21 /system
cp /sdcard/setscaling.sh /system/xbin/setscaling.sh
cp /sdcard/install-recovery.sh /system/etc/install-recovery.sh
chmod 755 /system/etc/install-recovery.sh
chmod 755 /system/xbin/setscaling.sh
mount -o ro,remount -t ext3 /dev/block/mmcblk1p21 /system
reboot

11. Create a new backup of the newly rooted, deodexed, overclocked/undervolted ROM with Tenfar's Recovery. NB: USB Debugging must be OFF or Tenfar's Recovery won't work.