[PORT] WP7 XPH compression for WM - Windows Mobile

XPH compression library ported from WP7 (Mango).
XPH is faster and more effective than XPR. It means, it is the best compression to date.
Compatible kitchen:
only the latest OSBuilder (>=15-Sept-2011 version).
Compatible devices:
only ARMv7 instruction set-compatible devices - all Snapdragon devices. OTHERS AREN'T SUPPORTED!!!
(older devices will not boot)
(no, no way to port to older devices)
Little comparison of libraries
In terms of size (from the worst to the best):
xpr -> xph -> lzx
In terms of speed (from the worst to the best):
lzx -> xpr -> xph
Click to expand...
Click to collapse
(C) Barin and UltraShot (asusmobile.ru team).
Special thanks to AndrewSh and HD2Owner for tests.

thanks alot buddy. great work.

Latest OsBuilder - means that one http://forum.xda-developers.com/showpost.php?p=17570707&postcount=480

Thanks a lot UltraShot !! It's a great news !! : ) : )

ultrashot said:
XPH compression library ported from WP7 (Mango).
XPH is faster and more effective than XPR. It means, it is the best compression to date.
only ARMv7 instruction set-compatible devices - all Snapdragon devices. OTHERS AREN'T SUPPORTED!!!
Click to expand...
Click to collapse
...sigh, nothing for Arm V4 oldtimers
What is the observed improvement of XPH over LZX in terms of size and speed?
LZX produces (from my observation, but I have several MB already UPX-ed) about 15% smaller builds than XPR. Need to check that without my optional packages to see the real ratio - other observations anyone?

little comparison of libraries
in terms of size (from the worst to the best):
xpr -> xph -> lzx
in terms of speed (from the worst to the best):
lzx -> xpr -> xph
I haven't tried to calculate percents.

I have installed OS Builder V1.3.163. I went into settings and selected XPH as build method. When I tried to build a rom I saw the following:
----------- CREATING IMGFS PARTITION FILE ----------
IMGFS data (template):
Compression - XPR
Boot sector size - 0x0800
Building IMGFS partition file (XPR)...Ok
Compression - XPR
Boot sector size - 0x0800
Empty sectors - 23 (46 Kb)
--------- OPERATION COMPLETED SUCCESSFULLY ---------
Is there any reason it is still using XPR over XPH?
EDIT: Found the .DLL folder in Personal Build\Dump\ROM\XIP\OEMXIPKernel replaced it with the new one for XPH. Reloaded osBuilder but it still says XPH not supported, but now getting the following:
----------- CREATING IMGFS PARTITION FILE ----------
IMGFS data (template):
Compression - XPR
Boot sector size - 0x0800
Building IMGFS partition file (XPH)...Ok
Compression - XPH
Boot sector size - 0x0800
Empty sectors - 48 (96 Kb)
--------- OPERATION COMPLETED SUCCESSFULLY ---------
EDIT2: Compiled the rom but now wont boot on my HD2 very odd. Going to bed now

GhostXSeries, read this. That's the way how to deal with new cecompr.dll. Do not replace, but create additional folder with it inside and define the path in settings.

Something obvious: you must rebuild your XIP too. IMGFS is not enough - this will be compressed with XPH when creating the ROM but the cecomp.dll on the device must support the unpack of that as well - otherwise the device won't boot.
Check the XIP part of the build options for that - this is where AndrewSh is pointing to with the previous post.

Ah that might be why my rom isn't booting then! It was unpacked using XPR I can see during the build process that XIP is compress using XPR and then IMGFS is compressed using XPH.
I will try that cheers!

Compression is tricky - and in a way nested as well:
the XIP as a whole may be compressed with SRPX on some devices that support it from the bootloader
parts of the XIP maybe compressed with entries in their DSM, but then the OS (nk.exe and related modules to access the compressed files - including the cecomp.dll) have to be loaded already - separate info in the history on the use of this part
the imgfs as a whole - what you are after.
Good luck

Do I need to use the Barin's OSbuilder essentially for XPH compression? can't we use bepe's platformrebuilder? I remember while I used to cook Diamond's ROMs then there was no problem while compressing with LZX with the help of bepe's platformrebuilder.

platformrebuilder doesn't build imgfs. That's ImgFsFromDump's work. If integrated ImgFsFromDump supports unknown (for it) compression, then it is ok.

ultrashot said:
platformrebuilder doesn't build imgfs. That's ImgFsFromDump's work. If integrated ImgFsFromDump supports unknown (for it) compression, then it is ok.
Click to expand...
Click to collapse
I agree that platformbuilder does not build IMGFS. But, XIP building and compression is done by it. Because, when I put the relevent cecompr.dll in XIP, the PB gives error while processing it.
Even in the Barin's OSB there is option to replace the cecompr.dll later on sometimes during the process. If I replace the cecompr.dll manually before launching the OSB and uncheck the replace option in XIP tab of OSB the there is error as well.
Since I am still a user of bepe's PB I was looking for a possibility of XPH compression.
Can it be possible?

XIP isn't being compressed by XPH. XIP is compressed using other methods. So, its pb's problem.
OSB is the only solution then.

I put the relevent cecompr.dll in XIP, the PB gives error while processing it
Click to expand...
Click to collapse
Platformrebuilder CANNOT process cecompr.dll (XPH), because PRB CANNOT work with relocations of type 5 and 7
Compatible kitchen:
only the latest OSBuilder (>=15-Sept-2011 version).
Click to expand...
Click to collapse
It was written in the fist post

c_shekhar said:
Do I need to use the Barin's OSbuilder essentially for XPH compression? can't we use bepe's platformrebuilder? I remember while I used to cook Diamond's ROMs then there was no problem while compressing with LZX with the help of bepe's platformrebuilder.
Click to expand...
Click to collapse
Don't be afraid to upgrade - it is worth it. You may not get all the OSB power in the first round (recook a shipped ROM as a start) but you will learn as you go. Mind to read the WWE manual which gives you a good walkthrough for most options.

-=Barin=- said:
Platformrebuilder CANNOT process cecompr.dll (XPH), because PRB CANNOT work with relocations of type 5 and 7
It was written in the fist post
Click to expand...
Click to collapse
Thanks a lot @Barin.
Now you has made me understand the limitation of PRB against the OSB.
tobbbie said:
Don't be afraid to upgrade - it is worth it. You may not get all the OSB power in the first round (recook a shipped ROM as a start) but you will learn as you go. Mind to read the WWE manual which gives you a good walkthrough for most options.
Click to expand...
Click to collapse
Thanks a lot @tobbbie.
Actually I am using my own kitchen which uses the bepe's PRB. and separate implantxip.exe by azz. If I can manage to create, using Barin's OSB, the XIP having XPH cecompr.dll then I can perhaps implant that using implantxip.exe and compress the IMGFS with XPH.
It is only my guess may be it works and may be it does not.
Whatsay?

c_shekhar said:
If I can manage to create, using Barin's OSB, the XIP having XPH cecompr.dll then I can perhaps implant that using implantxip.exe and compress the IMGFS with XPH.
It is only my guess may be it works and may be it does not.
Whatsay?
Click to expand...
Click to collapse
I am not really familiar with the details how the XIP is linked with imgfs, but the connection is quite close regarding end and start of adresses. So if you need OSB for creating the XIP with XPH compression contained and then you need OSB to compress the imgfs with XPH - why any need for cooking outside OSB anyway?!
I had tried in the beginning to get some pieces together like a XIP from OSB in my old kitchen but it failed (I guess due to the memory boundaries). As OSB could import the packages unchanged (I used an old style batch kitchen with BuildOS.exe and option.xml) - there was only very little to be done for a start. Mind that OSB will care for defined content in the *.dsm files which my old kitchen did not (just picking all in the package directory), so there is some work ahead to get that cleaned. You should however move over to the OSB thread to read and discuss there when it comes to OSB usage and migration from older kitchen.
To get a clean start, just dump a ready cooked ROM from your old kitchen with OSB (to get the right structure set up) - of course you have to keep all packages intact in the build. Then try to rebuild that including the re-creation of the XIP. Play with advanced options there if you like. After this is ok, then you can iteratively add your other packages and setup options for these packages.

