View Single Post
Old May 6th, 2011, 08:56 AM   #1 (permalink)
ROM Developer
Thread Author (OP)
Join Date: Apr 2010
Posts: 477
Carrier: Not Provided

Thanks: 9
Thanked 793 Times in 168 Posts
Default All In One Recovery Thread

PLEASE NO LINKING OF THESE DOWNLOAD LINKS OR REHOSTING!!! Please direct users to this thread!!!!

This thread is an all in one recovery thread.

1. You must have a rooted device
2. Adb setup on computer (terminal on phone can be used in place of adb but adb is preferred)

Supported devices:
LG Ally (aloha)
LG Optimus S
LG Optimus V
LG Optimus M
LG Vortex
LG Chic (alessi)
LG Optimus P500, Optimus T P509 (thunderg)
HTC Droid Incredible See link here Xda
LG Shine Plus
Gz'One Commando
Optimus C
HTC Incredible2 (vivow)
HTC Rezound (vigor)
HTC Merge (lexikon)
HTC Thunderbolt (mecha)
HTC EVO 4G (supersonic)

Updates for 3.06:
Recovery and some binaries are recompiled for arm6-vfp or armv7a-neon which on most devices gives a notable increase in speed.
Added gui ability to restore clockwork mod 3x, 4x, & 5x backups.
Added the developer menu: see below for many new features.
Lg devices I figured out the kernel api to reset the FACT_RESET_3 from doing a privacy wipe. This mode will automatically be checked & reset to FACT_RESET_6 so you will not get stuck in recovery.
Added ability to wipe /system & /sdcard
Key mapping on aloha & shine plus now use Vol-up & Vol-dn power and back so keyboard is no longer used.
Removed battery % check from nandroid.

Want to submit a new device see thread here : How to submit a new device for recovery creation

Recovery Features:

ADB as root user

USB-MS Toggle :mounts sdcard as mass storage

Nand Backup : Select Items to backup with the [X]
Nand Restore : browse to and select nandroid backup to restore
Nand Restore Clockwork : browse to and restore cwn backup
As of 2.2.1 sd-ext is backed up as whole so link2sd users should work fine

Flash Zip From Sdcard: must be in root of sdcard or you can directory browse. (Fixed dir-browsing)
Toggle Signature Verify : Turn of signature checking on flashing zips

Wipe Menu:
Wipe data/factory reset: wipes all
Wipe cache
Wipe Dalvik cache : Wipes Dalvik cache in all possible locations if moved by apps2sd
Wipe SD:ext : Wipes Apps2sd ext partition
Wipe Battery Stats
Wipe rotate settings
Wipe data only
Wipe system
Wipe sdcard
Wipe .android secure : Wipes froyo native .android_secure on sdcard

Partition Sdcard:
Partition SD: Partition's sdcard for apps2sd (this formats card so all non backed-up data is lost)
Repair Sd:ext
SD:ext2 to ext3 : coverts apps2sd ext2 partition to ext3
SD:ext3 to ext4 : same as above but ext3 to ext4 (requires kernel support for ext4 which all but shine have)

Gui mounts to avoid typing in terminal to mount and cd into a dir to mount system, data, cache, sd-ext (if exists), sdcard

Fix Permissions
Move recovery log to SD
Key Test : Output keycodes for debugging recovery
Check Battery Lvl

Developer menu:
Make and flash boot from zimage : This makes a mkboot folder on sdcard and mounts sdcard as mass storage then you copy a zImage and kernel modules into this folder and it will create a new boot like anykernel and flash it.

Install su & superuser: Installs or fixes su & superuser install (removes old if exists)
Install eng (unguarded) su: Installs engineering su that doesn't use superuser (removes old su & superuser if exists)
Reboot to bootloader: reboots to bootloader/hboot
Reboot recovery : reboots phone back into recovery

I have included flash_eraseall binary to recovery which can be used to fix/erase corrupted partitions that will not mount correctly to nandroid restore to.
Useage from adb shell is : flash_eraseall /dev/mtd/mtd4 (where mtd4 is the number of the partition from "adb shell cat /proc/mtd" you want to erase)

