[Windows Mobile] tobbbie:
Port XIP takes old <package>.dsm for compression

I noticed that "Port XIP" will not use the donor XIPs folder <package>.dsm file for building the XIP but instead the original one in the kitchen.

This is especially confusing as the summary of the port XIP reports the version of the donor <package>.dsm while the treatment before logs the treatment according to the original <package>.dsm:

Copying ROM\XIP packages...Ok

Copying XIP packages from DONOR folder...Ok

ROM\XIP\OEMXIPKERNEL\boot.rgu -> <New Xip>\boot.rgu

Compiling boot.hv (SysLang -> 0407; CurLang -> 0407)...Ok

Deleting module hd.dll Ok
Deleting module initvmmap.exe Ok
Deleting module osaxst0.dll Ok

Rebasing modules:
1 busenum.dll V=03FFA000 L=00006000 D=01FFF000 L=00001000
2 cachefilt.dll V=03FEF000 L=0000B000 D=01FFE000 L=00001000
3 certmod.dll V=03FE1000 L=0000E000 D=01FFD000 L=00001000
4 coredll.dll V=03F59000 L=00088000 D=01FFC000 L=00001000
5 devmgr.dll V=03F4D000 L=0000C000 D=01FFB000 L=00001000
6 diskcache.dll V=03F47000 L=00006000 D=01FFA000 L=00001000
7 fatfsd.dll V=03F34000 L=00013000 D=01FF9000 L=00001000
8 fatutil.dll V=03F29000 L=0000B000 D=01FF8000 L=00001000
9 fsdmgr.dll V=03F13000 L=00016000 D=01FF7000 L=00001000
10 fsreplxfilt.dll V=03F09000 L=0000A000 D=01FF6000 L=00001000
11 imgfs.dll V=03EFD000 L=0000C000 D=01FF5000 L=00001000
12 mencfilt.dll V=03EED000 L=00010000 D=01FF4000 L=00001000
13 mspart.dll V=03EE5000 L=00008000 D=01FF3000 L=00001000
14 pm.dll V=03ED6000 L=0000F000 D=01FF2000 L=00001000
15 regenum.dll V=03ED2000 L=00004000 D=01FF1000 L=00001000
16 cecompr.dll V=03ECB000 L=00007000 D=01FF0000 L=00001000
17 ceddk.dll V=03EC5000 L=00006000 D=01FEF000 L=00001000
18 HtcFsdspy.dll V=03EBF000 L=00006000 D=01FEE000 L=00001000
19 relfsd.dll V=03EB8000 L=00007000 D=01FED000 L=00001000
20 TrueFFS.dll V=03E8B000 L=0002D000 D=01FE1000 L=0000C000

Slot0: 0x01FE0000
Slot1: 0x03E8B000
dllFirst: 0x01FE01FE

[COLOR="Red"]Compressing certmod.dll\S000 Ok (41556 -> 19826)
Compressing certmod.dll\S001 Ok (1024 -> 366)
Compressing certmod.dll\S002 Ok (1784 -> 994)
Compressing coredll.dll\S001 Ok (3072 -> 902)
Compressing coredll.dll\S002 Ok (21784 -> 9827)
Compressing coredll.dll\S003 Ok (8864 -> 2808)
Compressing fatutil.dll\S000 Ok (23132 -> 12893)
Compressing fatutil.dll\S001 Ok (512 -> 242)
Compressing fatutil.dll\S002 Ok (768 -> 500)
Compressing fatutil.dll\S003 Ok (4900 -> 1573)
Compressing filesys.exe\S000 Ok (240464 -> 120140)
Compressing filesys.exe\S001 Ok (4608 -> 883)
Compressing filesys.exe\S002 Ok (8416 -> 4242)
Compressing filesys.exe\S003 Cannot compress section
Compressing b5332311-48f1-4b76-ad70-8efa5db8fa3a.rgu Cannot compress file[/COLOR]
Compressing boot.hv Ok (40960 -> 6645)
Compressing boot.rgu Ok (20874 -> 4503)
Compressing boot_ms.rgu Ok (2046 -> 736)
Compressing mxip_initdb.vol Ok (28672 -> 1946)

Allocating physical space...Ok

physFirst: 0x8C080000
physLast: 0x8C280190 --> 0x8C23ABE4

Allocating kernel RAM...Ok

nk.exe V=8C080000 R=8C23B000

8C23B000-8C2A0000 L00065000 initialized data of region_2 nk.exe
8C2A0000-8C2A6000 L00006000 uninitialized data of region_1 nk.exe

RamStart: 0x8C281000 --> 0x8C23B000
RamFree: 0x8C2F6000 --> 0x8C2A6000

pTOC: RVA=0x000027F8 ADDR=0x8C175B14
pEXT: RVA=0x000027FC ADDR=0x8C0827FC

Writing TEMP\xip_ported.bin...Ok

PP(Mb) : 5 (offset: 0x00064558)
KERNEL : WM6.1

dllFirst : 0x01FE01FE (Lo=0x01FE0000; Hi=0x01FE0000)
dllLast : 0x02000000
physFirst : 0x8C080000
physLast : 0x8C23ABE4
modules : 23
RAMStart : 0x8C23B000
RAMFree : 0x8C2A6000
RAMEnd : 0x8FC00000
CopyEntries : 1
CopyOffset : 0x8C0F2FE0
ProfileLength : 0x00000000
ProfileOffset : 0x00000000
files : 8
KernelFlags : 0x00000000
FSRamPercent : 0x00000004
DrivglobStart : 0x00000000
DrivglobLength : 0x00000000
CPUType : 0x01C2 (ARMV4I)
MiscFlags : 0x0002
pExtensions : 0x8C0827FC
TrackingStart : 0x00000000
TrackingLength : 0x00000000

XIP (slots bounds):
SLOT 0 : 0x01FE0000 (dllFirst)
SLOT 1 : 0x03E8B000 (TrueFFS.dll)

XIP (cecompr.dll):
XPR: is supported
LZX: is supported
XPH: is not supported

XIP (packages):
[B][COLOR="Red"]b5332311-48f1-4b76-ad70-8efa5db8fa3a.dsm MSXIPKernel 5.2.28004.5300[/COLOR][/B]
044307ec-42a0-4376-d4db-06f549340a39.dsm OEMXIPKERNEL 10.0.15341.0
42d1aab7-6dfa-4c03-9797-d66f7620883d.dsm MSXIPKernelLTK 5.2.23000.5060

Mind that the first set of compression actions is from the definition in the original XIP folder, while the reported summary is the ported XIP version. The latter does NOT have the compression settings, I checked that!

Result should be a XIP.BIN where the ported MSXIPKernel is treated like the old <package>.dsm but bundled with a <package>.dsm of the donor.

Usually you may not have a difference in both so that problem will not creep up, but I have and so I found the inconsistent behavior.

On a side note:

With build 5.2.20279.1304 the MSXIPKernel modules "fatutil.dll" and "certmod.dll" can have the "C" flag set. I have checked that you can still access and format the card (fatutil) and that security model is working (certmod.dll). None of the other modules dealing with filesystem can be compressed beyond what is documented already.

I have still not got a stable WM 6.5 build for the Tornado, but hunting for it as you see.

Finally I wonder if anyone is still reading my findings or if I write on a wall that nobody ever visits - sigh - feel so lonely working on WM6.x topics still. Any sign of life out there?!