Creating a Kitchen - Windows Mobile Development and Hacking General

Hi there,
I'm pretty experienced with rom cooking, but need a bit of direction from the pros here in a project I'm working on.
I have a working WM6 rom that I'm looking to make a kitchen for in order to more efficiently customize the rom.
I've decoded the rom to nba/fat format (my device uses nba/nbf format) and dumped the imgfs to a dump folder without any issues and can edit the rom that way, but I'm looking to make a kitchen.
I've used bepe's package tool to convert my dump into OEM & SYS folders without any problems. I now just need to be pointed in the right direction on how to rebuild these packages back into a working nba/fat file.
I've tried putting the OS & SYS directories in an existing kitchen like the bepe/helmi/scoter kitchens and using the imgfs tools there building the packages back into a rom. The rom builds successfully but then won't boot past the initial splash screen after flashing it.
Is there something else I need to do? Is it possible Bepe's package tool isn't properly building the packages?
Any help is appreciated. Thanks for everything each of you does to help the community

anyone?

I'm no expert, but everytime I've tried to dump a rom then rebuild it and flash it, it freezes at the 2nd splash screen. I never could get it to work, then I read somewhere that if the RGU files are missing then it would fail to boot, and sure enough on every rom I tried to dump, the RGUs were gone
My advice would be to build your rom with an existing kitchen. Collect all the packages you can find, build the ones you can't. Save all your custom graphics, themes, sounds, ringtones. Export all the registry keys for the programs you have on your phone now and use them to tweak your packages. It really won't take you much longer than if you were able to use the one you dumped. Before you know it, the kitchen you put together will be so much better than the ROM you dumped that you'll forget all about it!
My kitchen is a work in progress, but right now it's SO close to the way I want it that I can do Hard Resets without a thought as the only thing that needs to be done afterwards is restore my contacts!
All my connection settings are there, all of the buttons are set the way I like, all the colors, graphics, themes...everything! I've even set up an extrended rom with custom cabs I put together with all my commerical software with the Registration keys built-in.
I can't recommend a kitchen since I haven't used them all, but I started with Octaivio's with a 1437 build rom, now I've replaced that base rom with the 1908 build one from his latest kitchen and it's worked fine. The reason I used Octaivio is because he used Pbar as a taskmanager instead of that awful useless HTC x button (remnants of it still pop up when switching from portrait to landscape and vice versa).

joemanb said:
I'm no expert, but everytime I've tried to dump a rom then rebuild it and flash it, it freezes at the 2nd splash screen. I never could get it to work, then I read somewhere that if the RGU files are missing then it would fail to boot, and sure enough on every rom I tried to dump, the RGUs were gone
Click to expand...
Click to collapse
I can easily dump a rom, change it, rebuild it and use it successfully. That's not my issue. And, by the way, you were given misinformation about the rgu's. The rgu files are supplementary registry files that are merged into the main hives for each specific package, to make the registry entries modular. Even if you were to delete some rgu files, your device would still boot but wouldn't have the desired behavior for the packages you installed as some registry entries would be missing
My advice would be to build your rom with an existing kitchen. Collect all the packages you can find, build the ones you can't. Save all your custom graphics, themes, sounds, ringtones.
Click to expand...
Click to collapse
There are still a number of devices where no kitchen exists--mine is one of them, and honestly I'm not looking to use someone else's--I'd prefer to make my own
I just need someone to tell me what needs to be done to convert the OEM & SYS directories generated by bepe's package tool back to a working rom.
Steps I'm attempting now:
1) Dump original rom to dump folder
2) Run Bepe's package tool to make SYS & OEM folders.
3) Add modules
4) Run G'Reloc to fix overlapping modules.
5) I run BuildOS which makes the dump in the temp folder from the SYS & OEM folders.
6) I copy the original rom's fat(nba) to a temp folder
7) I dump imgfs from fat(nba) to imgfs bin file in temp folder with prepare_imgfs.exe
8) I merge the dump back into imgfs bin file with buildimgfs.exe
9) I put imgfs back into the fat(nba) with make_imgfs.exe
10) I convert nba back to nbf to flash
11) I flash the rom successfully.
12) Doesn't get past splash screen
Can anyone tell me what I'm missing or what could be making this non-bootable?
Thanks.

So its not the RGUs..
Please, if you figure this out, post the solution. When I ran into this, I searched all over the forum for a solution and found at least 2 or 3 other posts with this problem, but never a response.
Good Luck

have you modified the Iniflashfile.txt? thats the step most leave out and then it wont boot past the second splash screen

austinsnyc said:
have you modified the Iniflashfile.txt? thats the step most leave out and then it wont boot past the second splash screen
Click to expand...
Click to collapse
No, at this point I'm not trying to change the initflash so I haven't modified it. I know that when the time comes to change it I'll need to do the hex edit thing for the first 2 bytes, the unicode and the last line empty,. etc.
Also I'm not even getting to the 2nd splash. I'm not getting off the initial splash screen.
I'm thinking at this point the imgfs isn't getting put back together properly.
There have got to be some old pros who can tell me what I'm doing wrong.

I think I found part of the problem. In step 5, CreateOS.exe is doing something wrong with the hives. After running it, default.hv which is 770K+ in sys/metadata goes down to like 42K.
Anyone know why this is happening?