Related

WM5 ROMfiles dumps [files, modules and registry]

Hello.
History:
My Qtek9090 running WM5 has good CPU, fast graphics and very, very slow filesystem. I'm looking for something, may be for fatfsd.dll extracted from another PDA. And I cann't find it
There exists very handy utility WM5 Files Dumper [thanks buzz_lightyear ]
I think it is a good idea to upload dumps of all files from our PDA's. It would be a good source of information and source of code bricks to cook patches and updates.
Such a dump should contains all files and modules [extracted both from bootloader and OS] and full dump of registry. It should be as clean as possible - just after hard reset, before entering PIN, before adding any contacts and any patches.
Tommorow I will try to upload WM_5_03_02_WWE_built_1337_42_BlueAngel_by_mamaich.zip.
And again - thanks to our master hackers
I'm looking for something, may be for fatfsd.dll extracted from another PDA. And I cann't find it
Click to expand...
Click to collapse
And even if you'll find it - it would not work on your device. It is always XIP.
And it would not speedup your device - it has a slow ROM.
mamaich said:
/me said:
]I'm looking for something, may be for fatfsd.dll extracted from another PDA. And I cann't find it
Click to expand...
Click to collapse
And even if you'll find it - it would not work on your device. It is always XIP.
Click to expand...
Click to collapse
Probably you are right I'm a lame, but I afraid, that it is true.
But: as I understand: XIP means "eXecute In Place". Dll's as modules are executed from slow ROM [and there is no shadow RAM] [and there is no way to cache them]. Dll's as files are loaded into RAM, and then executed. Correct me, if its not true.
We have plenty of RAM, so [probably] it is possible to load a lot of dll's into RAM instead executing them from [slow] ROM.
Dlls created with "WM5 Files Dumper" - looks good. I would have to analyze them several times, I would have to ask master hackers is it true, but I would try to load them into RAM.
mamaich said:
/me said:
I'm looking for something, may be for fatfsd.dll extracted from another PDA. And I cann't find it
Click to expand...
Click to collapse
And it would not speedup your device - it has a slow ROM.
Click to expand...
Click to collapse
Yes, of course.
But SPB benchmark told me:
Reading files from \somewhere is 4 times slower then WM2003. It is a good value.
Write files into \somewhere is 6 times slower then WM2003. It is also a good value.
But:
Copy files [OS level] is two times faster than read them and write back. It is not good value.
Retrieve filenames from huge directory is 10-12 times slower, than WM2003. It is also not a good value [it should be comparable to reading files, ie. 4 time slower]
There are two ways:
1. there is something wrong within fatfsd.dll,
2. overhead of executing fatfsd in place is not acceptable,
3. my benchmarks are wrong [I have not enough time to benchmark filesystem without cache
/me said:
Tommorow I will try to upload WM_5_03_02_WWE_built_1337_42_BlueAngel_by_mamaich.zip.
Click to expand...
Click to collapse
It is here: ftp://xda:[email protected]_WWE_built_1337_42_BlueAngel_by_mamaich.zip
If you think it is a good idea to share WM5 code bricks, upload your your clean dump into
ftp://xda:[email protected]/Uploads/RomFiles_dumps
UserName and Password is here: http://wiki.xda-developers.com/index.php?pagename=BA_FTP_Site search for "xdaupload".
baniaczek said:
But: as I understand: XIP means "eXecute In Place". Dll's as modules are executed from slow ROM [and there is no shadow RAM] [and there is no way to cache them]. Dll's as files are loaded into RAM, and then executed. Correct me, if its not true.
Click to expand...
Click to collapse
There are 3 types of DLLs used on WM5. First type - normal files, they are loaded into RAM, fixups are processed, etc. They are slow to load (due to fixup processing), but would execute from RAM. Second type - XIP, which are executed directly from ROM and would work slowly. In BA this set of files is executed directly from ROM:
Code:
device.exe
filesys.exe
nk.exe
busenum.dll
cecompr.dll
ceddk.dll
certmod.dll
coredll.dll
crypt32.dll
devmgr.dll
diskcache.dll
fatfsd.dll
fatutil.dll
fsdmgr.dll
fsreplxfilt.dll
hd.dll
imgfs.dll
msflash.dll
mspart.dll
osaxst0.dll
pm.dll
regenum.dll
relfsd.dll
It is much less than was in WM2003.
And WM5 added a new filesystem - IMGFS. It contains compressed modules split to sections, but they are fixed to specific addresses in RAM, they are decompressed to these constant areas and executed from RAM. They are similar to XIP as they also don't contain relocations, but would work fast. I don;t know the correct termin for this type of files.
To replace files in XIP section you'll need this tool - http://forum.xda-developers.com/viewtopic.php?t=33321
if you overwrite any of files I've wrote here by a CAB file or other method without modifying ROM - their old versions would be used instead because they are loaded much earlier than all filesystem drivers.
Thanks mamaich
Registry Question
thanks for the files baniaczek!
does anyone know which file or how the other OS registry entries (the ones not in the boot.hv) get created? There are so many more in a full registry.
thanks!
P.S. thanks mamaich for the great tools!
Re: Registry Question
OS imports *.RGU files on hard reset, and it also reads mxip_*_*.provxml files that also can setup registry items. On Universal and similar devices registry can be set by CAB files in extended ROM.
If you add a new RGU file to OS image it would not be processed. Maybe they should have DSM file with the same name, or be mentioned in [HKEY_LOCAL_MACHINE\System\ObjectStore\RegistryUpdate] key or in packages.sof. I don't know. I always add keys to default.hv/user.hv or edit existing RGU files.

Help for XIP building

Hi all,
I'm an owner of FSC T830 Loox...
With the great help of bepe and mamaich I'm trying to cook my own rom... (thx guys, really!)
At the moment replacing even one module makes the device not to boot.
The problem is now upgrading the rom from aku 2.x to 3.x
As mamaich says newer AKUs have added new functions to coredll, therefore I need to port the XIP section...
I need help on this case:
I succesfully dump the XIP of my ROM
dump -o 0x00250000 myrom.rom xip.bin
dumprom -5 xip.bin -d xip
The question is: how can I port the XIP section from a newer AKU?
Thanks for all your valuable helps!
hi turchino,
do you find a solution for flash a loox t to a newer os version?
bg joy
Hi!
I'm also trying to port the xip section from a newer AKU to the T830.
It seems that none of the current tools is working correctly with that rom. Rommaster isn't working at all. Dumpromx can extract files, but not replace any (e.g. replacing a bigger file with a smaller ->not enough space...)
I've tried to manually replace coredll.dll in the t830 xip section with the newer one but it didn't want to boot. The strange thing is that t830's coredll.dll is much bigger than one from AKU 3.5.2. Any ideas about that? (maybe compression?)
I've also noticed one realaddr of a .pdata section from nk.exe is pointing out of the xip section?! (psize:00000000, dataptr:00000000)?
Also relocating a completely AKU 3.5.2 xip section to t830's base address and changing boot.hv isn't booting.
Any ideas how to get that running?
hey. bepe's xipport is designed for dealing with WM5/WM6 xip's.
with dumpromx you would need to increase the image file size by adding 00 bytes at its end before attempting to add anything. be careful, if the xip section grows too large then it may not fit in the partition in your nand flash....
also i'm not sure if it supports wm5/wm6 xip editing or just ce 4.x/wm2003/ce3.
rommaster is too buggy dont even try that one i think...
manual replacing isn't too tricky if you know what you're doing.... you need to know about PE header stuff. how did you try to replace it?
also, the new coredll should have the same base address as the original one or one that isn't conflicting with anything else.
did you make sure about that?
did you also edit romheader properly - because if this new coredll was larger than the original one the image is larger for sure and romheader needs editing.
don't forget about compression issues either. maybe that's why the original one is much bigger. but i would need to see the coredll's in question
anyway it is possible to do a coredll replace manually (did that before), no worries. but bepe's tool might make it easier
you say: "I've also noticed one realaddr of a .pdata section from nk.exe is pointing out of the xip section?! (psize:00000000, dataptr:00000000)?"
if psize is 0, then the .pdata section isn't really initialized data. it's a zero sized section and will only be existing when the loader loads the executable into ram.
but it sounds kind of strange to have a .pdata with 0 size, which file had this section?
edit: ok i see you meant nk.exe heheh. that's fine. it usually does have a zero sized section
you say: "Also relocating a completely AKU 3.5.2 xip section to t830's base address and changing boot.hv isn't booting."
how did you do the relocating?
xipport was the exactly the tool I was looking for. After a few modifications "realloc P" of the unmodified xip gave me exactly the same map.txt as the original t830 xip map.txt. After exchanging all kernel files (except hd.dll and osaxst0.dll which were needed to keep another oem file in the same location as it was before), reallocing and changing the header address in nk.exe it still isn't booting (it runs nk.exe but gets stuck somewhere in there). Maybe you can have a look at the whole thing (download here, with modified xipport)
As for the coredll, it turned out that dumprom missed a section.
I did the relocation by writing a little app which runs through all pointers and changes them, but this is also possible by editing romheader.txt from xipport.
ok I've changed the other dlls too (had the same size), but it still wont boot. Is there a kernelflag which I can set to get debug messages on the screen? Or do you know if the nandflash driver trueffs.dll from AKU2 is compatible with AKU3?
hey. sorry for the delay.
did you solve the problem yet?
if not, i'm going to check it for you soon.
about coredll. OK but how do you mean dumprom missed a section? i've never heard that before about it.
relocation: yeah, romheader.txt is the trick there. but, must be a nice app. i'll check it out (i see it's in the zip)
edit: OK i took a very quick look (i need to go now). the xips you uploaded have completely different romheaders and rom mappings (0x88xxxxx vs 0x80xxxxxx). what you said about relocation sounded like you already fixed that, but why did you upload this old version then? or did you upload original T830 and original AKU 3.5 from another device? i'd like to see your xip (that doesn't boot).
p.s.: did you make sure the hard coded romheader pointer in the kernel matches the romheader pointer/location in your xip ?
"edit: OK i took a very quick look (i need to go now). the xips you uploaded have completely different romheaders and rom mappings (0x88xxxxx vs 0x80xxxxxx). what you said about relocation sounded like you already fixed that, but why did you upload this old version then? or did you upload original T830 and original AKU 3.5 from another device? i'd like to see your xip (that doesn't boot)."
The xip in "xipport" is the modified t830 xip that doesn't boot. (btw. xip.bin in that folder is the original t830 xip). And the xip in "xipport aku3.5.2" is the xip I want to port to the t830.
The only success I had to now was getting the original wm5 aku 2.3 rom to run with the aku 3.5.2 coredll.dll. Is there anything else I have to do after I have replaced the t830 sys folder with an aku3.5.2 folder and building the reg/imgfs? Or does the kernel want to have some files at a specified address?
"p.s.: did you make sure the hard coded romheader pointer in the kernel matches the romheader pointer/location in your xip ?"
yep, the kernel always gives a me message when it has found the romheader and continues booting. Therefore I always know when I missed something
hey.
OK that sounds more clear now about which xip is which!
i'll look at it again soon.
until then: did you verify the copyentries are all OK? xipport sometimes has a silly bug regarding them.
easiest is to just delete hd.dll and osaxstxxxxx.dll - they are the ones that require copyentries apart from kernel. (kernel copyentry isnt screwed up by xipport anyway.)
but, they are not needed for a booting kernel, just debug stuff afaik. so deleting is easy..
btw, even if the copyentries are OK, using the wrong hd.dll/osaxstxxxx.dll will make the xip unbootable.
also pay attention to map.txt see if the base addresses overlap or not (usually not but worth checking), also if .data base addresses (the 0x01Fxxxxx ones) have not been changed. they should not be changed. another xipport bug sometimes.
new--->
update: i looked at your xip now.. none of the above seem to apply. i'll leave that stuff there though.
last thing i can think of is try editing physlast in romheader to point to last actually used byte in xip.. that shouldn't matter but who knows
can you tell me how far does your system boot. maybe the xip is fine and your IMGFS part is wrong. check for module overlaps.
what is last message you get from your kernel?
and, to answer your question about kernel wanting to have files at specified addresses. well, the kernel regions have to stay at the original addresses in the xip, except for the region that is copied out and for the discardable last region (same for the debug crap dlls)
Core_Z said:
"
The only success I had to now was getting the original wm5 aku 2.3 rom to run with the aku 3.5.2 coredll.dll. Is there anything else I have to do after I have replaced the t830 sys folder with an aku3.5.2 folder and building the reg/imgfs? Or does the kernel want to have some files at a specified address?
Click to expand...
Click to collapse
Hi Core_Z,
I'm trying to accomplish the same thing for our XDA Atom. I was wondering if you could describe how you achieve above. I, too, would like to replace the coredll.dll in our old AKU2.2 from the AKU3.X
These are the steps, I made using the modified XIPport (with realloc function):
1. coredll.dll comes from XIP of Atom Life which has same base address
2. replaced the modules and corresponding txt file into ATOM AKU2.2
3. new core is larger than the old one; so, I increase the ROMHDR.txt physlast to accommodate it.
4. realloc / write new maps.
5. move the rom header pointer in the nk.exe S000 module to the new one
6. built xip_out.bin
7. wrote the new bin to ROM image file
8. flash the device.
It won't boot. Did I miss anything?
cmonex said:
easiest is to just delete hd.dll and osaxstxxxxx.dll - they are the ones that require copyentries apart from kernel. (kernel copyentry isnt screwed up by xipport anyway.)
but, they are not needed for a booting kernel, just debug stuff afaik. so deleting is easy..
btw, even if the copyentries are OK, using the wrong hd.dll/osaxstxxxx.dll will make the xip unbootable.
Click to expand...
Click to collapse
Hello cmonex / core_z,
I followed this by removing the files you mentioned above. So, my current AKU2.2 XIP has the new coredll.dll from AKU3.X boots now. This means, that hd.dll / osaxstxxxx.dll is preventing my revised XIP to boot.
Question is: How do we restore this modules correctly?
Jiggs
I have another concern...
I have utilized the new XIP with new AKU3.X \SYS files, and rebuilt the ROM using the Scoter Kitchen. In the IMGFS section there is .ROM module wherein the ROM header is also described. However, there is one entry which is not clear to me... which is the e32_imageflags
The old AKU2.2 uses 0x00001e01, the new AKU3.3 uses 0x00002801. If I use the new values, the SDCard driver will not be loaded. If I use the old value, it will be loaded. What does this mean?
Now, because of this, after I build the ROM each time, I have to manually hex edit these values from 28 to 1e. Why? because not all entries of 28 has to be converted to 1e.
check this out Jiggs,
http://www.pxdxa.com/read.php?tid=40125&fpage=1&toread=&page=1
jiggs said:
Hello cmonex / core_z,
I followed this by removing the files you mentioned above. So, my current AKU2.2 XIP has the new coredll.dll from AKU3.X boots now. This means, that hd.dll / osaxstxxxx.dll is preventing my revised XIP to boot.
Question is: How do we restore this modules correctly?
Jiggs
Click to expand...
Click to collapse
hey! i'm back if you still need help: you dont need these dlls, they just take up space. if you really want them then you can do one of two things:
1) use the original dlls from the device's original xip
OR
2) rebase them but this can be more difficult than with ordinary dlls.
(i did not try either, because those dlls are just for debugging anyway.)
jiggs said:
I have another concern...
I have utilized the new XIP with new AKU3.X \SYS files, and rebuilt the ROM using the Scoter Kitchen. In the IMGFS section there is .ROM module wherein the ROM header is also described. However, there is one entry which is not clear to me... which is the e32_imageflags
The old AKU2.2 uses 0x00001e01, the new AKU3.3 uses 0x00002801. If I use the new values, the SDCard driver will not be loaded. If I use the old value, it will be loaded. What does this mean?
Now, because of this, after I build the ROM each time, I have to manually hex edit these values from 28 to 1e. Why? because not all entries of 28 has to be converted to 1e.
Click to expand...
Click to collapse
those values arent really e32_imageflags... i dunno why the imageinfo txt is created in that way for .ROM and .VM
thats to do with the imgfs memory space. probably the SD driver's image base is lower than the new imgfs memory space start address (which is what you were seeing)
to confirm that check the base address (e32 vbase) in imageinfo.txt for the sd dll.
cmonex said:
those values arent really e32_imageflags... i dunno why the imageinfo txt is created in that way for .ROM and .VM
thats to do with the imgfs memory space. probably the SD driver's image base is lower than the new imgfs memory space start address (which is what you were seeing)
to confirm that check the base address (e32 vbase) in imageinfo.txt for the sd dll.
Click to expand...
Click to collapse
Thanks for the info! I'll look at this later.
Here goes nothing: I've been trying to understand the whole porting process but no one ever posts on my threads, so I figured I'd post on this one since it's about the same thing. I'm reading the thread and I'm following... most... ok, half of it. I thought the process of porting the XIP and the SYS was as simple as well... this. If someone wants to correct me, by all means, please do so.

