[Windows Mobile] tobbbie:
Some findings and resulting basic questions regarding OS Builder's tweaking options.

I played with several and found them more or less useful for my setup. This is a WM6 Tornado (nk.exe is WM5) and a small XIP. Best gain is achieved with:

XIP-size:

marking files to compress in DSM as recommended (filesys.exe "C" + coredll.dll "R"): 140k saved space in XIP. I have not played with any further files yet as they are not promising much gain due to their size - maybe I will however as there is really also a free RAM gain from that!

Strip Relocations just gets me 4k - but there are just 22 Modules in my XIP.

RAM-size:

move RAM Start and nk RW sections (unchecked the "don't..." in XIP settings) gets me ~200k RAM with XIP having modules compressed as above. It seems that uncompressed modules only gain 65k RAM. So marking the sections compressed in the DSM seems to affect both XIP and RAM footprint - which for the latter I cannot really believe.

squeeze nk RW sections gets another 20k RAM

slot0:

remove dll gap gets me ~260k here in slot0. This setting is accessible for both the XIP section and the Build section of settings. I guess both must be set to "off" to compare. If the XIP is not rebuilt during a whole build it can be that the XIP has the dll gap still and so the second setting is needed to ensure its positive effect.

Saving space in the IMGFS:

Strip reloc sections: gives me ~180k of build size reduction with LZX

Merge packages: gives me ~220k of build size reduction with LZX

I must say that I did not understand first why there is a gain here. As I understand, the DSM and RGU are just merged from all packages in the build (except XIP packages naturally) - so the content in DSM and the RGU must be the same. Looking at the DSM however it is obvious that only one signature must be made for that one merged file - not one for each of the dedicated package DSMs. So the saving of signatures per dedicated package DSM is the gain here :-)

Group modules at begin of imgfs: no gain

So here the questions - please forgive me if they sound silly:

What is the purpose of the RGU files on the device? As I understand the build process, the Registry is built from the RGU in the sequence that is defined by the packages. After that is completed, they are no more needed. So why keep them in the ROM? There are other options to prevent a reuse of a ready built ROM (like the "strip reloc" in XIP and IMGFS or the "merge packages") - why not also get rid of all the RGU?

What is the purpose of the DSM files on the device? The name (if I get it right as "Device Side Manifest") indicates that something useful maybe treated on the device. Since not any online package replacements in firmware ever happened that may have used that - could then the DSM not also go away optionally? I know that DSM/RGU are the heart of reuse and ROM decompose and removing them will effectively make it impossible to do that - so it may not be desired, but is it possible?

What about a checkbox to remove the FWUpdate packages - they should not be needed either. I know I can simply delete them from the OS folder - but likewise I can do that for not needed parts in XIP where there are several explicitly mentioned exe/dll to remove.

What is the expected gain of "group modules at begin of imgfs"?

Why is there more RAM if I just get modules sections compressed in XIP? I can understand the smaller footprint in XIP partition, but is the RAM image also compressed? If the latter (really?!) what about other modules in the imgfs - would they also take a gain?