RZrecovery - custom recovery for many android devices

-=overclock settings=-
-=Arbitrary update.zip selection with folder support. (do not have to rename to update.zip)=-
-=rom.tgz support (of course)=-
-=Unsigned update.zip support=-
-=ability to wipe system, data, boot, dalvik-cache, battery stats, cache=-
-=No automatic backup when installing a rom.tgz=-
-=Ability to install APK's, IMG's, ZIP's, TAR's, TGZ's from the same menu=-
-=Wipe battery statistics=-
-=Battery charging!=-
-=Delete/Compress existing backups=-
-=Ability to root any ROM as plugin (with superuser.apk)=-
-=13 predefined colors + random color selection=-
-=RootzWiki theme=-
-=Rave mode: random color every time screen is redrawn=-
-=preinstall update.zip menu=-
-=battery status (charging status, temperature and charge level) display=-
-=android_secure nandroid / wipe support=-
-=option to auto reboot following backup/restore/install=-
-=Hold volume keys to scroll=-
-=Touch screen scrolling on some devices=-
-=Davlik bytecode verification disable/enable as plugin=-

-=Queue up to 50 ZIP's, APK's, TAR's, IMG's for install=-

-=Fully automated install menu=-

-=Ability to reboot device from shell=-

-=Stamp nandroid backup with version of android that is being backed up=-

-=SD-EXT nandroid support=-

-=Nandroid will ask if you would like to force operation with insufficient battery=-

-=Fix Permissions=-

-=Full screen experience=-

-=Plugins! (see other thread)=-





Added "fix_permissions" from clockwork to the ROM tweaks menu
Updated busybox to 1.19.3
Increased the number of rows on the screen to 43 (full screen at 480x800)
Moved progress bars to bottom of the screen
Added option to auto reboot following existing nandroid compression
Add ability to reset the progress bar from shell scripts
Added progress bar reset command to end of pipeline (nandroid function that draws progrerss bars) - should prevent it from ever drawing out bounds
Take away all nandroid progress bars if progress is not shown - I left some indeterminates in there by mistake
Clean up a lot of nandroid - should be slightly faster since it will only make certain calculations if necessary
Added recovery log files to the read & write files routines so that logs aren't lost when wiping cache
Added plugins system/"API"
- this will have its own thread
Moved nandroid perform restore to top of the list (select it without choosing a backup to restore the latest)
Added sd-ext suppot for nandroid
Implemented a zip/img/apk/tar install queue
Leaving the preinstall menu will return to file selection, not the home screen
Added option to reboot following install
Changed preinstall menu to allow for unattended operation, like nandroid
Repackaged ROM Tweaks menu items as individual plugins and made an update.zip to install them
Root ROM plugin now includes superuser.apk
Tagged backups with the version of android (if available), should help make them stand out
Added menu to inform user when they do not have sufficient battery power for nandroid, option to continue or abort
Added ability to reboot device to android from the shell (reboot_android)
Added gzip compression option for nandroid
Added cache support for nandroid
Added ability to auto reboot after successful nandroid operation
Added timer to nandroid
Added diskspace required/
available/used readout to nandroid
Added ability to delete nandroid backups
Added check if nandroid reports out of space, to ask the user if they'd like to delete a backup
Added question function to get yes/no answers from users (used in nandroid out of space)
Added confirm question function used for wipe menu
Sort nandroid backup selection list
Rewrote wipe menu to use new confirm routine
Added preference "savepoints" throughout system to try to ensure custom colors/overclock/icon is not lost
Added ability to compress an existing nandroid backup
Fixed ext3 wipe erroneous failure on some devices
Added progress bar reset commands to installer to compenstae for update.zips that don'
t reset it
Removed grey rootzwiki theme
Added cache wipe to preinstall menu

nandroid times
& sizes (Nexus S 4G @ 1200 MHz - boot, data, cache, system, android-secure)
uncompressed backup
: used 512 MB SD space, 130 seconds
compressed backup
: used 328 MB SD space, 514 seconds