source said:
I can easily dump a rom, change it, rebuild it and use it successfully. That's not my issue. And, by the way, you were given misinformation about the rgu's. The rgu files are supplementary registry files that are merged into the main hives for each specific package, to make the registry entries modular. Even if you were to delete some rgu files, your device would still boot but wouldn't have the desired behavior for the packages you installed as some registry entries would be missing
There are still a number of devices where no kitchen exists--mine is one of them, and honestly I'm not looking to use someone else's--I'd prefer to make my own
I just need someone to tell me what needs to be done to convert the OEM & SYS directories generated by bepe's package tool back to a working rom.
Steps I'm attempting now:
1) Dump original rom to dump folder
2) Run Bepe's package tool to make SYS & OEM folders.
3) Add modules
4) Run G'Reloc to fix overlapping modules.
5) I run BuildOS which makes the dump in the temp folder from the SYS & OEM folders.
Click to expand...
Click to collapse
At this point I think that you have the XIP extracted already, in order to create valid boot.rgu
6) I copy the original rom's fat(nba) to a temp folder
7) I dump imgfs from fat(nba) to imgfs bin file in temp folder with prepare_imgfs.exe
8) I merge the dump back into imgfs bin file with buildimgfs.exe
9) I put imgfs back into the fat(nba) with make_imgfs.exe
10) I convert nba back to nbf to flash
11) I flash the rom successfully.
12) Doesn't get past splash screen
Can anyone tell me what I'm missing or what could be making this non-bootable?
Thanks.
Click to expand...
Click to collapse
It's a suggestion, but i think you're missing the .rgu files.
Of course, those are not needed when flashing, but when BuildOS creates the default.hv and user.hv...these 2 being invalid, the OS can't boot.
Probably Bepe can clear you better on that one.
Cheers !

source said:
And, by the way, you were given misinformation about the rgu's.
Click to expand...
Click to collapse
Apparently not, after reading Anichillus' response (which agreed with mine) I converted the HVs to RGUs and it WORKS finally!
It's probably not a good idea to reject info out of hand like that..You almost had me convinced. Thankfully I always try to verify information before I accept it, or tell someone they're wrong, mistaken, or misinformed.
Thanks Anichillus!

Related

custom rom development

hi
i need help to customize my rom by adding few programs as default, like icontact, pointui, etc which i use routinely
i have tested few available roms, which all are wonderful, i was hoping if i can add and delete few programs from it. i am able to dump the rom and make few registry tweaks using available 6.1 kitchens.
i am still trying to delete few applications from dump folder and add new cab files.. i need someone to point me in the right direction,
thanking in anticipation
Check out the PPCKitchen, it's very easy to use! You can build your own ROM from scratch, give it a try.
ok sure i will check it out, didn't heard of this kitchen before, will it work for my himalaya also
Jirrah...if you are cooking for Htc Himalaya...try out my Kitchen (its in my signature)..
yes ather i have tried your kitchen and infact using your dark rom, amazing work, but in your kitchen when we dump the nbf file, there are lot of dll folders and files, which confuses me and i cant understand where and how to add new cab files. i read about oem packages, but how to put with your kitchen, cant understand...
what about this ppckitchen and tofclock kitchen, are these for himalaya also.
however ather kitchen is very userfriendly for a noob like me
maybe if you can point me in right direction....
thanks
Well..its very easy once u get the hang of it
After you dump it...u will have lots of folder..to make them into OEM and SYS you will need Package tool by Bepe..but remember not all ROMs work with this tool
as far the OEM pacages are concerned..its a lil bit hard..first download the required OEM then extract it in a seperate folder...then delete the option.xml from it..then copy the files,shortcuts,RGU's,DSM's and paste them into the dump folder..dnt touch the initflashfiles.txt file yet !
when you reach the step where you get the prompt to edit the initflashfiles open that OEM's and copy the lines form it and paste it in the prompted initflashfile and then save it
MAKE SURE YOU REMOVE THE TWO BYTES FROM IT AFTER SAVING IT...ELSE ROM WILL NOT START
to remove those two extra bytes..open the initflashfile(the prompted one ) with any hex editor and remove the First two bytes named FF and FE by pressing the "Delete" Button and then save it and then FLash...
Im here if u need any help
Enjoy Cooking !!
[nevermind..good luck, anyway..]
ather90 said:
Well..its very easy once u get the hang of it
After you dump it...u will have lots of folder..to make them into OEM and SYS you will need Package tool by Bepe..but remember not all ROMs work with this tool
as far the OEM pacages are concerned..its a lil bit hard..first download the required OEM then extract it in a seperate folder...then delete the option.xml from it..then copy the files,shortcuts,RGU's,DSM's and paste them into the dump folder..dnt touch the initflashfiles.txt file yet !
when you reach the step where you get the prompt to edit the initflashfiles open that OEM's and copy the lines form it and paste it in the prompted initflashfile and then save it
MAKE SURE YOU REMOVE THE TWO BYTES FROM IT AFTER SAVING IT...ELSE ROM WILL NOT START
to remove those two extra bytes..open the initflashfile(the prompted one ) with any hex editor and remove the First two bytes named FF and FE by pressing the "Delete" Button and then save it and then FLash...
Im here if u need any help
Enjoy Cooking !!
Click to expand...
Click to collapse
thanks for this start.. but i tried the packag tool, its seems it doesn't work with your dark or other 6.1 roms...;(
does the hypercore kitchen wrk for the himalaya?
as far as i know.it doesent.but i think it could be done with a lots of modifications
thanks for this start.. but i tried the packag tool, its seems it doesn't work with your dark or other 6.1 roms...;(
Click to expand...
Click to collapse
Why do u need the OEM and SYS folders..are you porting a XIP or something ?
searching the forum it seemed to me that oem and sys folders are essential for custom development...is there any other way??
for starter i would like to add e.g icontact in rom, it is available as cab, so how do i add in dump folder and then compile . if i convert it ot oem package then how that can be added to dump folder...
also what should be the error fail size or maximum size of the rom
thanks

Creating Kitchen from Dumped ROM

