[Android Software/Hacking General [Developers Only]] raidzero:
---------------------------------

Overview

---------------------------------

*RZrecovery*:

-=overclock settings=-

-=Arbitrary update.zip selection (with folders) (don't have to rename files 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=-

-=update.zip from folder support=-

-=Ability to install APK's, IMG's, ZIP's, TAR's, TGZ's from the same menu=-

-=Wipe battery statistics=-

-=Battery charging!=-

-=clockwork nandroid restore=-

-=Ability to root any ROM=-

-=12 predefined colors + random color selection=-

-=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=-

-=Hold volume keys to scroll=-

-=Touch screen scrolling on some devices=-

-=Davlik bytecode verification disable/enable=-

---------------------------------

Background

---------------------------------

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, 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:

---------------------------------

CONFIRMED

---------------------------------

HTC Thunderbolt

Samsung Nexus S

Samsung Nexus S 4G

Motorola Droid

HTC Incredible/Incredible S/ Incredible 2

HTC EVO 4G

---------------------------------

EXPERIMENTAL

---------------------------------

HTC MyTouch 4G/Slide

HTC Leo

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

Samsung Fascinate (need to find out where recovery is stored for mtd)

LG Optimus S

LG Optimus 1

LG Optimus V

LG Optimus 2X

Huawei Ideos

Huawei u8220/u8150

Motorola Cliq/ Cliq XT

Motorola Backflip

Motorola Atrix

PLEASE: IF ANY OF THSE EXPERIMENTAL BUILDS WORK, PLEASE POST AND LET ME KNOW SO THAT I MAY MOVE THEM TO THE CONFIRMED SECTION

In order to port RZR to anything, I need to know the base kernel address, the boot command line, the page size and the partition layout.

---------------------------------

SCREENSHOTS

---------------------------------

View all (in case forums limit the amount of images shown): http://rzdroid.com/ftp/recovery/screenshots/2.1.0/view.html

---------------------------------

CREDITS

---------------------------------

(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 :D

all the testers for testing and encouragement!

---------------------------------

DOWNLOADS

---------------------------------

I will link img files for use with fastboot or flash_image and any applicable zips.

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 :)

EVO 4G: http://rzdroid.com/ftp/recovery/gingerbread/RZR-2.1.0-supersonic-update.zip

SAMSUNG FASCINATE: http://rzdroid.com/ftp/recovery/gingerbread/RZR-2.1.0-fascinate-update.zip

MYTOUCH 4G: http://rzdroid.com/ftp/recovery/gingerbread/RZR-2.1.0-glacier-update.zip

HTC THUNDERBOLT: http://rzdroid.com/ftp/recovery/gingerbread/RZR-2.1.0-mecha-update.zip

SAMSUNG NEXUS S: http://rzdroid.com/ftp/recovery/gingerbread/RZR-2.1.0-nexusS-update.zip

SAMSUNG NEXUS S 4G: http://rzdroid.com/ftp/recovery/gingerbread/RZR-2.1.0-ns4g-update.zip

HTC INCREDIBLE 2: http://rzdroid.com/ftp/recovery/gingerbread/RZR-2.1.0-vivow-update.zip

HTC INCREDIBLE S: http://rzdroid.com/ftp/recovery/gingerbread/RZR-2.1.0-vivo-update.zip

LG OPTIMUS S: http://rzdroid.com/ftp/recovery/gingerbread/RZR-2.1.0-thunderc-update.zip

LG OPTIMUS 1: http://rzdroid.com/ftp/recovery/gingerbread/RZR-2.1.0-thunderg-update.zip

LG OPTIMUS 2X: http://rzdroid.com/ftp/recovery/gingerbread/RZR-2.1.0-p990-update.zip

MOTOROLA DROID: http://rzdroid.com/ftp/recovery/gingerbread/RZR-2.1.0-sholes-update.zip

HTC LEO: http://rzdroid.com/ftp/recovery/gingerbread/RZR-2.1.0-leo-update.zip

HTC MAGIC: http://rzdroid.com/ftp/recovery/gingerbread/RZR-2.1.0-magic-update.zip

HTC DREAM: http://rzdroid.com/ftp/recovery/gingerbread/RZR-2.1.0-dream_sapphire-update.zip

HTC MARVEL: http://rzdroid.com/ftp/recovery/gingerbread/RZR-2.1.0-dream_sapphire-update.zip

HTC ACE: http://rzdroid.com/ftp/recovery/gingerbread/RZR-2.1.0-ace-update.zip

HTC DESIRE http://rzdroid.com/ftp/recovery/gingerbread/RZR-2.1.0-bravo-update.zip

HTC DESIRE (CDMA): http://rzdroid.com/ftp/recovery/gingerbread/RZR-2.1.0-bravoc-update.zip

HTC WILDFIRE: http://rzdroid.com/ftp/recovery/gingerbread/RZR-2.1.0-buzz-update.zip

HTC CLICK: http://rzdroid.com/ftp/recovery/gingerbread/RZR-2.1.0-click-update.zip

MyTouch Slide: http://rzdroid.com/ftp/recovery/gingerbread/RZR-2.1.0-espresso-update.zip

HTC HERO: http://rzdroid.com/ftp/recovery/gingerbread/RZR-2.1.0-hero-update.zip

HTC HERO (CDMA): http://rzdroid.com/ftp/recovery/gingerbread/RZR-2.1.0-heroc-update.zip

HTC LEGEND: http://rzdroid.com/ftp/recovery/gingerbread/RZR-2.1.0-legend-update.zip

HTC ARIA: http://rzdroid.com/ftp/recovery/gingerbread/RZR-2.1.0-liberty-update.zip

MOTO CLIQ: http://rzdroid.com/ftp/recovery/gingerbread/RZR-2.1.0-morrison-update.zip

MOTO BACKFLIP: http://rzdroid.com/ftp/recovery/gingerbread/RZR-2.1.0-motus-update.zip

MOTO ATRIX: http://rzdroid.com/ftp/recovery/gingerbread/RZR-2.1.0-olympus-update.zip

HTC SAGA: http://rzdroid.com/ftp/recovery/gingerbread/RZR-2.1.0-saga-update.zip

HUAWEI U8150: http://rzdroid.com/ftp/recovery/gingerbread/RZR-2.1.0-u8150-update.zip

HUAWEI U8220: http://rzdroid.com/ftp/recovery/gingerbread/RZR-2.1.0-u8220-update.zip

HTC VISION: http://rzdroid.com/ftp/recovery/gingerbread/RZR-2.1.0-vision-update.zip

MOTO CLIQ XT: http://rzdroid.com/ftp/recovery/gingerbread/RZR-2.1.0-zeppelin-update.zip

HTC ZERO: http://rzdroid.com/ftp/recovery/gingerbread/RZR-2.1.0-zero-update.zip
​

---------------------------------

SOURCE

---------------------------------

https://github.com/raidzero/RZrecovery/tree/gingerbread

---------------------------------

WALKTHROUGH

---------------------------------

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 to back up
Nandroid restore
Choose backup
choose boot,data,android-secure,system to restore
Clockwork nandroid restore
choose backup and immediately restore the whole thing
Install from sdcard
choose item to install:
APK, ZIP, IMG, (must end in rec.img or boot.img) .TAR, .TGZ
Preinstall Menu
Abort Install
Backup before install (make a quick backup of the device naming it preinstall-date-time)
Wipe data
Perform install
if(APK)
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
ROM tweaks
Disable OTA update downloads in ROM - will prevent android from downloading updates OTA
Activate Root access in ROM
Yes - roots the current ROM (still requires the superuser.apk from chainsdd)
No - does nothing
Dalvik bytecode tweaks
Disable bytecode verification
Enable bytecode verificaion
this deserves some explaining. saved the best for last :) In android, when executables are loaded, the dalvik VM will go
through each line of instructions and make sure it is valid, if it isn't (poorly written application) it will fix it to the best of its ability. This verification process takes time. Disabling this will speed up all the operations on the phone and might even save some RAM. If it doesn't work for you or causes apps to crash, re-enable the verifier here.

So please, if you want this for your device just post here and I will try to get it done for you :)

POSSIBLE CAVEATS

Update.zip status 2: this means the update.zip you re trying to flash has an outdated update-binary (META-INF/com/google/android/update-binary). Please replace this file in your zip with my version (from gingerbread) here: http://rzdroid.com/ftp/recovery/gingerbread/APIlevel3-update-binary

Update.zip status 7: This means the script is not compatible with the update-binary. This will most likely happen after you replace the update-binary in an outdated update.zip. The most common errors are that the mount and format commands now take extra arguments. you must pass the filesystem type like so:

OLD:

format("MTD", "system");
mount("MTD", "system", "/system");

NEW:

format("MTD", "yaffs2", "system");
mount ("MTD", "yaffs2", "system", "/system");

I have changed the API level to 2, to help alleviate some of these issues. It is still evel 3 but all level 2 update.zips should work fine.

Not the addition of the filesystem type. No idea why they changed this, seems like since it now uses recovery.fstab that this info could simply be figured out. or maybe I will implement a method of checking for status 7 and possibly telling it the filesystem information myself. Either way, this info will get you rolling now.