uncompressed restore
: unpacked 512 MB, 118 seconds
compressed restore
: unpacked 328 MB, 131 seconds

Last year I made RZRecovery for the original Droid. It was a huge success, since then I have been asked to port to other devices. So here,
about 1 year later (after a lot of work... Remember, I *do not* know C), I have done just that. This will bring all the features of the old
RZR plus a few new ones including the epic rom.tgz install format from the days of yore to any device. I have built this recovery
specifically to handle all devices without the need for a recompile (except for Tegra2-based devices, they have to be recompiled because of
some libc bugs). I have made img files for a few devices to start with:

HTC Thunderbolt
Samsung Nexus S
Samsung Nexus S 4G
HTC Incredible/Incredible S/ Incredible 2
T-mobile myTouch 4G

HTC Dream/Sapphire/Magic
HTC Click/Tattoo
HTC Aria
HTC Wildfire
HTC Legend
HTC Desire/Desire CDMA/Desire S/ Desire HD
HTC Hero/Hero CDMA
LG Optimus S
LG Optimus 1
LG Optimus V
LG Optimus 2X
Motorola Cliq/ Cliq XT
Motorola Backflip
Motorola Atrix - capacitive buttons dont work



Posted ImagePosted Image
Posted ImagePosted Image
Posted ImagePosted Image
Posted ImagePosted Image

View all (in case forums limit the amount of images shown): http://rzdroid.com/f...2.1.3/view.html
(without any of these individuals/organizations none of this could be possible)
CyanogenMod - for being completely open and having a huge database of device information
koush - for clockworkmod, where I got support for other partition types and filesystems
rbox - for repeat scroll and touch screen scrolling
cvpcs - for helping with anything I have ever asked
slayher - for showing me how to enable capacitive buttons on HTC devices
bekit - for showing me the bionic commits to get recovery built for tegra2's
trevorj - for the original battery charge knowledge
my wife - for giving me all the time I needed to get this done
all the testers for testing and encouragement!

I have tried to create an update.zip template for myself that will correctly flash recovery on any device, but if it fails, well... If a zip fails to load then there's probably a reason, and I do not advise forcing a flash. However, if flash_image didn't work the first time you can always extract the IMG from the zip and fastboot it or use something similar to flash it. This may or may not work, and your device may even use a totally different recovery format.
If the device is listed in the experimental section, it means it is untested. I don't know if it will even boot.

DISCLAIMER: Not that this needs to be said, but by downloading any of the files below, you take full responsibility for what happens with
them. Make sure you have a way out if something goes wrong. The devices above are in the experimental section for a reason!

These are update.zip files meant to be run from recovery. They are NOT hboot files.

EVO/EVO 4G: http://rzdroid.com/f...onic-update.zip
MYTOUCH 4G: http://rzdroid.com/f...cier-update.zip
HTC THUNDERBOLT: http://rzdroid.com/f...echa-update.zip
SAMSUNG NEXUS S: http://rzdroid.com/f...espo-update.zip
SAMSUNG NEXUS S 4G: http://rzdroid.com/f...po4g-update.zip
HTC INCREDIBLE: http://rzdroid.com/f...-inc-update.zip
HTC INCREDIBLE 2: http://rzdroid.com/f...ivow-update.zip
HTC INCREDIBLE S: http://rzdroid.com/f...vivo-update.zip
LG OPTIMUS 1: http://rzdroid.com/f...derg-update.zip
LG OPTIMUS 2X: http://rzdroid.com/f...p990-update.zip
LG G2X: http://rzdroid.com/f...p999-update.zip
HTC LEO: http://rzdroid.com/f...-leo-update.zip
HTC DREAM/SAPPHIRE: http://rzdroid.com/f...hire-update.zip
HTC ACE: http://rzdroid.com/f...-ace-update.zip
HTC DESIRE http://rzdroid.com/f...ravo-update.zip
HTC DESIRE (CDMA): http://rzdroid.com/f...avoc-update.zip
HTC WILDFIRE: http://rzdroid.com/f...buzz-update.zip
HTC CLICK: http://rzdroid.com/f...lick-update.zip
MyTouch Slide: http://rzdroid.com/f...esso-update.zip
HTC HERO: http://rzdroid.com/f...hero-update.zip
HTC HERO (CDMA): http://rzdroid.com/f...eroc-update.zip
HTC LEGEND: http://rzdroid.com/f...gend-update.zip
HTC ARIA: http://rzdroid.com/f...erty-update.zip
MOTO CLIQ: http://rzdroid.com/f...ison-update.zip
MOTO BACKFLIP: http://rzdroid.com/f...otus-update.zip
MOTO ATRIX: http://rzdroid.com/f...mpus-update.zip
HTC SAGA: http://rzdroid.com/f...saga-update.zip
HTC VISION: http://rzdroid.com/f...sion-update.zip
MOTO CLIQ XT: http://rzdroid.com/f...elin-update.zip
HTC ZERO: http://rzdroid.com/f...zero-update.zip

