[Upgrading, Modifying and Unlocking] inertiax3:
Since many have asked for a kitchen.. I would like to say that I use EFN's tools plus their updated versions.

instead of G'reloc - I use WMReloc, works on WM61 and WM65

instead of BuildOS - I use PkgToolsBuildOS5.3

instead of old igmfsfromdump - you must use the latest version, it seems it can handle \DUMP larger than 128MB, this is not yet fully tested

for XIP Importing I use OSNBTOOL

OK, here's the whole process in detail:

1. I take an original ROM for the Samsung i780, dump it, get a directory called DUMP (.ROM,.VM and many modules and files).

2. Using PKGTOOL I create the corresponding OEM and SYS directories (PKGTool version 1.01 by bepe) and one more file that is not in the OEM or SYS dir (a427cbd...dsm) - I put it in the OEM directory under OEM_Other

3. Then I prepare the OEM dir with these directories:

OEM_DPI_128

OEMApps

OEMDrivers

OEMMisc

OEM_Lang_0409

OEM.cer (this is a file)

4. Now onto the SYS - I delete all directories from the ORIGINAL dump except .VM and metadata, these two will be used from the original dump

5. Then I copy the new SYS folders, rename directories containing resh/resv to 320 (since our i780 is a 320x320 device) and resize the associated files. Nothing else is removed and .VM and metadata is kept from original ROM.

6. Now the XIP - port it, old XIP from my original dumped ROM (HL2 in my case, not sure about the build), the donor will be a 21176 or 21189 XIP, I use either XIP Kitchen beta 2 from LennySh or XIPPorterEx (build 32/35) - whichever produces a working XIP without any overlaps in map.txt.

And recently I've begun manually porting the XIP, while it's harder it's better than automatically port it.. the tutorial on manual XIP porting is here on XDA, it's a LOOOOOOOOOOONG read :)

7. The files obtained in step 7 are copied to ROM\XIP

(so I have all dll directories [eg.busenum.dll,cachefilt.dll...] and files [a few dsm, boot.hv, boot.rgu, wince.nls, mxip_lang.vol...]

8. OK, so I have nice OEM, SYS and ROM directories, I run PkgToolsBuildOS5.3, press LOAD ROM, run COMPILE, the tool reads everything, RGUComp runs OK and a temp\dump directory is created - nice.. it's around 125 MB

9. Next I run WMReloc, version 1.04 for WM6.5, all files are relocated (no errors in log)

10. Move temp\DUMP to the root

then run the following:

imgfsfromdump imgfs_raw_data.bin new_imgfs.bin

del imgfs_raw_data.bin

ren new_imgfs.bin imgfs_raw_data.bin

make_imgfs i780.nb0.payload.body -nosplit

merge i780.nb0.payload.header i780.nb0.payload.body i780.nb0.payload

nbmerge -data 2048 -extra 8 i780.nb0 -conservative

11. We get a i780.nb0 file

12. Export the XIP from i780.nb0:

osnbtool -sp i780.nb0

osnbtool -d i780.Nb0.os.nb 1 xip.bin

13. Import the ported XIP into i780.Nb0 (also I change the PP or leave original)

osnbtool -ap xip.bin 16 <--- changes PP to 16MB

osnbtool -c i780.Nb0.os.nb 1 xip.bin

osnbtool -extra i780.Nb0.os.nb.NEW

copy /b /y i780.Nb0.pre + i780.Nb0.os.new.EXA i780.Nb0.new

del i780.Nb0

ren i780.Nb0.pre i780.Nb0

14. And finally I convert the i780.Nb0 into a BIN:

conv3 input.txt > conv3_output.txt

ren i780.nb0.b000ff !!i780_flashable_bin.bin

15. Flash, test, fix errors... :)

I will upload the mentioned updated versions of the tools tomorrow morning ;)

And thanx to the latest donator, pls PM me your nickname on XDA