[Droid Eris Android Development] bftb0:
Hi tereg,

[SIZE=-1](If you are not tereg, you can stop reading this. I didn't PM because I needed to ship an attachment)[/SIZE]

Have a look at the attached (custom) recovery (pick it apart and diff it against the leak-V3/RUU recovery.img) using split_bootimg.pl and the gunzip | cpio pipeline.

You can flash it to your recovery partition and run it if you like, it doesn't do anything dangerous. Basically, it is the same thing as the Leak-V3(=RUU = OTA-2.1) recovery, with two major changes:

- /sbin/recovery service is turned off so this doesn't run automatically (and as a result you won't see the splash screen change from the 3 skating droids). You can run it manually, though, from the adb shell - just wait 8-10 seconds and adbd will come up.

- I added the shell (sh) and a few of the diagnostic tools (dmesg, dumpstate, logcat... and supporting dynamic link libraries, the linker, etc), and dropped in there both /system/bin/toolbox (HTC) and /system/xbin/busybox and created some of the symlinks so that an adb shell has a useful set of tools available. (Oh yeah, I added an /etc/fstab as a convenience for /system/xbin/mount. Note the system mtd partition mounts at /os-system so it won't cover up all the installed tools underneath /system in the boot image)

- I altered the init.rc (and default.prop) so that adbd will always come alive - not just when a race is won.

The base of this image (kernel, bootscripts, /sbin), is the leak-V3 recovery.img; everything else such as dynamicly linked executables and supporting dynamic libraries comes from Jcase's Plain Jane, which in turn comes from Leak-V3/OTA/RUU, so, essentially everything in this bootable recovery comes from HTC except the version of busybox in /system/xbin and mods to the init scripts and default.prop

Note that the NAND flash partition in the mtd device for the recovery is only something like 5.2 MB - I would have added more, but was starting to get tight on space.

If you want it to run as close as possible to the timing of the HTC leak-V3 recovery.img, what I would do would be the following:

- defer all the symlinking in init.rc (except for the "sh" and "ln", of course) and package that up into a shell script that you can run after the recovery has booted

- uncomment (re-enable) the "recovery" service (/sbin/recovery)

- maybe experiment and see if you can get the complete kernel boot sequence from dmesg without starting logcat as the first service (that's not done in the normal recovery).

The only other useful piece of info that I can think of at the moment is that you need to use the ---base option with mkbootimg with an address that starts with something like 0x11208000..... (I can't recall and my machine is down - crap.) You can discover the value of the kernel base address load offset for the Eris by snooping through a hexdump of the beginning of any valid Eris bootable image

cheers

bftb0

MD5s

5801babcdf4e6e5d51e5f775aad0a09e ErisNoRecovery-recovery-v0.9.0.img.zip

4d280b367be75e7e75563a6357575ea7 ErisNoRecovery-recovery-v0.9.0.img

Sent via my nearly dead crap Pentium II booted from a 2003 version of Knoppix - 256 megs of EDO RAM - woot!