[Samsung Epic 4G Touch] agat63:
This thread will be a little different.

I would like to make one thing very clear. Even tho I'm posting new repacked kernel with a recovery compiled from source I can't claim this as my work.

A lot of talented devs were involved in the process and they were kind enough to guide me every step of the way and not claiming any credit for that. I would like to extend my thanks to (not in any particular order):

Chris41g

Sfhub

garwynn

Mr. Sumrall

Entropy

And many more who helped along the way.

First let us understand what is "safe" recovery.

Here is direct quote from sfhub's PM to me:

"Just think of it this way. You build your own recovery executable and have examined your source tree confirming wipe.c doesn't exist, so the operations that are handled *by your recovery* are safe. That is wipe data/factory reset and nandroid backup/restore.

When you choose to install a rom from *your recovery*, it uses a "helper app" that is in the ROMs update.zip called update-binary.

This update-binary is also compiled against libext4_utils.a, except in this case (except for your own ROM), you cannot examine the source tree update-binary was compiled against, so you can't be sure wipe.c wasn't used.

Now if that ROM update.zip were to use a "known" update-binary, like the one included with the EL29 OTA, then you would know that it was "safe" update-binary, even without the source code."

End quote.

You can read more about this In this thread if you haven't done it yet.

In other words. The bug was present in GB as well but it was missing the command to trigger it. That command has been introduced (added) in ICS code.

So:

1. As long as recovery is build against GB code it is safe.

2. If any update zip is build based on GB source code it is safe.

3. If any rom has GB updater-binary in META-INF it is safe.

4. If rom is build with ICS update-binary but doesn't have format() for data in updater-script it is safe.

As we can see here the problem is with format() command in ICS source.

There is a line (command) in ICS that wasn't present in GB and it triggers the bug. It's hiding in format() and has a wipe() syntax or something like that.

GB source code doesn't have it thus we never had any bricks in GB.

When any filename_rom_theme_whatever.zip is applied in recovery it will use updater-binary that is packed into zip and located in META-INF folder.

All GB binaries are safe since they didn't have that wipe() command in them.

We have safely used Calk's format_all.zip because it has been created in GB days and has GB updater-binary in it.

If rom devs will use GB update-binary the rom zip will be safe to flash.

Any update.zip with GB binaries is safe.

Now about the update and repack I'm about to post.

Recovery has been compiled from source provided by Chris41g and with his help against CM7 (GB) source code and all menu items in recovery are safe to use.

It has been repacked into ICS zImage but since binaries are from GB there is nothing to worry about.

tFE22_v0.1.1 has GB binary in it (as all my roms did) and it's safe to flash.

FE22_Repack_AGAT.zip has GB binaries and it's safe to use.

Whenever you wanna flash a zip file in recovery you would worry only if zip has ICS binaries packed into it. I that case even simplest zip flashing can cause a brick. It doesn't mean it would but the possibility is there.

I'm using this newly repacked kernel for couple of days now and I did apply wipe data/factory reset menu option 8 times. No problems so far.

I hope you would have same experience.

Now to my update.

tFE22_v0.1.1:

1. Fixed SystemUI.apk

2. 4G icons have been replaced with ones I had in my previous roms.

3. Added S-Voice (thanks to scarmon25 for help)

4. Small revisions all over the place.

5. Bluetooth works and reconnects as soon as device is in range

FE22_Repack_AGAT:

1. Recovery compiled from source (I can't thank enough Chris41g for his help and guidance)

2. Wipe data/factory reset is back into recovery menu (use it with caution).

3. Small changes and edits in init.rc

4. Changes and edits in recovery.rc.

5. Renamed recovery to AGAT_Recovery version tREC_0.0.1. Thanks to Chris41g for being so kind and generous because it is his recovery, source and help that make all this possible.

6. Added my logo and name to recovery background.:D

Here are links:

tFE22_v0.1.1

1. tFE22_v0.1.1.zip

Mirror at dev-host.

2. Deodexed version coming soon.

Repacked Kernel:

1. FE22_Repack_AGAT.tar Flash with ODIN

2. FE22_Repack_AGAT.zip Flash in recovery.

If anyone wants to use this repack for a rom feel free to do so.

One more time it's not my work but rather a combined effort of many talented devs that helped me wile staying in background and didn't want/ask for any credit for this.

But they deserve more credit than I do. They could of do it without me in a heart bit. I couldn't do it without them in a year.