I also agree, this thread needs to be sticky.
Is this accurate (for the EVO? For Android devices in general?):
mtd0: 00040000 00020000 "misc"
mtd1: 00500000 00020000 "recovery"
mtd2: 00280000 00020000 "boot"
mtd3: 04380000 00020000 "system"
mtd4: 04380000 00020000 "cache"
mtd5: 04ac0000 00020000 "userdata"
I'm still working out the details of how the Android system works, but what I'm getting lost on is how current root status happens. Using toast/maejrep's method, we're pushing a custom Recovery.img--which is either flashed by the script, or flashed automatically by Android upon shut down.
(This is assuming that Android always flashes a copy of Recovery.img from the /system partition as a safeguard, ensuring upon reboot things are as expected.)
We then have full access to Boot, Recovery, and System (via Recovery). Right now we're flashing a custom Boot.img (with custom Kernel) as well as a custom System, correct? What happens to the Recovery that we're currently in after a reboot that we lose it?
I don't understand is why Recovery isn't sticking. Does the system try to re-flash Recovery.img from /System upon every reboot, and our accessible Recovery is being replaced by the default Recovery.img simply because we've overlooked it?
Additionally, assuming we have access to Recovery, we should have full access to Boot and System (as we do now), so we'd be able to flash custom Boot/Kernel, OS/ROM/System, and stick with a solid Recovery image to handle flashing in the future.
Where are we/I getting tripped up? I don't understand why Recovery isn't sticking? And if Recovery does stick, isn't that all we truly need (given the adb/ENG build) to fully unlock the EVO?