NEW_visual multilang/multidevice/multibuild kitchen for last bepe rom-tools!!V.12.6.3

Hello everyone, put my old kitchen, a little 'restored.
IMPORTANT: To build a good rom, you 1st have to dump an original rom for your preferred device, to have all files needed to build it after (header.xml, splash.xml ecc...)
List of Features:
Check rom version for exchange for new payloads (tested on hd2 rom 3.14 and it worked!), some minor adjustments, the editor, RGU, app.ref etc ..., now always starts as an administrator.
to test it, dump an original rom and then have fun customizing!
New style, new tricks at runtime, new tools for dumping and building !!!!! (Libnb.dll!)
Fixed bugs on inclusion radio.nb and splash.nb !!!!!
Import into .\ext, old-style packages, OEMpack, EXTPack (and also from Cab files
in the context menu is also remodule package (from files to module!) and re-file package (from modules to files!); other bugs solved!
Rapi connection problem solved with device in activesync and remove ring tones, images by default!:
Feature on delete files (ringtones, images (wallpapers) and other images (avatars) from a folder in oem \ langdevice \ .....)
Features to all feedback packages, from kitchen and easily editable text file (packages_usefull_infos.txt) in the root of the kitchen.
Can also import "rebuild dumped roms", from DFT dumped, OSkitchen kitchens and RAW Dumped roms!
Support to run the cabs charged by hands at 1st boot after flash!
Save & restore all tweaks in all the tabs when save/load a rom!
Added info exchange Rom language and Rom on the first use of header.xml libnb.dll nbh file to create!
Added new feature to force the run provxmls in Rom
Now when a dump .NBH, the new build is imported, in your EVK in use!
.\TOOLS folder
Inside the folder .\tools, you will find a new folder: registry_tweaks. The .\registry_tweaks folder includes some sample files. Replace and/or add .REG and .PROVXML files, name the files properly and the .REG files will be added as registry entries, the .PROVXML will be renamed as ****. ZZZZ_ provxml, as files are added. provxml, precisely in the rom and run when you first start to customize the rom as you like
The kitche includes two context menus for adding new .REG or .PROVXML files, edit them or delete if unused one!
Also includes new versions of DSM_editor and implantxip (no fake virus info about, someone in previous version, not me, inserted automatic "admin execution" with a kind of utility, into my implantxip.exe!, and maybe that "trick", was detect as fake virus, now, with my original updated version of implantxip.exe, my kaspersky doesn't find anything!!!!!)
Note
DSM_editor and implantxip (no fake virus info about, someone in previous version, not me, inserted automatic "admin execution" with a kind of utility, into my implnatxip.exe!, and maybe that "trick", was detect as fake virus, now, with my original updated version of implantxip.exe, my kaspersky doesn't find anything!!!!!)
System Requirements.
.NET FRAMEWORK 4.0 to execute new version of visualkitchen and new tools inside (dsm_editor and implantxip!)
Version History
12.2.9: compatible with x64 system machines, was libnb.dll,not was dll, was my exe, only I had to force x86 execution, also on x64 machines, that version was only for x86 machine, now at runtime, it is recreated, if is x64, compatible version is putted into .\tools folder, else a x86 compatible version will be copyed into .\tools folder!!!
12.3.7: package creator added as optiona choice when wanna import a cab into packages!
12.3.7: Added option to turn tricks "reg" to be placed in rom that will be in a good provxml 'forced to be the last to be executed, overriding any settings from other taxes proxml !!!!!
12.3.7: when forced execution provxml, reg cab, the sequence is .PROVXML in Rom, .PROVXML uploaded by you, proxml derived from the reg trick and finally the cabs
12.3.7: added possibility to add and execute a .tsk file into ROM!!!
12.3.9: bug solved on provxml creation when found "delete regkey" or "delete regvalues"
12.4.3: bug solved on save and load roms, new icon for exe!
12.4.3: "reloaded" update pagepool options on new implantxip.exe
12.4.4: solved problems with implantxip value as default
12.4.5: inserted possibility to load, edit and delete mortscript scripts into rom to run (config.txt will be populated with selected scripts) at 1st boot!
12.4.8: when you choice a bmp to became a splash screen, the kitchen automatically check if the format and size is good, if not, automatically modifyes the image, makeing before a backup of it, and adjusts it according to the file "splash.xml"
(I suggest to redump an original rom for your device, becouse there are a lot of libnb.dll, and I've changed in times, so maybe splash.xml, could be different in format!)
12.5.0: updated package_creator, see and edit into \tools folder user_folders.txt to add your own modded folders into start menu for lnk files extracted by cab files; now, all manila-language files will be stored automatically into relative 04XX subfolders, so only real lang-manila files needed will be stored into rom, and before build, cfc_gui.exe will be executed to compress and patch manila, if you want, only have to click on "tools<>patch manila", on cfc_gui.....
see U!
12.5.2: new built of implantxip, and some little little improvements on erviuskitchen.exe!
12.5.3: Added Visual advices for packages that have to be recmode or reversemode!
12.5.6: re-file or re-module packages that you insert into comments like "remodule, or re-file! (only id relative poackage is enabled while build rom!)
solved little bug on packages colouring (same color on "false/true" packages (enabled/disabled!))
12.5.8: solved some trubbles with LZX Compression!
12.6.0: more compatibility with new xipporterex to change rom version on nk.exe into 3.14 TMOUS ROMS! and now recontruct better alla lang files/folders for manila!!!!
12.6.2: Full compatibility with all Language codecs to recontruct well all lang files/folders for manila, and also all MUIS files will be stored in relative language SubFolders!!!
12.6.3: only exe, now remove also all *.cpr files with resolution different thankn used by your device, and store all of them into :\moved\cpr_moved\namepackage\resolution\...
Download Link
http://www.4shared.com/file/0Nv3ETFr/VisualKitchen_12_5_8.html
Updated only exe! (12.6.3_rev2)
http://www.4shared.com/file/9yFFf6YA/erviuskitchen_12_6_3_only_exe_.html
Quick Thread Link
Discussion on Latest kitchen start here: http://forum.xda-developers.com/showpost.php?p=9500214&postcount=2484
Reserved for future expansion
OLD visual multilang/multidevice/multibuild kitchen for last bepe rom-tools!! V1.8.2
Hi, this is a visual multilang kitchen based on last bepe's tools to build a rom.
Last Version: 1.8.1 aka 10.8.1 (1.8.1)
Date: 28.07.2009
Download Links: 1.8.1, 1.8.2
new_visualkitchen_v_1_8_1_only_exe_+_Tools_folder.rar 7MB
erviuskitchen_1_8_2_fixed.rar 523 KB
Latest version of Ervius Visual Kitchen tools. New visualkitchen with all dsm/rgu recreations/updater to have complete old_style roms ready to use .pkg updater!!!!! The KITCHEN has been updated to include logging; (see build_log.txt into root of kitchen after built a rom!!!)
Note: Also attached to this post as <filename>.RAR.ZIP. After download, remove (.ZIP) before UnRAR'ing.
Changes In This Release:
XIPPORTEREX:
Added compatibility with new 2.09 kn.exe to r/w correctly date/version on ROM!
Added capability to find version/release_date on new wm 6.5 nk.exe!!!
DUMP Process:
Now if dump a stocked rom, in EXT packages it leave relative dsm/rgu, create a global packages.ini (with all dsms infos inside!) and for each EXT Package, create "package.ini" file, with all infos about relative dsm,
All shadows, depepndencies, certificate needed in .\tools folder, it populate "dependencies" and "certificates" folder with all dsms and certs files found during dump process, used to insert/edit all dsms into rom with dsm_editor
OTHER button:
Provides for selection of ULDR reduction, PagePool sizing, disable Certificate
Verification, etc. Settings are stored in: ERVIUSKITCHEN.INI.
Editor:
Addresses issues when using "editor".
Compilation:
Solved bug on 6.5 reak aku roms
Addresses issues when searching structures and duplicate files during compilation.
Added possibility to change max number of modules in an hybrid ROM (nk.exe from 6.1 kernel and XIP From 6.5 kernel) the value is saved on that rom configuration, so every rom loaded has his max-modules value setted
Extraction:
Addresses issues when extracting contents of some device .NBH/.NB files.
Compatibility:
Addresses unsupported Language code (ex: 040C).
Added compatibility with old style rom (IMGFS & XIP).
All modules can be reallocked.
DSM processing; all dsm and rgu are updated/created -only with old_style roms creation! (required for cab.pkg updater support.)
In old style ROM mode; all is executed automatically, XIP porting is automated:***
- Correct realtive device's .VM must be copied to .\OEM\<devicename>\.VM
- Correct XIP.BIN must be copied to .\ROM\SHARED\<buildnum>\
Post-Download Instructions:
Extract the contents of kitchen archive to the root of your hard drive (ex: C:\XDA) to avoid path length errors.
Backup existing kitchen files. Files/Folders to backup are:
- Files in root of kitchen (ex: C:\XDA\My_Visual_Kitchen)
- .\TOOLS folder
Remove (delete) ERVIUSPACKAGES from TOOLS folder (ex: C:\XDA\My_Visual_Kitchen\TOOLS\ERVIUSPACKAGES).
Copy the contents of the extracted archive to the kitchen (ex: C:\XDA\My_Visual_Kitchen\) folder.
----------------------------------------------------------------------------------------------------------------------------------
Implantxip.exe (Pagepool Patcher/changer!)
Download Link: implantxip.rar 166 KB
implanxip can works with:
all kind of payload file, and more:
if a payload has ULDR removed (ULDR part not present!), it can work on it and reallign well some bytes into MBR
you can also remove completelly the uldr section (you could save some more space into payload in this way! (be attenction: in some payloads this operation causes non-booting roms!!! make a backkup of original
payload before use: "-uldr tryremove parameter!!!)
for help about: in prompt command write: implantxip /h )
Note: Also attached to this post as <filename>.ZIP.
----------------------------------------------------------------------------------------------------------------------------------
EXT Packages Rebuilder
To build EXT_Packages from old style ones; use the tool at your own risk!!! Fixed lost modules into new package created, now all modules are into .\files subfolder after ext package is built.
Download Links:
EXT_PAckages_rebuilder+Structurer_all_lang_enabled_v3.zip 8 KB
EXT_PAckages_rebuilder_modules_fixed.rar 9KB
Note: Also attached to this post as <filename>.ZIP.
Excellent work as always ervius.
Grazie mille.
^.^
That might come in handy for some ppl.
For my part, I'm used to command line as my primary WS is linux based. As a matter of fact, i prefer it.
@Ervius: Do you have any experience in coding for unix/linux?
At some point, pof coded a htc-flasher kitchen, but it was mostly wrappers for the windows programs.
Most of the tools we use for ROM building have their source code available, so...
Anyways, I'm off.
A.
GREAT!!
I'm testing it in my kitchen just today. I'm looks fantastic. Thanks!!.
If now you can integrate your XIP porting tool then.....
Regards,
elparra72 said:
I'm testing it in my kitchen just today. I'm looks fantastic. Thanks!!.
If now you can integrate your XIP porting tool then.....
Regards,
Click to expand...
Click to collapse
this is a alpha version, and stucks on platformrebuilder.exe execution, , but when I have some time more maybe insert all inside, xipporterex and other tools of mine!
can you post it on rapidshare please, megaupload is a menace. thanks.
In any case this is a great work!!.
I've been checking folders structure and adapte it to Spanish (or another language) is really easy. I'm preparing a new ROM, but as soon as I post it in a Spanish site, I'm going to 'play' with this application and l'll inform you about troubles. Thanks !!
On the other hand (I know this is not the best post to speak about), Your active sync killer is not working fine in 2.xx ROMs. Are you preparing a new one? Do you have a solution?. Thank a lot in advance.
Kind regards!!!
El Parra72
elparra72 said:
In any case this is a great work!!.
I've been checking folders structure and adapte it to Spanish (or another language) is really easy. I'm preparing a new ROM, but as soon as I post it in a Spanish site, I'm going to 'play' with this application and l'll inform you about troubles. Thanks !!
On the other hand (I know this is not the best post to speak about), Your active sync killer is not working fine in 2.xx ROMs. Are you preparing a new one? Do you have a solution?. Thank a lot in advance.
Kind regards!!!
El Parra72
Click to expand...
Click to collapse
you can adapt, but add other languages, near 0409\ and 0410 folders you can add 04xx\ or o8xx\ all you want, the kitchen at start recognizes how many into, and show all into combobox, you only have to choice in witch language want build the rom
for activesync killer, what you refer to, mine or the original by eliasweb???
bye!
I've detected this trouble in both. I've test them in several ROMS based on 'oficial' v.2.xx. I'm going to look for your post and follow this trouble there. Thanks.
..................
this looks better and better. I dearly hope that it will come with some kind of manual.. anything... just to know what to press and which button does what...
Thanks!
mjaxa said:
this looks better and better. I dearly hope that it will come with some kind of manual.. anything... just to know what to press and which button does what...
Thanks!
Click to expand...
Click to collapse
visual kitchen version beta1 released at 1st post, and see all ROM\ structures.....
Hi ervius, thanks for your tool.
I was trying beta1.
I have a couple of questions:
i've tried to import a package (generated with package creator) , I browse to the folder containing it, but after the right-click-> import package, it doesn't appear in the list of the applications.
I see it has been copied to the EXT folder but nothing more.
Also importing a package resets all the choices I made on what packages to include/exclude
If you need more details just ask
Thanks
A.
very nice, I will test this this week, and see if i notice anything. once again thank you
andreapappy said:
Hi ervius, thanks for your tool.
I was trying beta1.
I have a couple of questions:
i've tried to import a package (generated with package creator) , I browse to the folder containing it, but after the right-click-> import package, it doesn't appear in the list of the applications.
I see it has been copied to the EXT folder but nothing more.
Also importing a package resets all the choices I made on what packages to include/exclude
If you need more details just ask
Thanks
A.
Click to expand...
Click to collapse
well, well, so, some bugs are detected...
continue ti test it
Hi
I dump a rom (use:1s streps of Surface Kitchen v1.01), now i have "sys", "oem", and "rom" folders. Were i put this folders in your kitchen?
first steps!!!
ruipgouveia said:
Hi
I dump a rom (use:1s streps of Surface Kitchen v1.01), now i have "sys", "oem", and "rom" folders. Were i put this folders in your kitchen?
first steps!!!
Click to expand...
Click to collapse
Check the screenshots. You'll see the directory structure there.
ruipgouveia said:
Hi
I dump a rom (use:1s streps of Surface Kitchen v1.01), now i have "sys", "oem", and "rom" folders. Were i put this folders in your kitchen?
first steps!!!
Click to expand...
Click to collapse
use bepe's packagebuilder.exe on a dumped rom, after use my EXT_PAckages_rebuilder+Structures_rebuilder (attached here!) on dumped rom, finally you'll have all rom structures ready to be koocked by my visual kitchen!!!
bye!!!
P.S.: at first post "beta 2" is ready (some bugs solved!)

[Kitchen][May 5 23563 WWE]Kitchen Tool for Ipaq 61x/91x

I finally found a way to overcome space issue that cause BuildIMGFS throw error when you put too many files in the ROM using captaintrip's kitchen
The repack used imgfsfromdump instead of buildimgfs which avoid the size issue and in additon can reduce the final size of flash.dio
The usage are the same with captaintrip's kitchen, I only rename the bat to "iPAQ61x_91x flex kitchen" since this works for both 61x and 91x
You will need to rename flash.dio to TEMPLATE.ROM and put it under ROM folder, when you run iPAQ61x_91x flex kitchen.bat it will also prompt you,follow instruction
keep in mind if you use flex kitchen to build your rom won't be able to extract it properly, anyone want to edit your room will need your kitchen instead. If you don't have buildimgfs issue you may want to stick with the old way of building rom
use iPAQ614c Rom Kitchen.bat if you want to build your rom in old way
Updated July 7th: attached new cecompr_nt.dll that fixed memory leak, necessary for LZX compression, replace the one under TOOLS folder
Download (v0.3):
mediafire
Updated: Dec 9th ,09
v4 Beta:
-improve ability to decompose ROM, however the packages in SYS and OEM portion is usually mix up so you have to manually move them to correct folder after extraction
Download:
21501 kitchen
21215 kitchen
Rom folder for w version for 21215 (Rename it to ROM if you want to build w version)
21232 kitchen
21234 kitchen
21725 kitchen - removed due to too many issue, use 21728 kitchen instead
21728 WWE Kitchen
21728 ITA Kitchen
21728 GER Kitchen
21728 FRA Kitchen
21812 WWE Kitchen
21815 WWE Kitchen
23001 WWE Kitchen
23001 CHT Kitchen
23004 WWE Kitchen
21921 WWE Kitchen
23009 Hybrid WWE Kitchen
23016 18.1 WWE Kitchen
21854 WWE Kitchen
23047 WWE Kitchen
23052 WWE Kitchen
21867 WWE Manila 24M2 Kitchen
21869 WWE Kitchen
21869 WWE Manila 25M Kitchen
23088 WWE Kitchen
28002 WWE Kitchen
28011 WWE Kitchen Beta 29
28011 WWE Beta 29_2 Kitchen - kitchen of Beta 29.2
note: you can replace WinCENLS_Lang_0404 with WinNLS_WWE (from other rom kitchen) to save ROM space
-arcsoft streaming player & codec can be removed if you don't need them
23515 xip (use with 23518 SYS)
23518 CHT Kitchen (LZX)
23518 WWE kitchen
21888 WWE Kitchen
23529 WWE Kitchen
28230 WWE Kitchen
23544 WWE Kitchen
23563 WWE Kitchen
91x 28011 WWE Kitchen -not tested since i don't own 91x device so use as your own risk, use dnw in the worst case
91x 23518(23515)/21888 untested xip
Official WM 6.5 Tookit/SDK/Emulator: here
FCC Information for 610c
FCC information for 910c
----------------------------------
Structure Overview
XIP is the kernel, this is also what you see those 2xxxx build mean, the whole term is called "Execute in Place", i.e execute files in rom directly without copying to ram, this is for boot process, anything wrong mean you will stuck in clean boot
OEM is for device/manufacturer specific program/drivers
SYS is for Windows Mobile system files
A package is a folder with at least a dsm file,all other files are extra
-rgu file is just reg file which you can use notepad to edit
-default all files goto Windows directory (obviously exclude rgu file)
-initflashfiles.dat/txt is a text file with instruction to move files to different directory
Files vs Modules
Modules are folder with ".dll" in their names. Inside the folder there is imageinfo.bin, S00X where x is a digit. When they are cooked into ROM they will become dll with proper relocation (done by WMReloc/G'Reloc). Supposedly being modules would make them load faster(because no need to relocate at runtime?) and some dlls must be in modules or else some program will not work properly. However there are also cases that modules must be converted to files.
Technically you can put everything in SYS since at the end buildOS will merge everything together but it is easier to manage if you follow the OEM/SYS structure
Common Issues TroubleShooting
hang on 1st boot screen (HP Logo)
-XIP porting issue, .rom , .vm file not correct .etc
hang on 2nd boot screen (WM splash screen)
-module did not relocate properly (did you run WMReloc or GReloc?)
-XIP (lower possibility, i don't think it affect..just in case you should keep in mind)
hang/crash on today screen
-software conflict/missing .etc , check your SYS/OEM files
Endless HP update/customization engine
-happens because of different model uses different customization engine, using one from other model/region will cause it to rerun every boot time, the only solution seem to prevent it to run from start by removing it from initflashfiles.dat. Convert all the fix into packages and integrate to the rom instead
installed SIP(virtual keyboard) cannot be switched
-use recmod (under tools folder) to convert all modules into files in browsingie folder
cannot compose new sms/email .etc
-replace redist_lang_[lang_code] folder with one that worked before
wifi cannot turn off after boot
-set HKLM/Comm/SDIO86861/Wireless to 1
XIP
To insert ported xip, run this command: osnbtool -c TEMPLATE.ROM 1 xip_out.bin
where xip_out.bin is your new XIP file
xip porting tutorial can be found all over the place in xda/ppcgeek .etc
Also make sure in ROM folder, the boot.rgu is from your device xip (the kitchen I provided only contains 61x xip so to cook for 91x you need to put 91x boot.rgu instead)
Phone Radio
rilgsm.dll is needed but usually it is in OEM folder
PagePool
Overview: xda wiki
edit using pagepool_by_wlodixon under flash folder, copy your flash.dio and run the appropriate cmd
The only exception is if the rom set pagepool to 0 (Dynamic PagePool), it won't able to recognize and you have to hex edit
hex edit the xip.bin at 0x000A75E4, change all 4 bytes to your desired value (all 0 for dynamic pagepool)
Convert cab to OEM
get package creator here
use it to open cab, then wince cab analyzer opened, choose extract folder icon, after close wince cab analyzer, you will be present with shortcut screen, do you things and hit done, finally hit complete package unless you want to change some option
Create simple cab for file/reg changes
get QuickCab
Xt9
corresponding lang files in OEMApp/OEMLang_#### where #### is the 4 digits lang ID
-[2letter langs code]hpd.ldb
-[2letter langs code]lbUN_xt9s/lsUn/.etc].kdb
-et9.SQR.[Language].bmp [Optional, some language like Polish/Portuguese just point to english bmp in registry]
-[a bunch of number/digit known as GUID].rgu (if you open it up you will find there is registry on xt9)
also under OEM\OEM_Lang_[Lang number]
-initflashfiles.dat (actually you can use notepad to open it and seacrh for ldb/kbd/bmp to see which lang files )
cooking different language
-you will need your language OEM folders from original HP rom
-your language wince.nls
-replace all language mui (e.g 0409=English) with your language mui
-some languages may added extra folders, be sure to copy them into SYS too
-sometime the hp customization/update will end up endless run in every start, in this case you will need to prevent it from running and integrate all updates into the ROM
OptionXML Addon
I have written this small .Net 3.5 App to generate option.xml for SYS packages which will allow you to select the common package and different language more easily without moving folders all the time, just unzip the zip to kitchen which will overwrite the existing batch file and put the exe under TOOLS folder.
To select/UnSelect a category in BuildOS, you can click on the Category group (e.g click on 0409 will select all 0409 packages in SYS), then click on one of the packages will select/unselect the whole group
Reserved for extra space in case
-------------Step by Step guide for xip porting-----------------------
Make sure you read this tutorial first
1. copy(either get it from kitchen or dump it using osnbtool) the existing xip_out.bin and rename it to xip.bin, open xipport, click dump xip.bin and you will get a OUT folder
2. choose write map then make packages , now rename this out folder to some other name
3. dump the new xip(from other device) using osnbtool, rename it to xip.bin & do the same as step 2 with xipport
4. now copy MSXIPKernel & MSXIPKernelLTK under Modules and Files folders from OUT folder(from step3) and overwrite to corresponding 61x OUT folder(from step1)
4.5 as said in the xda tutorial, remove hd.dll, osaxst0.dll folders and their corresponding text files under modules to avoid physical address overlap
5. use xipport to undo and then realloc and write maps. Then you check map files to make sure there is no !!!(memory address overlap) I recommend using XIP address tools to check for overlap, sometime you will get error when you realloc (key already exist .etc), use xip address tool and set work folder to OUT then you will see error on first dll addr which you have to fix all highlighted red cell(overlapped address). Note that to fix first dll addr address you have to highlight the cell, enter the new start address on the V address cell in bottom, click modify, then use mouse to highlight the 1A cell above, and change the D address cell to the same as V then click modify button(on the right of V cell). You should see the change in table then. For virtual base overlap you only need to modify V cell only
Note: first dll addr overlap will result error when you click realloc in xipport.
The goal is have no overlap as shown in MAP.txt. When there is no more overlap, use xipport to build xip_out.bin and then insert the xip into the dio file using osnbtool
Commands:
extract xip: osnbtool -d flash.dio 1 xip.bin
insert xip: osnbtool -c flash.dio 1 xip.bin
also make sure your ROM\boot.rgu is from your device xip
-----------------------------------
IPAQ 91x boot keys:
Clean bOOt - Voice Commander + OK + Reset
Download Image - Volume Down + OK + Reset
Calc Checksum - Volume Up + OK + Reset - disconnected, SD card out
RUU - Volume Up + OK + Reset - UsbConnected, SDcard out
SDloader - Volume Up + OK + Reset - USB disconnected,SDcard in SDloader
Modem_CAL - Voice COmmander + Volume Up + Reset
Diagnostics - Voice Commander + Volume Down + Reset
-------------------------------------
LZX Compression:
The default compression algorithm for ROM is XPR, if you must include lots of files that causes your resulting rom >80mb under XPR(81920kb - ROM Size limit for 61x, bigger than this the device won't boot), you need to use LZX compression. It reduces rom size by ~13% but with ~1-3% performance hit(from other post I read, I never verify the performance hit).
To use LZX compression, you need to replace the cecompr.dll folder in XIP Modules with the one attached in this post. Re-port the xip (realloc + write map + build xip_out.bin) and then use osnbtool to inject the xip inot TEMPLATE.ROM.
Then hex edit the imgfs_raw_data.bin in the rom kitchen, replace the first string "XPR" without quote you found with "LZX" without quote.
Make sure you have replace the cecompr_nt.dll under tools folder of the kitchen with the one I attached in 1st post to avoid memory leak
Now just build normally, you will notice the time to inject file will take much longer because of the compression
Is there any ROM kitchen tools for hp iPAQ h6365 WM2003?
Wow great kitchen. Thanks for sharing.
here, here! keyx you da man
One thing though - when you say this:
Phone Radio
if you are using SYS from other device, make sure you replace ril.dll and phone.dll from a working rom in phoneRedist or you will get a phone radio not installed which disable phone function
rilgsm.dll is also needed but usually it is in OEM folder
Click to expand...
Click to collapse
I'm not sure that is actually correct. I've been using ril.dll and phone.dll from all kinds of donor SYS; these are OS files that should be generic. It is only rilgsm.dll that is manufacturer-specific.
you are right, I corrected the post
I think I do anything wrong...
If I extract your ROM(WM 6.5 Beta 3.81) and put it together to a ROM again, it is 10MB smaller.....After extracting this, its 1MB smaller...
Question is, why?
Greets
chucknican
actually for unknown reason if you use my kitchen to build rom, you won't able to extract it properly...i am not sure why. But currently it is the only solution for me to overcome buildimgfs error
so the solution is that I use captaintrip's kitchen to extract and yours to build it together again?
I can't get this kitchen to build my ROM. The after WMReloc does the modules rebase, I get the following feedback...
Code:
Injecting files ...
Input file imgfs_raw_data.bin cannot be opened. Exiting.
In fact, when I watch the temp folder during this process, I see no imgfs_raw_data.bin at all. In your new script, I can't see where this file would come from anyway.
Help?
chucknican said:
so the solution is that I use captaintrip's kitchen to extract and yours to build it together again?
Click to expand...
Click to collapse
no in fact i will need to upload a kitchen as the result rom using my flex kitchen will not be extracted properly
benjaminries said:
I can't get this kitchen to build my ROM. The after WMReloc does the modules rebase, I get the following feedback...
Code:
Injecting files ...
Input file imgfs_raw_data.bin cannot be opened. Exiting.
In fact, when I watch the temp folder during this process, I see no imgfs_raw_data.bin at all. In your new script, I can't see where this file would come from anyway.
Help?
Click to expand...
Click to collapse
you have to run "prepare_imgfs flash.dio -nosplit" to get the imgfs_raw_data.bin first, this process is done when you extract a rom before but if you just directly use it to build a rom you need to manually run the command on a flash.dio first
Also keep in mind if you use flex kitchen your rom won't be able to extract properly, anyone want to edit your room will need your kitchen instead. If you don't have buildimgfs issue you may want to stick with the old way of building rom
keyx said:
no in fact i will need to upload a kitchen as the result rom using my flex kitchen will not be extracted properly
you have to run "prepare_imgfs flash.dio -nosplit" to get the imgfs_raw_data.bin first, this process is done when you extract a rom before but if you just directly use it to build a rom you need to manually run the command on a flash.dio first
Also keep in mind if you use flex kitchen your rom won't be able to extract properly, anyone want to edit your room will need your kitchen instead. If you don't have buildimgfs issue you may want to stick with the old way of building rom
Click to expand...
Click to collapse
So... these files go in the root folder? That's what works for me anyway. Hmm... I think this could be easily added to the script, if you ever have to release an update to the kitchen. Anyway, thanks.
21501 kitchen added on 1st post
EDITED: kitchen updated to detect missing of imgfs_raw_data.bin and extract it automatically, I also updated some tools versions
ADC and Ipaq Data Connect
Are both of these necessary? When both are installed the ADC seems to run first and configures a "Proxy Internet" Profile in the Connection Manager which lists all 3 possible connections for my data carrier, even though I can only use the internet2.voicestream.com with T-Mobile. Maybe I am not using this correctly, but once I removed the ADC, the ipaq data connection worked fine and I was able to connect to the internet without a problem. Is this all this app does, or is there another usage that I should leave it installed for?
Thank-you
you can remove ADC if you don't want it, i think it just help to setup data connections
Customization
Keyz
I have removed some of the OEMs from the kitchen, but am not sure that I modified the initflashfile.dat correctly,will you look at it for me and see (I highlighted what I have removed)? If I remove the entire last 3 lines that contain the Utility file the device does not reboot from sdlauncher when installing. When I leave the last line in it is very speedy to install and reboot, but I have the empty utility Folder in my programs folder! I also had tried to add the BSPropCab.cab to the OEM folder but cannot get it to install correctly. I saw that you had it installed in one of your previous roms along with the other 2 arc cabs. The arc cabs I can get to work, but I really dont want to put them in, just the bsprop. Is this possible?
In OEM I added Coreplayer, PdaNet, SKTools5, Live Search, Google Search and WM5torage1.9. I had to add Google Search in here because I could not get it to work by adding the original files back into the OEM App folder: In Systems I removed ADC, VOIP and One Note, replaced NETCF with NETCF3.5, and added Transcriber back in. I thought about removing WMWidgets, I use all SPB Software, but I dont understand all of its functions, I have Googled it and there really isnt alot out there about it. What I did find though makes me think Microsoft will add more function to it once the official 6.5 is officially released-So I will keep that. For me this is a very good ROM, you have done an excellent job with modifying the kitchen.
Thank-you
Sunday
Where do you test the new roms? In the device or in somekind of emulator?
gkleding said:
Keyz
I have removed some of the OEMs from the kitchen, but am not sure that I modified the initflashfile.dat correctly,will you look at it for me and see (I highlighted what I have removed)? If I remove the entire last 3 lines that contain the Utility file the device does not reboot from sdlauncher when installing. When I leave the last line in it is very speedy to install and reboot, but I have the empty utility Folder in my programs folder! I also had tried to add the BSPropCab.cab to the OEM folder but cannot get it to install correctly. I saw that you had it installed in one of your previous roms along with the other 2 arc cabs. The arc cabs I can get to work, but I really dont want to put them in, just the bsprop. Is this possible?
In OEM I added Coreplayer, PdaNet, SKTools5, Live Search, Google Search and WM5torage1.9. I had to add Google Search in here because I could not get it to work by adding the original files back into the OEM App folder: In Systems I removed ADC, VOIP and One Note, replaced NETCF with NETCF3.5, and added Transcriber back in. I thought about removing WMWidgets, I use all SPB Software, but I dont understand all of its functions, I have Googled it and there really isnt alot out there about it. What I did find though makes me think Microsoft will add more function to it once the official 6.5 is officially released-So I will keep that. For me this is a very good ROM, you have done an excellent job with modifying the kitchen.
Thank-you
Sunday
Click to expand...
Click to collapse
what do you mean by bsprop not installed correctly? if you convert it to OEM folder correctly it should work but if you leave the customization engine run on startup there is no point to preinstall bsprop since it will reinstall again from ipaq file store(unless you did not install the update before).
Also if you modify initflashfiles.dat i believe you should use hex editor to remove the FF FE header added by notepad.
Sometime when you flash a lot the device will act weird & does not reboot from flashing, you can try to clean boot it or reflash. I think you can remove all highlighted entries without issue. You may need to leave a blank line at the end of file though.
wmwidget is a widget engine that can run apps that use pie as a container/interface, for me it looks kinda like a shortcut to a webpage, msn weather/money .etc are the sample widget come with 6.5 for now. You can remove it if you don't use it.
SwimmerBoy said:
Where do you test the new roms? In the device or in somekind of emulator?
Click to expand...
Click to collapse
device only until i figure out the emulator issue

[Q] Kitchen for HD mini

Dear developers,
can somebody answer which kitchen we can use for HD mini?????
Yup...EVK will be a good one for that...
Get the EVK kichen... find a stock HD MIni ROM... dump it using the EVK and get cooking!
Interesting.... i just want to say that you need to be carefull cause the HQVGA is an unussual size in new builds hopefully the rollup comes more often
+ Que PPC said:
Interesting.... i just want to say that you need to be carefull cause the HQVGA is an unussual size in new builds hopefully the rollup comes more often
Click to expand...
Click to collapse
com3.2 aka 231xx should come HVGA since thats the normal branch for the phone.
Johan Kraczmar said:
Dear developers,
can somebody answer which kitchen we can use for HD mini?????
Click to expand...
Click to collapse
OSKitchen should be able to dump and rebuild the ROM for that phone without any issue even if it's not in the list as long as you know how to rename the EXT packages to give them the right order (that's an issue you will also have with EVK but on EVK you'll probably have many more unless you use an adapted version for your phone with the right packages already recmodded inside).
BTW I'm working right now on a way to finally apply the DSM building order that all other kitchens seem to ignore to rebuild the latest phone ROMs 100% correctly.
airxtreme said:
OSKitchen should be able to dump and rebuild the ROM for that phone without any issue even if it's not in the list as long as you know how to rename the EXT packages to give them the right order (that's an issue you will also have with EVK but on EVK you'll probably have many more unless you use an adapted version for your phone with the right packages already recmodded inside).
BTW I'm working right now on a way to finally apply the DSM building order that all other kitchens seem to ignore to rebuild the latest phone ROMs 100% correctly.
Click to expand...
Click to collapse
Thank you for answer.
Can you help me with setting in htcrt_devices.ini ????
Johan Kraczmar said:
Thank you for answer.
Can you help me with setting in htcrt_devices.ini ????
Click to expand...
Click to collapse
osKitchen doesn't need that file because it automatically detects the NBH structure trough libNB; that's why I told you it should work even if the device is not on the supported list. As long as platformrebuilder doesn't cause some trouble (EVK is platformrebuilder-based too) oskitchen can work with any ROM as long as it can import and build the format (and NBH of course is supported).
Everything is clear.THX
airxtreme said:
BTW I'm working right now on a way to finally apply the DSM building order that all other kitchens seem to ignore to rebuild the latest phone ROMs 100% correctly.
Click to expand...
Click to collapse
Just a small correction here: Barin's OSBuilder does not ignore that issue. In fact there in a tool in his kitchen to modify packages.sof, so that you can even modify the build order. This is important when adding new packages which have .dsm not in stock roms, to ensure that they are build in the preferred order (ie: tweaks last).
@ OP, if you do use EVK to dump and build, be sure to clean the dump of duplicate files inside modules after dump, which is an issue with EVK's dump process. Also, with EVK (and likely OSKithcne) you need to recmod NTFConfig.dll to get a bootable rom. This is also not an issue with Barin's OSBuilder, which I highly recommend to every chef. I find this kitchen to be a superb tool compared to any kitchen to date.
mmmm interesting kitchen... lets try something new... cause the winmo times are getting bored this days
indagroove said:
Just a small correction here: Barin's OSBuilder does not ignore that issue. In fact there in a tool in his kitchen to modify packages.sof, so that you can even modify the build order. This is important when adding new packages which have .dsm not in stock roms, to ensure that they are build in the preferred order (ie: tweaks last).
Click to expand...
Click to collapse
I've never tried that kitchen however I can tell you that how I've implemented shadow ordering support is pure bliss. For example as you probably know HTC ROMs rely on many virtual packages (Project Default and others) to guarantee the building order and if you delete one of them (some of these packages are completely empty) everything breaks and that the shadow dependencies are often done on localized packages so changing language could also cause havoc.
In my kitchen I normalize all the packages dependencies during import so that all the dependencies on LCID folders and on those virtual folders are gone (so those can be safely deleted), I have a package property tab to set the shadow order of any package (if the DSM is not there it will be created), it has detailed checks for short circuits (infinite dependencies loop), etc. It's really, really well done.
indagroove said:
@ OP, if you do use EVK to dump and build, be sure to clean the dump of duplicate files inside modules after dump, which is an issue with EVK's dump process. Also, with EVK (and likely OSKithcne) you need to recmod NTFConfig.dll to get a bootable rom. This is also not an issue with Barin's OSBuilder, which I highly recommend to every chef. I find this kitchen to be a superb tool compared to any kitchen to date.
Click to expand...
Click to collapse
Well the two kitchens are in two completely different leagues: OSBuilder seems to be aimed to rebuild the ROM as best as possible following the microsoft standards (for example only flat packages, no EXT) while mine is aimed at offering the most complete and easy solution indeed the autoimport, (there is no informations associated to the device names in the import list, the kitchen finds everything out by itself to rebuild the NBH/BIN/TSW for that device), batch multi-language ROMs generation, easily structured UI and also all the warnings to limit user mistakes to minimum, from an easy automatically recmodding of packages that prb dislikes to much crazier extents like checking the Radio/splash files signatures are OK or making sure the user doesn't try to import packages from the wrong folder (like C:\) destroying his filesystem. Just because my kitchen is (sadly) still platformrebuilder-based it doesn't mean it has to be trashed though: as you may know Da_G is rewriting all the tools properly (100% compliant to the original standards) and I'm adapting his LibNB functions to the kitchen as soon as those became available hence the actual ability of dump/rebuild any NBH correctly without even knowing what device it is and hopefully soon internal XIP porting so that the kitchen will be already able (with extreloc for the IMGFS) to build its own ROMs for any device without any of the platformrebuilder limitations.

Categories

Resources