PLUGINS BUNDLE (root ROM, fix permissions, disable OTA, dalvik bytecode disable): http://rzdroid.com/f...ndle-update.zip


Clone the above git repo into an AOSP source tree at bootable/recovery. Make a device setup (or use one from CM) and let it go. You might
have to compile the entire system before you can make just a recovery img. If using CM, you can probably do

make out/target/product/DEVICE/recovery.img

and it will compile the required software to make recovery. I wish I could say it is that easy. For many devices it is, but for ones that
use newer technology like samsung's new initramfs format, you're on your own trying to make a kernel with a built in initramfs containing
RZR - you have to compile the kernel and build the ramdisk into it, instead of marrying a ramdisk img to a zImage into a recovery.img, you
get a zImage file, but it contains the kernel as well as the ramdisk.

If you do get it booting, but something doesn't work correctly, let me know so I can try to work with you and get it fixed. I only have a
Nexus S 4G to work with.

Volume up/down - scroll (can hold down to repeat scroll)
HTC - touch screen - scroll
Home - select
Back/Power - back

Main screen
Reboot android
Reboot recovery
Reboot bootloader
Power off
Wipe menu
Wipe all - wipe everything on the device except recovery
Wipe system (the ROM)
Wipe data (your applications and settings)
Wipe .android-secure (other applications and settings on sdcard)
Wipe boot (the main android kernel)
Wipe cache
Wipe battery stats
Wipe dalvik cache (cache of optimized dalvik executables)
Mount menu
Mount/unmount system (the ROM)
Mount/unmount data (apps and settings)
Mount/unmount sdcard
Enable/Disable USB Mass storage
Nandroid menu
Nandroid Backup
Perform backup
choose boot
,data,android-secure,system,cache to back up
select if you want to auto reboot upon successful backup
Nandroid restore
Choose backup
choose boot
,data,android-secure,system,cache to restore
select if you want to auto reboot upon successful restore
Compress existing backup
Choose backup
perform compression
Delete backup
Choose backup
Perform deletion
Install from sdcard
choose item to install
, ZIP, IMG, (must end in rec.img or boot.img) .TAR, .TGZ
Preinstall Menu
Toggle backup before install (make a quick backup of the device naming it preinstall-date-time)
Toggle wipe data
Toggle wipe cache
Add to install queue
Clear install queue
Abort install
Perform install(s)
Abort APK install
Install to system
Install to data
Extras menu
Custom Colors
Random - randomly generated color, will save to sdcard
Any other color - will save to sdcard
Rave mode - a totally random color each time the screen is redrawn (every key press)
Show battery status - will show charge status, level, temperature if available
Recovery overclocking
Kernel will report the available CPU slots, pick one and it will set the max to your selection. Saves to sdcard
Plugins (if plugins are installed)