This started out as a pm between hilaireg and me. i'm reposting the conversation here in order to benefit the rest of Chef Central.
I have a NEON400 which has recently been SPLed...finally.
However, there are no ROMs out there for the device and one guy who tried failed miserably. Mostly due to the fact that he doesn't own a device and can't test it.
what I'm looking for is a tutorial or some way to turn the dumped OEM ROMs we have into usable clean ROMs or upgraded to 6.5. Obviously there is no way that you can help me without having a device but is there any generic tutorial out there so I can get started learning how to do this?
Thanks for your help if you can... I appreciate anything you can do for us lowly NEON400 users.
thanks!!!
FROM: hilaireg
I'm not sure as to how much help I can be; that said ...
1) NEON Specs
I had a look at the NEON specs on the WIKI to get an idea of what is possible with the device.
From the specs, the unit is 128MB of ROM which may necessitate RECMOD'ing of module in order to achieve a bootable ROM. SLOT0 is generally the issue with WinMO 6.1 as SLOT0 should remain free of modules for the final ROM compilation. Here's some supporting information on Virtual Memory that will better explain what I am referencing:
Virtual Memory as it applies to the Windows CE 5.2 Kernel
http://forum.xda-developers.com/showpost.php?p=4268137&postcount=2
2) ROM's
I haven't conducted a search to see if an update ROM has been released for the NEON (either through BELL or HTC); I'm going to describe two possible scenarios.
Scenario 1: No update ROM
The best approach here would be to determine how to dump the ROM from an existing device. Once a device is "dumped", the dumped content could serve as the starting point for building a custom ROM. Dumping a device ROM requires a few procedures ... I recommend a forum search with these keywords:
dump device rom
The threads that will appear will not be NEON specific, you'll have a bit of reading on your hands, but may provide some insights at what may be required.
Scenario 2: Update ROM available via BELL/HTC
If an update ROM has been made available for download, it should be possible to perform a dump via a kitchen such as Ervius Visual Kitchen (EVK). Here's a link to a tutorial I put together that walks aspiring chefs through the process of dumping an official updated HTC ROM using EVK for the Raphael - but is essentially the same for any device. Once a ROM is dumped using EVK, this would serve as your starting point for building a custom ROM.
[TUT] Sous-Chef's Guide to XIP Porting in Ervius Visual Kitchen 9.7
http://forum.xda-developers.com/showthread.php?t=526610
3) Custom ROM
Once you have a starting point ROM, you can use it to create a net new kitchen. A net new kitchen could be a matter of copy/pasting the dumped kitchen from #2 (above). Things to keep in mind:
ROM: OEMXIPKernel is device specific and usually doesn't change until a NEON update ROM is release by BELL/HTC
ROM: MSXIPKernel is MS specific, this usually gets updated when a new O/S release is issued (ex: 6.1.21054, 6.1.21056, 6.5.23541, 6.5.23549, etc.)
OEM: this is device specific package which often are device drivers, carrier (operator) configuration, device functions, etc. and usually doesn't change until a NEON update ROM is release by BELL/HTC
SYS: this is MS specific and usually gets updated when a new O/S release is issued (ex: 6.1.21054, 6.1.21056, 6.5.23541, 6.5.23549, etc.) the MSXIPKernel & SYS should always match.
I would suggest starting with 6.1 and once you have a working build, you could look to move to 6.5. What's is important to keep in mind is:
you may need to RECMOD modules
closely review the .RGU (.REG), INITFLASHFILES.*, and .PROVXML files for any carrier (operator) specific lock downs
you will need to Cert Patch the ROM, possibly reduce the ULDR, possibly adjust the PagingPool - all selectable features in the newest version of EVK
Lastly, don't hesitate to ask questions in Chef Central ... some senior chefs may have some pointers that could help.
Chef Central: Windows Mobile/Windows Phone
http://forum.xda-developers.com/forumdisplay.php?f=612
HTH
OMG, this is so much info. you are awesome.
Okay...to get some stuff out of the way:
1.) No update ROM was ever released from Telus or Bell (the phone was released by both)
2.) the OEM ROMs have already been dumped.
1. you may need to RECMOD modules
2. closely review the .RGU (.REG), INITFLASHFILES.*, and .PROVXML files for any carrier (operator) specific lock downs
3. you will need to Cert Patch the ROM, possibly reduce the ULDR, possibly adjust the PagingPool - all selectable features in the newest version of EVK
Click to expand...
Click to collapse
This went entirely over my head.
RECMODding? How do I do this? It looks like No2Chem released some sort of EXE for this.
What am I looking for in the carrier specific files?
I don't think I can use EVK because I don't have an upgrade ROM, or can I?
FROM: hilaireg
Okay...to get some stuff out of the way:
1.) No update ROM was ever released from Telus or Bell (the phone was released by both)
2.) the OEM ROMs have already been dumped.
Click to expand...
Click to collapse
Haven't downloaded the file; ideally the download should either be an *.NBH or *.NB file. If it is, you should be able to use it in EVK.
The question to ask yourself is, has someone gone through the trouble of ... dumping the entire ROM from the phone? Or, only dumping the OEM portion?
If it's fully extracted, is there a ROM, SYS, OEM, (PACKAGES\EXT) folder structure? If so, then you should be able to use it in EVK. If there is a PACKAGES folder, they likely used the PkgBuildOS (oldstyle) kitchen to dump the ROM; Ervius released a tool to convert an oldstyle PACKAGES folder to a newstyle EXT folder.
1. you may need to RECMOD module.
Click to expand...
Click to collapse
Recoded Modules usually appear like this:
<filenameasfolder.dll>
imageinfo.txt
imageinfo.bin
S0001
S0002
S0003
...​
Included in the TOOLS folder of the EVK is a RECMOD.EXE, when you drag the <filenameasfolder.dll> folder (and contents) onto the EXE, it creates the compiled .DLL - ex: filenameasfolder.dll.
2. closely review the .RGU (.REG), INITFLASHFILES.*, and .PROVXML files for any carrier (operator) specific lock downs.
This went entirely over my head.
RECMODding? How do I do this? It looks like No2Chem released some sort of EXE for this.
What am I looking for in the carrier specific files?
Click to expand...
Click to collapse
Since WinCE is really a mobile version of Windows - being simplistic here - there are some things that are similar.
Registry changes are typically kept in .RGU/.REG files.
INITFLASHFILES.* are usually used for file copy operations on the device.
CONFIG_*.txt are usually used to launch .CAB files, copy operations, etc.
.PROVXML are usually used to configure MS and Carrier (Operator) specific settings. They can also be used for copy operations, registry changes, etc.
3. you will need to Cert Patch the ROM, possibly reduce the ULDR, possibly adjust the PagingPool - all selectable features in the newest version of EVK
Click to expand...
Click to collapse
As you are cooking a custom ROM, you need to disable the security certificate checking or the custom ROM may not boot. The reason for this is that MS/Carrier (Operator) don't want people doing what we're doing ... it's similar to HardSPL, it tells the device that "it's ok to use this ROM".
I don't think I can use EVK because I don't have an upgrade ROM, or can I?
Click to expand...
Click to collapse
Shouldn't be an issue. As long as you can obtain the ROM (OEMXIPKernel & MSXIPKernel), OEM, and SYS, you should be able to build a working custom ROM.
Have a look at my kitchen thread:
http://forum.xda-developers.com/showthread.php?t=471288
Download the kitchen and have a look through it to get a sense of what the final product should look like. The change logs will give you a sense of what had to be removed/changed/added to produce a custom ROM.
And once again, don't hesitate to ask questions in Chef Central ... that's why it was created; to help aspiring chefs learn.
Cheers,
All right, I downloaded v1.8.1 of EVK and used it to load the dumped .NBH. This seemed to work flawlessly and I now have a folder called 'dump' that contains the following folders. (I manually entered the Device name NEON400 when EVK prompted for it):
EXT
MyTools
OEM
RELEASE_NEON400
ROM
SYS
Tools
I'm guessing I've successfully extracted the ROM image.
i would like, for ease and simplicity, to just make this into a clean 6.1 version. I don't REALLY want to tackle 6.5 quite yet.
Is there a simple way to clean out the garbage? How do I know what's what?
I really appreciate your help, you've gotten me this far. I hope you don't get too exasperated with my noobness.
88fingerslukee said:
All right, I downloaded v1.8.1 of EVK and used it to load the dumped .NBH. This seemed to work flawlessly and I now have a folder called 'dump' that contains the following folders. (I manually entered the Device name NEON400 when EVK prompted for it):
EXT
MyTools
OEM
RELEASE_NEON400
ROM
SYS
Tools
I'm guessing I've successfully extracted the ROM image.
Click to expand...
Click to collapse
Looks like it; now take contents from the 'dump' folder and move it to the top of your kitchen folder. For example:
Move NEON400_Kitchen\dump to NEON400_Kitchen\ - Yes To All.
This was one of the steps in my Raphael Tutorial:
[TUT] Sous-Chef's Guide to XIP Porting in Ervius Visual Kitchen 9.7
http://forum.xda-developers.com/showthread.php?t=526610
Afterwards, make a copy of the kitchen as this copy ("backup") will serve as your source/baseline which you can always refer back against ... how you got started. You should never make changes to this copy; what I typically do is .RAR the copy and store it in a safe place along with the source file (ex: the download RRU from HTC, etc.)
i would like, for ease and simplicity, to just make this into a clean 6.1 version. I don't REALLY want to tackle 6.5 quite yet.
Is there a simple way to clean out the garbage? How do I know what's what?
I really appreciate your help, you've gotten me this far. I hope you don't get too exasperated with my noobness.
Click to expand...
Click to collapse
There's no quick or easy way; now comes the steep part of the climb.
If you haven't obtained a file comparison tool yet, that should be your next stop. You really should get a good one that allows binary comparisons and such ... I use BeyondCompare; it's not free but it's worth it. Once you obtain the file comparison tool, you can use it to compare an existing folder against another - such as comparing two kitchens. As an exercise, you could compare your kitchen against my last Raphael kitchen to give you an idea as to areas typically require additions/removals/changes.
WinMO6.1.21056 Raphael Kitchen
http://forum.xda-developers.com/showthread.php?t=471288
Also download the .TXT files attached to the kitchen thread as I noted all of the edits I made to the OEM, SYS, and ROM folders in those files. Examine those areas of your kitchen. Pay special attention to operator packages, '.PROVXML', and 'CONFIG_' files in the OEM folder. This is where you will usually where you will find many Carrier/Operator specific changes or lockdowns. I usually move most of this content to a 'profile' package in the EXT folder; I never use the profile directly, I copy/paste the to a 'custom profile' and use the custom profile ... this way, I can eliminate underised "Carrier/Operator" features and only apply those features that are absolutely necessary. Additionally, extra components (themes, cabs, etc.) are often installed via a series 'CONFIG_' packages; these will likely require alteration.
A few last things to remember along this part of the climb ...
stop for breaks
drink lots of coffee
have fun
and don't forget to yodel
may i ask a small Q....regardingthe OEM....
if i want to put an app in my cooke ROM i know that i can covert the app from cab--to---ext..however i can do cab--to--OME and OEM --to-- EXT...what are the different and which is better ??? really need help to understnad this
An OEM package is essentially a kitchen package. The term OEM came about partly because the ROM extraction tools - essentially, the tools extract the content of an OEM .NBH/.NB file. An OEM package usually consists of files, files as modules, <guid>.dsm, <guid>.rgu, shortcuts, *.provxml, *.txt, and *.dat.
When chefs refer to OEM packages, they are generally speaking about the folders that appear in .\OEM, .\SYS, and the .\PACKAGES (or .\EXT) folder. Here is some background for Ervius Package Builder (PkgBuildOS) & Ervius Visual Kitchen (EVK).
PkgToolsBuildOS
In the older PkgBuildOS kitchen, the OEM package had a relatively flat structure. Most OEM packages were prefixed with 'PACKAGE_' - chefs would see these folders in .\OEM and .\SYS. It was also preferable to move such folders into a '.\PACKAGES' folder structure making it easier to choose which packages to include during the ROM compilation. Ideally, chefs would only keep essential (critical) packages in the .\OEM and .\SYS. The structure of the OEM package would look similar to the following:
Code:
[B][COLOR="Blue"]<PACKAGE_oem_packagename>[/COLOR][/B]
[INDENT]<guid1>.rgu [COLOR="Purple"][I](<guid1>.rgu + <guid2>.rgu)[/I][/COLOR]
<guid1>.dsm
[COLOR="Purple"]<guid2>.dsm [I](removed)[/I][/COLOR]
files
*.provxml
shortcuts
*.txt
*.dat
option.xml
[B][COLOR="Blue"]<modulefoldername>.[[COLOR="Green"]ext[/COLOR]][/COLOR][/B] ([COLOR="green"][B]ext [/B][/COLOR]= dll, cpl, ocx, etc.)
[INDENT]imageinfo.bin
imageinfo.txt
S0001
S0002
S0003
...
[/INDENT]
[/INDENT]
Visual Kitchen
When Ervius created the Visual Kitchen, he also created a tool to convert old PkgBuildOS OEM packages into the new kitchen format. During the conversion process, the tool would read the .DSM filename information and rename the folder accordingly - sometimes a folder would be prefixed with 'PACKAGE_' and in other cases not; it depended on the internal .DSM name. The new format of the package was such that it divided the language-specific files into a sub-folder within the EVK OEM package.
Additionally, the tool would copy the OEM packages to the .\EXT folder as once again, it is preferable to have OEM packages in the '.\EXT' folder structure as it makes it easier to choose which packages to include during the ROM compilation. Ideally, chefs would only keep essential (critical) packages in the .\OEM and .\SYS. The structure of the OEM package would look similar to the following:
Code:
[B][COLOR="blue"]<oem_packagename>[/COLOR][/B][INDENT]<guid>.rgu
<guid>.dsm
app.reg
app.dat
_skip
[B][COLOR="blue"]Files[/COLOR][/B][INDENT]*.provxml
shortcuts
*.txt
*.dat
[B][COLOR="Blue"]<modulefoldername>.[[COLOR="Green"]ext[/COLOR]][/COLOR][/B] ([B][COLOR="green"]ext [/COLOR][/B]= dll, cpl, ocx, etc.)[INDENT]imageinfo.bin
imageinfo.txt
S0001
S0002
S0003
...
[/INDENT]
[/INDENT]
[B][COLOR="red"]<LANG> [/COLOR] ([COLOR="red"][B]LANG[/B][/COLOR] = 0409, 040C, etc.)[/B][INDENT]<guid2>.rgu
<guid2>.dsm
app.reg
app.dat
_skip
[B][COLOR="blue"]Files[/COLOR][/B][INDENT]*.provxml
shortcuts
*.txt
*.dat
[B][COLOR="Blue"]<modulefoldername>.[[COLOR="Green"]ext[/COLOR]][/COLOR][/B] ([B][COLOR="green"]ext [/COLOR][/B]= dll, cpl, ocx, etc.)[INDENT]imageinfo.bin
imageinfo.txt
S0001
S0002
S0003
...
[/INDENT]
[/INDENT]
[/INDENT]
[/INDENT]
The tutorials I put together for the Visual Kitchen (EVK) and Package Builder (PkgToolsBuildOS) provide some additional details about the folder structure of the kitchen so I won't get into more details about it here.
HTH,
The guy who failed miserably to cook a wm 6.5 rom,ultimately cooked the first ever wm 6.5 rom for Neon 400
http://forum.xda-developers.com/showthread.php?t=650446
damn... nothing to say just.......
if this guy wants to learn how to cook for his device... just leave him to learn, BTW why you dont leave intact the rom links?