Trouble Shooting:
1. Use option under Other menu to move recovery log to sd. Mount your sdcard to pc and read that file called recovery.log. It should have detailed cause of error.
2. If you get an out of memory error reboot device and do it on a fresh reboot.
3. If you get a file not found on the "mv /system/etc/ /system/etc/" skip it and move to the next step as this file will not be in your rom unless it has recieved an ota-update and if so needs to be disabled.
4. Permission denied means you are not root user (#)
5. If rebooting into recovery you get a little android guy with a ! and does not look like picture above you still have stock recovery and did not remove the
6. You did check the md5sum for a match before flashing correct?

Please check all the above issues before posting. This is the format I request to be used for troubleshooting.

Device :
Recovery Version :
Error :
Please upload the recovery.log AS AN ATTACHMENT that you moved to sdcard and read. Posts without this log will be ignored!!!
Please no PM's!!!!!

Device system paths:
Ally: /dev/block/mtdblock4
Optimus M: /dev/block/mtdblock5
Vortex: /dev/block/mtdblock4
Optimus V: /dev/block/mtdblock5
Optimus S: /dev/block/mtdblock5
Optimus P500/Optimus T: /dev/block/mtdblock1
Chic: /dev/block/mtdblock1
Shine Plus: /dev/block/mtdblock1
Optimus C: /dev/block/mtdblock5
Commando: /dev/block/mtdblock2

Directions to flash recovery:

UPDATED Easy install via script:


1. Download and unzip onto sdcard. You should have a folder called recoveryflash on sdcard after unzipping.

2. Place the recovery.img you downloaded in this folder in /sdcard/recoveryflash and then turn off sdcard as mass storage . (Do not rename the recovery.img from the download)

3. Reboot phone and wait for sdcard to mount (about 5 - 10 seconds) after you see home screen.

4. Become root user in abd shell or terminal emulator with command without quotes "su" & you should have a # prompt

5. Enter these commands in terminal emulator or adb shell # prompt one at a time and press enter after each line. If anyone has trouble with the 1st line you can also use a root enabled explorer like root explorer or estrongs and copy/paste the into /data/local and then start with the 2nd line.
cat /sdcard/recoveryflash/ > /data/local/
chmod 0755 /data/local/
6. It will automatically install & reboot you into new recovery. Using the script above your old recovery.img was copied to /sdcard/dump-recovery.img. If you had the stock recovery copy that file to a safe place as running the script again will overwrite it.

Old manual way:
Download your device specific recovery and check md5sum for a match before flashing. Download and unzip it to root of your sdcard. (Not in any folder)
Copy your devices recovery.img to root of sdcard.

Below can be done via adb shell or terminal emulator on phone via root # shell not a $ shell
Note do not type the # or $ as they are for reference only!
$ su
# mount -o remount,rw -t yaffs2 (your device /system path) /system
# cat /sdcard/flash_image > /system/bin/flash_image
# chmod 755 /system/bin/flash_image
# mv /system/etc/ /system/etc/
# flash_image recovery /sdcard/(your device recovery.img name)
# sync
Example for LG Ally above would be:
mount -o remount,rw -t yaffs2 /dev/block/mtdblock4 /system

Device specific recovery keys:

Key mapping for Optimus Line & Vortex:
Move up & down = Vol-up & Vol-down
Select = Menu
Backup = Back
Boot recovery from device off: Vol-down + Home + Power and release at LG logo.
Chic(alessi): Vol-up + Vol-down + Power

LG Ally & LG Shine Plus:
Move up & down = Up & down on sliding keyboard | vol-up & vol-dn on 3.06
Select = Enter on keyboard | Power on 3.06
Backup = Vol-down | back on 3.06
Boot recovery Ally: Send + Menu + Power
Boot recovery Shine Plus: Vol-down + Home + Power

There is no known way to boot recovery from device powered off. To enter recovery its adb reboot recovery or use many of the apps from market to reboot into recovery. This means that if you flash a bad rom or boot.img you cannot enter recovery to fix and will have to get a new phone. Be carefull!!! You have been warned.

Adb reboot recovery can also be used to boot custom recovery on most devices.

Do not flash a radio.img

Source for recovery & recovery kernels My Github

Special Thanks:
Thanks to :

Amon_Ra for his awesome source and a few pointers. His original Source Link Buy him a redbull
Worstenbrood's desire recovery Link
My many testers (too many to name one by one)

MD5's for 2.2.1:
fcccddea6110fa6bcf676bdc409e0261 recovery-RA-alessi-2.2.1-GNM.img
05f57d682efe7845f7584087aa533ebb recovery-RA-aloha-
f370e39969c8ce4bdd0dd18b897cddeb recovery-RA-optm-2.2.1-GNM.img
4a8e8d4a64cc027020f6dc2e1371a6ee recovery-RA-optS-2.2.1-GNM.img
354419bf92ea0bfcc2609e88243a8889 recovery-RA-optV-2.2.1-GNM.img
368e7e2fa2e5962040e3ee00f02f39c2 recovery-RA-thunderg-2.2.1-GNM.img
97e551cdcf6574f86da237fd4259c755 recovery-RA-vortex-2.2.1-GNM.img
14a7a269ddc1173cc1a8bf00ea4cf443 recovery-RA-shineplus-2.2.1-GNM.img

MD5's for 3.06:
eb0668a7c7f2b82e6ac02362a620668b recovery-ra-alessi-3.06-gnm.img
4207aa235c3c6132e1544d85d1b15fb8 recovery-ra-aloha-3.06-gnm.img
7848d5b729497ac8ebf3c5cfef87483d recovery-ra-commando-3.06-gnm.img
c280fc5cfacf1018211f9ed4ffd42d87 recovery-ra-dinc-3.06-gnm.img
9f7bf7f3668221a25861f4783cdb733b recovery-ra-lexikon-3.06-gnm.img
ccd64cadf2b98e8f446e79d5a5c3d1a8 recovery-ra-mecha-3.06-gnm.img
ed89883f8be5a780701f23c54b281df5 recovery-ra-optc-3.06.img
4039dab9b98fea1ea6f4fbcbd75fbd77 recovery-ra-optm-3.06-gnm.img
00eb45621474648d6b0cdda0b31b06b8 recovery-ra-opts-3.06-gnm.img
3882b2b74d855b03bca6016300d84b79 recovery-ra-optv-3.06-gnm.img
d4ca1d65a05be881f8fd6d54695d8408 recovery-ra-shineplus-3.06-gnm.img
2976958267bb43c5c15a18739f90ace4 recovery-ra-supersonic-3.06-gnm.img
aa9402d7c91fa5b3045d50aaaeedfa86 recovery-ra-thunderg-3.06-gnm.img
8f5551165bdc7c3fec3845312dc96269 recovery-ra-vigor-3.06-gnm.img
c2e2f9af9607e9334b5e268c7b23e050 recovery-ra-vivow-3.06-gnm.img
e47260ee2b5294585002ae8519131012 recovery-ra-vortex-3.06-gnm.img

Download Link -old for 2.2.1
Download Link 3.06
Donation link to Buy me an Energy Drink is below:

Contact me on twitter @getitnowmarket
PayPal USD Donations
getitnowmarketing is offline  
Last edited by getitnowmarketing; November 23rd, 2011 at 08:39 AM.
Reply With Quote
The Following 71 Users Say Thank You to getitnowmarketing For This Useful Post:
alexab (October 11th, 2012), Alexcess (November 22nd, 2011), alfick3 (June 28th, 2011), Aplus (May 6th, 2011), armynavy17 (October 24th, 2013), BabblingCamel (December 10th, 2011), bbfugitive (June 7th, 2011), Bryonium (March 16th, 2012), ccastle (November 22nd, 2011), COUGAROID (July 25th, 2011), dautley (May 27th, 2011), daveman (May 18th, 2011), douglasr007 (October 31st, 2011), droidgeek99 (July 27th, 2013), el bandido (June 18th, 2013), elderlypunk (December 23rd, 2011), Emgo (January 3rd, 2012), escosk8r (July 24th, 2011), Explore3 (May 18th, 2011), Fam Money (September 2nd, 2011), FetalVivisecti (January 12th, 2012), Galladonsfire (March 3rd, 2013), Homebound (September 21st, 2011), HPS451 (July 21st, 2012), jabbawest (June 6th, 2011), Jared631 (November 29th, 2012), jds3000 (November 23rd, 2011), jerry42570 (July 8th, 2011), jiilik (December 4th, 2011), joezack (June 7th, 2011), justjoe88 (August 23rd, 2011), kaerper (May 8th, 2011), lg.droid7 (March 5th, 2012), linsalata28 (February 1st, 2014), lokisource (December 12th, 2012), lonestaz (January 5th, 2013), lonewulf (May 20th, 2011), magikalwicca (June 6th, 2011), Masema (May 26th, 2011), metalman1972 (February 9th, 2013), mikekelso421 (June 5th, 2011), mindlord70 (September 4th, 2011), Mud-and-Guts (October 19th, 2011), new optimus (June 20th, 2011), odatkid (June 23rd, 2011), ot3pch4n (July 5th, 2011), partylobster (November 22nd, 2011), PerpetualLoop (April 16th, 2012), pradyumnacster (July 14th, 2011), Rafael (November 10th, 2011), Rus (October 1st, 2011), secretpla (June 24th, 2012), shinspeter (January 13th, 2012), sixpack (September 15th, 2011), skeeterhawk1960 (April 27th, 2014), skyjacker (January 28th, 2012), speedster63 (April 1st, 2014), swc2001 (December 26th, 2011), s_pec_s (September 11th, 2012), Tannus (July 29th, 2011), teh_dude (July 31st, 2011), thunderkiss65 (June 5th, 2011), tommystery (December 25th, 2011), tovida (September 19th, 2011), tripdoc79 (September 9th, 2011), Willster419 (December 22nd, 2012), wrath_00 (May 24th, 2011), xmancool (November 9th, 2011), xRoadkillx913x (June 24th, 2011), Zoandroid (October 7th, 2011), Zokula (March 30th, 2012)