[Samsung Galaxy S (4G Model)] bhundven:
Hello Galaxy S users,

Specifically, in this forum, it's Galaxy S 4G.

I know you've been watching T.V., and know (maybe... well here in E-merica) a little about universal health care... well I have something totally unrelated to talk with you about. [word this sentence with Steven Colbert's voice]

Universal Recovery.

As it stands, our bootloaders know nothing about the silly recovery partition on our devices.

And on stock roms, it is a total waste of good space we could put to any other partition (mostly data).

When this topic first reared it's ugly head, I thought to myself about just incorporating the unused space to data. But no! I have seen the light. And it is good! :p

There are a few different recoveries out there that are mostly a preference thing.

Stock Android Recovery (think the "3e" thing...) (totally friggin stock. No modifications)

ClockworkMod Recovery (cwm)

ClockworkMod Touch Recovery (cwm-touch)

TeamWin Recovery Project (twrp)

manual partition magic (that really only devs know about... [Bryan Jedi waves his hand in your face] forget I said anything here.)

... to name a few. Granted I will not support/help you on the first or last versions of recovery mentioned above. ;)

I would like to use the recovery partition to unify the storage of the recoveries.

As we have seen with the radio partition... On stock, it is a bml partition without rfs. The modem.bin is written (redbend_ua) directly to the bml12 partition and read back by /system/bin/rild

On (Gingerbread(mtd)/CM7/ICS(mtd)/CM9) MTD based roms, the radio partition is a yaffs2 formated partition in which modem.bin's are simply copied to. A symlink (/dev/block/bml12) to allow rild to work correclty... (well and a nasty hack on SGS4G to pad the modem.bin with zeros, because the rild reads more then the size of the modem.bin but less then the size of bml12)

Lets say we format the recovery partition as yaffs2 (or either vfat or ext4 on bml roms), and store ramdisk-recovery-<version>-<fstype>-<recovery-type>.img files there.

Examples:

ramdisk-recovery-gb-bml-cwm.img

ramdisk-recovery-ics-mtd-twrp.img

Then create a cwm update.zip that allows you to switch your recovery based on what is in the /recovery partition.

The title of this post is [RFC]... This is a Request For Comments.

As an amendment to this RFC, I would also like to have universal updater.sh and updater-script files to be created so that one could say, flash:

stock bml gb (cwm) -> ics mtd (cwm-touch)

ics mtd (twrp) -> stock bml gb (twrp)

ics mtd (cwm) -> gb mtd (cwm-touch)

gb mtd (twrp) -> stock bml gb (cwm-touch)

gb mtd (cwm-touch) -> ics mtd (cwm)

...without

ever

needing to go to download mode to run a oneclick or odin.

This thread should eventually turn into a development thread containing the results of this discussion.

...

A little while back, I started a poll.

The results of the poll, and comments lead me to believe that users are more interested in obtaining root and having the latest version then anything else.

All of these recovery methods should provide root access to install which ever rom you want (rooted or not rooted) and whatever recovery you want to use.

Goals (no particular order):

Run an updater.zip OR run an android app to change the current version of recovery.

Unify the updater.sh and updater-scripts for our roms, so you guaranty that you can flash from any rom to any rom (unless it has not been updated to use this new standard)

Do something with the lost 6-7M of unused space currently known as 'recovery'.

Let me know what you think. I already have a WIP, but it only supports cwm (at the time of this writing. cwm-touch and twrp coming soon...).

I am working on minimal environments (android manifests) to build each specific recovery nightly so that these will always stay up to date with what is in our repositories.

Being an RFC thread, please provide some helpful feedback.

ALSO

, I leave this open to other Galaxy S phones as well!

You too have a device with this stupid recovery partition.

If all Galaxy S phones used the same codebase for updater.sh and updater-scripts and for setting the currently used recovery, it would be a win for everyone.

OK, Technical section:

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

On the latests CM10, a patch was applied by pawitp a little while back to allow a simpler packing of ramdisk and recovery.

Because of this, you can basically repack the initramfs with a different recovery.

If we changed our stock bml gb kernel, cm7 (and other mtd based kernels) to use a similar recovery method, we could unify the way we change between recoveries.

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

...Comments go here VVVVVVVVVVV