[Q] OEM package with dll

hey there,
i created an oem package which contains an dll file, one that exists also in the sys-folder as folder (contains imageinfo.bin and s000), when cooking with my kitchen buildos gives an error, something about that the expected file already exists as folder...
what can i do?
It's not a good idea to over-write a module; in fact, it's a bad idea, because it crashes most kitchens (buildos will crash every time).
1. Why are you trying to over-write a module with a file?
2. If you really want to do it, you need to remove the module from the sys directory. I'm not sure it's a good idea myself; you should at least convert the file to a module. If you don't know the difference between a file and a module, then you should search and find the answer. It's easy enough to do.
It would help a great deal when you start a topic if you give more information. What build are you using? What device? Most importantly, what module are you trying to replace?
Thanks Ted,
sorry for the small amount if informations. I'm using EXEcutor von pako777, it's kitchen tool for the omnia 2... almost, it dissambles the dump-file, then i can delete/add files and then it assembles it again... some kitchens i saw over here a really great, but the executor get the work done...
i found the informations, thanks for the hint i will now try reversmode.exe
right now i want to convert a taskbar.cab to an oem package and so i need to replace shellres.192.dll and some other files
I think that kheb 1.1 (search, it's easy to find) is the best way to make a package for your cab. Just run a snapshot, install the cab, then run another snapshot (+difference). Select the 'make an oem' function. It doesn't make a working oem, but it will dump the reg keys that you need, and collect all the files (I assume they'll all go to windows). It sounds like you're building the rom straight from a dump, and not with full packages? Then you'll need to just swap the new files in for any old ones (as well as add new ones), and figure out how to add the registry keys, if there are any. I guess you can use ceregeditor or something similar to import the keys into the default.hv. Convert files to modules, if that's how the dll's appear in the dump.
You have to be a little careful with an app like kheb (or sk tracker): it may dump out some extraneous files or reg keys, as changes occur all the time to a device's registry and file system. Make sure you separate the wheat from the chaff. It's best not to soft reset after the cab install, if you're prompted to do so. That creates a butt-load of random new reg values that are irrelevant. If any certificates are installed by the cab, you can probably ignore them.
Thanks again, but i used the package creator from ervius to convert the cab, converted the rgu to an provxml and the dll-files with reversmode and everything worked fine
but i will take a look onto kheb, sound promising when converting a cab with setup.dll

[TUT] Beginers guide to cooking for the TG01

Welcome to my tutorial in cooking for the TG01.
I shall no longer be updating this thread, so please feel free to post and make any contribution you see fit.
This is meant to be a very simple, plain English guide to cooking.
With this in mind i will not be showing you how to port a new sys/xip or any of the more advanced features like sense
lets just see if we can dump, modify, build then flash a working, booting ROM for now.
This tutorial is only what i have learnt whilst beginning to cook my own ROM, so if you find a mistake or have something to offer feel free to post
If you have a question that your going to post, please please search the forum first, i learnt a lot of what i know from threads that have nothing to do with the TG01 or even the type of kitchen we're using. So as the rules state - Search before posting, Thank you.
Modifying the ROM of a Windows Mobile is dangerous to your devices health. If you mess it up it can be fatal.
The information contained in this tutorial is only as far as i am aware. Don't blame me if you brick it.
Having said that, i have never had a problem the short pin method couldn't fix.
You will need the attached .zip file, it contains the kitchen and associated applications.
In this tutorial i am using L3V5Ys kitchen, cab converter by Jason8, Package converter by Total Fire and Package Creator by Ervius.
So thanks to them and everyone in the XDA community for making this kind of thing possible.
1. Dump a ROM
1.1. Download the ROM you wish to modify. I suggest Miros miROM4, its clean and fast without any clutter.
1.2. Extract the ROM and place the resulting .tsw file in the BASE folder in the kitchen. Then rename it "TG01WP_5005000176.tsw"
1.3. Run dump.bat and wait for it to finish, this could take a little time depending on you PC, it may be worth making a tea as it seems to take longer if you watch it.
1.4. You should now have some new folders in your kitchen, for now the only one were interested in is SYS.
2. Modify a ROM (Removal of packages)
2.1 Open your kitchen folder then open the SYS folder,
2.2 You should now be faced with a window with lots of folders in it. The folders are called packages.
2.3 Delete the package Entertainment and its associated packages (Entertainment, Entertainment_DPI_192, Entertainment_Lang_0409 and Entertainment_Lang_0409_DPI_192)
2.4 This has effectively deleted the games that ship with your chosen ROM,
2. Modify a ROM (Adding packages)
2.1 Open your kitchen folder then open the SYS folder.
2.2 Copy the package from its source to the SYS folder. Remember that for this kitchen it must be an OEM\old type package (see post #4)
2.3 Thats it, you added software to your custom ROM.
2. Modify a ROM (modify existing package)
2.1 Open your kitchen folder then open the SYS folder.
2.2 Open the folder titled "Redist_dpi_192_resh_480_resv_800"
2.3 Replace welcomehead.192.png with the one in the downloaded zip.
2.4 That's it, when you boot your new ROM it should show the new welcome screen.
3. Building and flashing a ROM
3.1 Run "2. build no XIP port_no auto.bat" (this is the original build.bat, modified by myself to skip the port xip and BuildOS/auto parts)
3.2 When the cmd prompt opens press any key
3.3 When BuildOS opens check the packages you wish to install then click the green arrow in the top left.
3.4 When BuildOS has finished, close it and the cmd window will carry on opening and closing other programs as it goes. You do not need to touch any thing till it has finished and it asks you to hit enter.
3.5 Assuming you pressed enter when it asked, the cmd window will have now closed.
3.6 Go into your kitchen folder and you should have a new file called "TG01WP_00.tsw" This is your ROM.
3.7 Copy "TG01WP_00.tsw" to a folder called PRG on your storage card (if its not there then create it) and then run SDDL+ or use the short pin method to flash it.
3.8 That should be it, you should now have the rom you started with but minus solitaire.
The Kitchen:
In your "Kitchen" you will find some folders and some files. They all relate to either the ROM ityself,
or the tools used to edit/dump/create the ROM.
BASE - This is the folder in which you put the rom you are dumping
OEM - This is the folder where the Toshiba part of the ROM would be if it was an official Rom that was being dumped,
however when dumping a cooked ROM this folder will be empty as a cooked ROM cannot be dumped correctly by the tools available
and all packages are put in the SYS folder. This will not affect the output, and the OEM packages can be left in the sys folder.
If you dump a cooked ROM you will need to create the OEM folder as BuildOS panics without it, even if its empty it needs to be there.
SYS - This folder contains the dumped ROM separated into packages
ROM - This folder contains the xip, boot.rgu and boot.hv. For this tutorial we won't be working with anything here.
TOOLS - This is where the exe's are that make up the kitchen, you don't need to touch these, the .bat files do it all for you.
Temp - This is the kitchens working folder, you don't need to go here unless there are problems building the ROM but that is beyond the scope of this tutorial.
Packages: (there are 2 types, EXT and OEM, our kitchen can only handle OEM so thats what i'll be discusing)
Each package contains an element of the ROM. For example the BROWSING package contains the parts of the ROM required for internet browsing.
For a package to be usable it requires certain things
Required:
.dsm file - This is to complicated for the scope of this tut so for now just accept that this file is necessary and should never be deleted. All dsms must have a unique name.
That is all a package needs to be a package, though without any files in it won't actually do anything.
Optional:
.rgu file - This file contains the reg entries for the package in question and its name will be the same as the .dsm file in your package.
initflashfiles.txt / initflashfiles.dat - This file tells the PPC where to put the files that are within the package, ie. a short cut to a program in the start menu.
NOTE without an initflashfiles.txt all items within the package will go to the Windows folder.
option.xml - Holds information relevant to the package
The files you wish to install, without them its pretty pointless.
Packages often have other packages associated to them, for example the Entertainment package also has Entertainment_DPI192, Entertainment_Lang_0409 and Entertainment_Lang_0409_DPI_192.
Where Entertainment is the package, Entertainment_DPI_192 has the files specifically for our screen size, Entertainment_Lang_0409 has the files for our language (0409 is WWE)
and Entertainment_Lang_0409_DPI_192 has files that are for our lang and our screen size.
Modifying a .rgu file:
.rgu files contain registry information for the package they are in. If you wish to modify this data then you can do so with notepad, though i recommend downloading Notepad2. If you open a .rgu file and don't understand what's in it then you need to go learn about windows registry editing first. I am assuming that if you are looking at building a custom ROM you already know about reg editing.
CAB Converter:
This program is used to convert a .cab file into a package to be cooked into a ROM
1.Open CAB_Converter.exe
2.Click "add a cab" and browse to your cab or drag and drop your cab into the window
3.Click on the text representing your cab at the top of the window so its selected.
4.Click CAB->OEM, and wait till its finished. Should only be a few seconds.
5.Your package will be in the CAB Converter folder in the converted OEM folder
Package Converter:
Our kitchen only supports OEM\Old type packages, so what if we want to use an EXT\Visual type package? Well Total Fire kindly made and distributed a tool that converts from one to another.
The program is fairly self explanatory but i'll quickly cover converting from a visual to an old package.
1.Open the converter, then click "select" where the greyed text say package,
2.Browse to and open your visual package.
3.click "Convert VTO", now wait till you see "Conversion Complete".
4.Your now usable package will be in the same directory as the visual package with the text "PACKAGE TF" added to the title.
Package Builder:
If you wish to create your own packages, this is the tool to do it.
1.Create a folder named whatever you want your package to be named
2.Add to it the files you want
3.Add to it a .reg file if required
4.Open package Creator, in the bottom right you can choose ITA or ENG.
5.Click open package and browse to the folder you created.
6.Now the initflashes.txt options page appears, here you can select the .exes in your package and choose where to create short cuts. You will need to click apply on each one.
7.Now click complete package.
8.The creator will now create a .dsm file, a .rgu file with your .reg file settings in, an initflases.txt file and an option.xml file within the folder turning it into a package.
9.This package can now be used in your kitchen.
Reserved...
Reserved....
leeston2379 said:
CAB Converter:
This program is used to convert a .cab file into a package to be cooked into a ROM
1.Open CAB_Converter.exe
2.Click "add a cab" and browse to your cab or drag and drop your cab into the window
3.Click on the text representing your cab at the top of the window so its selected.
4.Click CAB->OEM, and wait till its finished. Should only be a few seconds.
5.Your package will be in the CAB Converter folder in the converted OEM folder
Click to expand...
Click to collapse
Thanks for a lovely tutorial! Makes sense!
I am continuously facing this attached error! Any ideas how to solve this! :s
Wich cab do you use ?
What is your Operating System ?
EVEALEX62 said:
Wich cab do you use ?
What is your Operating System ?
Click to expand...
Click to collapse
I used Opera.cab (opera 10) and with windows 7
EVEALEX62 said:
Wich cab do you use ?
What is your Operating System ?
Click to expand...
Click to collapse
chek property of your folder in c: or test to reinstall this program with administrator right (clic right).
Can you send me MP with your cab, I'll test tomorow morning
Have a good night
drupad2drupad said:
Thanks for a lovely tutorial! Makes sense!
I am continuously facing this attached error! Any ideas how to solve this! :s
Click to expand...
Click to collapse
Its better to grab hold of one of the existing opera packages on the forum, I never successfully converted it to a working package. Just seemed to be the opera cab as i have no problems with any other. I think ninjaduck does a nice version with flash and the like already in.
I never saw that particular error myself though. Sorry I can't be more help.
So long and thanks for all the fish.
I will no longer be updating this or any of my ROM threads as its upgrade time and I've got a shiny new Desire HD, my trusty TG01 has been retired and i'm off to have a bodge with Android.
The TG01 forum is a nice little place with only a hand full of regular contributors/posters but its always friendly and development seems to move along at a steady pace, so thanks to all its members for that.
To those who PM me, feel free to continue as i will still be around here somewhere and will help in anyway i can.
See you later.
leeston2379 said:
I will no longer be updating this or any of my ROM threads as its upgrade time and I've got a shiny new Desire HD, my trusty TG01 has been retired and i'm off to have a bodge with Android.
The TG01 forum is a nice little place with only a hand full of regular contributors/posters but its always friendly and development seems to move along at a steady pace, so thanks to all its members for that.
To those who PM me, feel free to continue as i will still be around here somewhere and will help in anyway i can.
See you later.
Click to expand...
Click to collapse
i have one samsung galaxy tab and next week i get also one HTC Desire HD of my company. Android is really good- but more fun i have with WinMo.
today i have get my second "new" tg01!
you were ever friendly and helpful. thank you for your activity and cooking for our tg01 community.
i wish you all best, good luck and cheers, miro
leeston2379 said:
I will no longer be updating this or any of my ROM threads as its upgrade time and I've got a shiny new Desire HD, my trusty TG01 has been retired and i'm off to have a bodge with Android.
The TG01 forum is a nice little place with only a hand full of regular contributors/posters but its always friendly and development seems to move along at a steady pace, so thanks to all its members for that.
To those who PM me, feel free to continue as i will still be around here somewhere and will help in anyway i can.
See you later.
Click to expand...
Click to collapse
Hi Lee!
TG01 community will miss your contributions! In case your retired TG01 lures you back to development, I will keep my eyes peeled. I hope you like your new android, but in case, Winmo is missed (I wish!), do come back!
Hi.
Leeston2379 will not be doing any changes here any more so I allow myself to upload my version of his kitchen here without creating new thread.
What has been changed ?
"Virgin" kitchen was only for packages modification without any pagepool changes or xip porting. Leeston2379 was basing on l3v5y kitchen which have certain bug. Interestingly this bug was "not active" as far as old ( original ) xip.bin was taken in .tsw file creation.
There are 4 batch files for new system building:
a) 2. build_without_xip_port.bat - the same as original leeston2379 batch but with fixed bug although here it is not "active"
b) 2. build_without_xip_port_pagepool_set.bat - allows to set pagepool size
c) 2. build_with_xip_port.bat - like original but allows to port new xip
d) 2. build_with_xip_port_pagepool_set.bat - like original but allows to set pagepool size and port new xip
I did not utilize automatic execution via for example
AutoExecAndClick.exe /launch "xipport.exe" /clickbutton "dump xip.bin" /clickbutton "write maps" /clickbutton "make pkgs" /kill
In my oppinion it is buggy . There are any timing races or something other causing any strange errors from time to time. User has to like in original l3v5y kitchen press different buttons in xipport software.
Thanks Mangasora for his post concerning porting xip
Regards
fxdjacentyfxd
fxdjacentyfxd said:
Hi.
Leeston2379 will not be doing any changes here any more so I allow myself to upload my version of his kitchen here without creating new thread.
What has been changed ?
"Virgin" kitchen was only for packages modification without any pagepool changes or xip porting. Leeston2379 was basing on l3v5y kitchen which have certain bug. Interestingly this bug was "not active" as far as old ( original ) xip.bin was taken in .tsw file creation.
There are 4 batch files for new system building:
a) 2. build_without_xip_port.bat - the same as original leeston2379 batch but with fixed bug although here it is not "active"
b) 2. build_without_xip_port_pagepool_set.bat - allows to set pagepool size
c) 2. build_with_xip_port.bat - like original but allows to port new xip
d) 2. build_with_xip_port_pagepool_set.bat - like original but allows to set pagepool size and port new xip
I did not utilize automatic execution via for example
AutoExecAndClick.exe /launch "xipport.exe" /clickbutton "dump xip.bin" /clickbutton "write maps" /clickbutton "make pkgs" /kill
In my oppinion it is buggy . There are any timing races or something other causing any strange errors from time to time. User has to like in original l3v5y kitchen press different buttons in xipport software.
Thanks Mangasora for his post concerning porting xip
Regards
fxdjacentyfxd
Click to expand...
Click to collapse
2. build_without_xip_port_pagepool_set.bat is my mod based
on leestone 2. build_without_xip_port.bat. bug?
please explain a little bit better: what you have do, what changed, the method for xip porting and how works? i hope is testet from you

[solved] No Customisation + Welcome.exe [email protected]

Device flashes - Device boots - Device runs the Welcome.exe, but then no Customisation.
Iv recently added some EXT packages into my rom. i made them myself from .cab's with cab2ext. ive tested the .cab's before adding to my rom, they do work. but some programs that did work before adding the new EXT's now dont because of no customisation eg, Task Manager - the one on the today screen and also Windows Live. (iv only noticed these two at the moment but there will be more, to be honest i cant be arsed looking for programs that work or dont work when its quite obvious its because of no Customisation, if i fix that, they will work again.. simples )
Anyway...
I opened the new EXT packages ive added and checked all the files.. eg, .dat .reg and all "FILES" files, i even checked the .lnk's and all seems ok. i then checked them again.. yet everything still looks ok, but something is seriously f*cked!
Also another problem, a wierd one..
When i Soft-Reset/Restart the device, it boots up with the Welcome.exe again? (the Welcome.exe is meant to only run the once and then dissable )
Help? iv almost got my rom the way i want it - ive been working on this rom for 2months and i dont want to start building the rom from scratch...
..again! pmsl
Does anyone have any idea what is wrong, if this has happened to you, how did you fix it?
Thanks!
Rn
Check your runcc.lua, then the conf*.txt files you include in your rom, then all the commands you execute inside them.
One of these commands go wrong in your first boot and so you are stuck on customization.
If you use xda_uc or another user customization method, check those scripts as well.
It may happen, for example, if you try to install a cab and for some reason it fails.
If in your recent packages you overwrite one of your conf*.txt file, this could be the cause.
Ciao
...
cheers dude, thanks for your time and help, i think i understand what you meen..
[1)config*.txt <-- all config files are ok.]
[2)runcc <-- googled and i dont use]
[3)xda_uc <-- googled and i dont use]
raving_nanza said:
iv almost got my rom the way i want it - ive been working on this rom for 2months and i dont want to start building the rom from scratch.....again! pmsl
Click to expand...
Click to collapse
its ok claros, f*ck it dude, its the second time this problem has happened to me, it happened on my first rom too.. (2months ago.lol)
i litteraly started again from scratch (a nice clean slate) ill just start my rom again like i did then which will solve my problem.lol ive got all my programs and setting backed up (*in a messy folder of messy folders )
my new kitchen will basicly be up and running again by the end of the day, its my birthday on wednesday so i may as well set it as the rom date.lol
Raving_1337_Rom_V3 (Alpha)
Cheers anyway dude, muchly appreciated!
Rn
[changed title to solved, @claros]
raving_nanza said:
its ok claros, f*ck it dude, its the second time this problem has happened to me, it happened on my first rom too.. (2months ago.lol)
Click to expand...
Click to collapse
This happened to me at least 20 times, or more
Let's check together what happen at first boot, if I'm wrong anybody else will correct me.
1) files are moved from \windows to other directory according to your app.dat / initflashfiles.dat.
2) .provxml files are parsed to change config values or filesystem
3) welcome is executed, but this command don't stop startup so:
3a) autorun.exe or runcc is executed too to customize rom: these package runs according to the commands inside various config*.txt files in oem packages or sometimes in ext packages
4) user configuration, usually included as a call inside one of conf*.txt files is executed. If you don't use xda_uc, user customization should follow the same syntax as autorun/runcc
5) Last conf*.txt file should include at least a
LOCK: Disabled and a reset
At this point you should have completed the welcome wizard. If not, and your calibration data is not in registry, your are prompted again with welcome wizard at second boot.
Common errors during boot sequence are:
- wince.nls is missing
- app.dat / initflashfiles.dat error, such as creating subfolders inside non existent folders or statements not in unicode format
- registry / provxml errors during setup of welcome.exe itself, for example you disable the whole welcome wizard but don't write calibration data into registry
- chain error inside conf*.txt files, such as config.txt calls config_operator.txt which call config.txt, generating a loop
- a cab or command inside a config*.txt files cannot be installed, for example for lack of space or a missing certificate
What I usually do in these cases is:
- check platformrebuild log file for errors
- save my last tmp/dump folder to check what is really inside the rom and what is really overwritten by what
- If you can connect by activesync to device before reboot, explore the device itself, it's processes and registry
- recompile the rom putting semaphores inside app.reg files, .provxml files, config*.txt file. I usually add an ext package to be included as the last one (ZZZ_Claros_Fix) where I put a special app.reg, a .provxml and a modified copy of config.txt, config_operator.txt, config_end.txt etc etc.. If you don't have a diamond, you can boot without sdcard to avoid any sd_config.txt error
Starting a new kitchen from scratch for me is at least 20 days of work, I'd spend a day more finding a solution
Ciao
claros said:
This happened to me at least 20 times, or more
Click to expand...
Click to collapse
A Mortscript called Autorun.exe
V2 working again, Cheers!
*i started setting up a new kitchen then thought f*ck that!
Rn
Are you saying that you were cooking in mortscript, and the autorun.exe file from the mortscript package over-wrote the one from your OEM package? I think that happened to me once a while ago. I just left out the one from mortscript; I've never needed it before, anyway.
...
yeah a mortscript called Autorun.exe over-wrote my OEM Autorun.exe
i deleted it the mortscript, everythings sound now

Categories

Resources