Hi!
There a lot of kitchens avaialable for ROM building. Now this one is to ease TouchFlo3D building.
This kitchen uses the knowledge and works of 6Fg8, D-MAN666, xboxmod, chainfire and many others who are involved in Manila hacking.
If you use this kitchen and/or any of the decompiled scripts then be so kind and share back the source code of your modified scripts too!
This kitchen (v1.5) has the following utilities included:
6Fg8's mode 9 editor (v3.3.0.1)
sztupy's mode9 converter (v1.0)
chainfire's CFC compressor (v0.46)
MKT: a tool for batch converting/compressing/compiling mode9,qtc,png,xml,lua files (v1.1)
LuaDec (2.0)
A work in progress lua and xml IDE
And various other tools
In the center of this kitchen stands MKT aka manila_kitchen_tool, which is like 'make' but for manila kitchen developement.
It has the following functionality:
split hased _manila files back to their original filenames
join a bunch of files in a directory back to their hashed form
mass decompile mode9 files back to xml and save their lua scripts
mass convert qtc files to/from png files
mass compile lua files
It works like 'make' in sense that only the modified files will be recompiled/recompressed so after the firts setup it might be ideal for manila development.
The output of the kitchen was tested with the Rhodium manila (WVGA version) on a HTC raphael device and it works, so this project is no longer a prototype, but is still considered beta stuff
Kitchen set up
I uploaded a complete Rhodium2 Manila kitchen in case you want to use that as a base (download both the kitchen and the rhodium files, then copy them to the same directory), but of course you can use any other manila pakcage you get across. To set up the kitchen copy the package into the 'pkg' directory then run:
Code:
mkt split
to split the hashed files back into their filenames. (For this conversion it uses the same table as m9editor uses.)
You will get a "bin" directory. This will hold all "compiled" stuff, so here you will find all the files that don't need more preprocessing, and can be hashed/installed to the device
Next you want to get some editable files out from the luac, mode9 and qtc files, so use:
Code:
mkt -x bin frommode9
To decompile mode9 files back to XML (it will also extract the scripts out of the package)
Next:
Code:
mkt -c d,qp fromqtc
or
mkt fromqtc
Will convert all qtc files to png files. (the first type will work on cfc compressed qtc files, the second will work on non cfc compressed files)
After this only the scripts are remaining. Unfortunately these can't be decompiled easily, so grap the decompilation of someone (like me ), and put these files into the "insrc" directory. After this run
Code:
mkt -d insrc -o src split
so all the hashed _manila files will be converted back to their original filenames to ease searching through them.
After this you're ready with your prepared kitchen. These things were already done with the Rhodium manila so you might use that package to start manila modding.
Compiling
You can use tomode9, compile and toqtc commands to compile these files back to their binary counterpart. Alternatively you can use:
Code:
mkt -c pq,c,p make
to run this three command after each other. It's like a Makefile, so it will only compile things that have changed. Of course you might want to 'make all':
Code:
mkt -a -c pq,c,p make
This will build all files from the "src" directory into the "bin" directory
Creating the package
After you're done you can use
Code:
mkt -o outdir join
to hash all files from the bin directory back to hashed form, and put it into the 'outdir' directory. Next add the binaries and you're ready to flash
Alternatively I included createpkg that will create a cab package from the OEM apckage found in the 'pkg' directory
Download and other stuff: http://winmo.sztupy.hu/manilakitchen.html
Sounds great! Downloading now. Thanks sztupy!
Yeah, good job sztupy, this will be a great addition.
nice...gotta buy a bigger house...so many kitchens
pcarvalho said:
nice...gotta buy a bigger house...so many kitchens :d
Click to expand...
Click to collapse
roflcopter
pcarvalho said:
nice...gotta buy a bigger house...so many kitchens
Click to expand...
Click to collapse
what you need is a microwave
sztupy said:
Missing functionality / bugs:
Embedded decompiled scripts can't be re-embedded into mode9 files automatically (this would need a command line mode9 editor
Click to expand...
Click to collapse
I can help you out with that. Not that it's already done but copying the relevant parts from m9editor together isnt the big deal.
6Fg8 said:
I can help you out with that. Not that it's already done but copying the relevant parts from m9editor together isnt the big deal.
Click to expand...
Click to collapse
I hoped so
unfortunately it's hard to tell a command line tool where to inject the scripts... An XML export/import function would be cool (export it to XML, without the binary scripts, then add the decomp'd scripts, and the importer would do its job esolving everything), but I know that won't be possible until you resolve the mode9 files completely...
sztupy said:
I hoped so
unfortunately it's hard to tell a command line tool where to inject the scripts... An XML export/import function would be cool (export it to XML, without the binary scripts, then add the decomp'd scripts, and the importer would do its job esolving everything), but I know that won't be possible until you resolve the mode9 files completely...
Click to expand...
Click to collapse
hm, didnt do much with xml, but i think i can figure that out. mode9 is almost done, there's only one bytegrave at the end of a mode9 file still unknown to me.
6Fg8 said:
hm, didnt do much with xml, but i think i can figure that out. mode9 is almost done, there's only one bytegrave at the end of a mode9 file still unknown to me.
Click to expand...
Click to collapse
your visualization of the m9 files look like xml, that's why I thought about that (but yaml could be a good serializator too). But this is just an idea, if you can tel me an easy way to tell a command line script where to inject a script that would be fine
And a command line CFC compressor is also needed
sztupy said:
your visualization of the m9 files look like xml, that's why I thought about that (but yaml could be a good serializator too). But this is just an idea, if you can tel me an easy way to tell a command line script where to inject a script that would be fine
And a command line CFC compressor is also needed
Click to expand...
Click to collapse
mode9 is basically binary XML, so i had no choice
The easiest way (at least for me) is byte positions just kidding ...
I'm on vacation next week, maybe i'll get struck by an ocean of light while skiing on one of the wonderful austrian mountains
CFC compressor .... I've that lying around somewhere here, shouldnt be a problem to adapt it.
an ambitious project... thank you
nice work great addition
Scripts update addon with the newest decompiled stuff.
Kitchen is now tested and considered BETA. Also added a great new tool: MKT to the kitchen. Read first post.
sztupy said:
Kitchen is now tested and considered BETA. Also added a great new tool: MKT to the kitchen. Read first post.
Click to expand...
Click to collapse
Just downloaded kitchen and getting ready to start playing. Just wondering, will this make a installable cab file for rhodium manila for touch pro? Of course with vga adapted files. I've noticed that previous attempts of making a cab for it have failed, but oem packages work when cooked in. I'm making a theme, which shouldn't require a full install, but would be nice to know.
showaco said:
Just downloaded kitchen and getting ready to start playing. Just wondering, will this make a installable cab file for rhodium manila for touch pro? Of course with vga adapted files. I've noticed that previous attempts of making a cab for it have failed, but oem packages work when cooked in. I'm making a theme, which shouldn't require a full install, but would be nice to know.
Click to expand...
Click to collapse
I tried to install it as a cab on NATF's ROM I'm using, and it worked flawlessly. It might break on a stock ROM though. The whole convert to cab thingy is alpha currently, but hopefully it will be solved.
sztupy, So how do you go about fixing the main function? I have the LUA file I've been working on done except for the main function and all the Q16.16 instances. But looking at the src.lua file, it appears chunks of the main are scattered throughout the file. Literally, I have code parts at the beginning of the file, in the middle and at the end of the file.
That's how the luadec output that you ran for me (because luadecguess was inaccurate) outputted the decompile.
So I'm stuck because I'm not sure how to proceed with fixing it. What do you do, just leave it where it's at and search for what it's referring to and fix it where you find it? Or do you cut/paste (move) it at the top of the src code in the order it's supposed to be in?
EDIT: never mind, left the code where it was and just searched out and fixed what it referenced. Other then the Q16.16 lines, everything is good.
Hi sztupy. Excellent work. Im poor and unemployed so although Id like to, I cant donate any cash at the moment. I like this project enough to offer body parts though, if any of yours fail
EDIT - bug report removed. was related to luaconv.exe. moving to another thread.
smotrs said:
sztupy, So how do you go about fixing the main function? I have the LUA file I've been working on done except for the main function and all the Q16.16 instances. But looking at the src.lua file, it appears chunks of the main are scattered throughout the file. Literally, I have code parts at the beginning of the file, in the middle and at the end of the file.
That's how the luadec output that you ran for me (because luadecguess was inaccurate) outputted the decompile.
So I'm stuck because I'm not sure how to proceed with fixing it. What do you do, just leave it where it's at and search for what it's referring to and fix it where you find it? Or do you cut/paste (move) it at the top of the src code in the order it's supposed to be in?
Click to expand...
Click to collapse
You can consider every function in the file as a value. It's just like a number or a string in this case, because in the main body you assign functions to some variables. So if you find something:
Code:
SomeStuff = function(foo)
lots of stuff
lots of stuff
lots of stuff
end
SomeOtherStuff = function(bar)
lots of stuff
lots of stuff
lots of stuff
end
Then in the main body this will translate to:
Code:
SomeStuff = funtion1
SomeOtherStuff = function2
And in the disassemlby to something like this:
Code:
R0 := Function(f1)
SomeStuff := R0
R0 := Function(f2)
SomeOtherStuff := R0
And of course the definitions of these functions will be put after the main body (just as with any other inlined function, the only exception is that compare/luadec and the other tools I made will handle these functions separately to ease decompiling). So if you have to fix the main body you have to only look at the part of the script which is not in a function...end body
Related
Hi, I have a folder with a couple of folders in it that each contain a whole lot of files. I want to cook this folder (with its subfolders) in a rom and place it in the device root folder.
I wonder if there is a utility that can automatically generate a app.dat file from this folder?
Why not Zip it up with an unkown extension, then unzip with Mort (can handle unkown zip extensions).
Using initflashfiles file operations slows up filesystem.
(using unkown filetypes and folders does not)
Sorry if i sound like a broken record to some.
appelflap said:
Hi, I have a folder with a couple of folders in it that each contain a whole lot of files. I want to cook this folder (with its subfolders) in a rom and place it in the device root folder.
I wonder if there is a utility that can automatically generate a app.dat file from this folder?
Click to expand...
Click to collapse
you could make a cab with wince cab mgr(it supports drag n drop of folders) then convert the cab to ext pkg or run it in customization.
twopumpchump said:
you could make a cab with wince cab mgr(it supports drag n drop of folders) then convert the cab to ext pkg or run it in customization.
Click to expand...
Click to collapse
Brilliant! Thanks
twopumpchump said:
you could make a cab with wince cab mgr(it supports drag n drop of folders) then convert the cab to ext pkg or run it in customization.
Click to expand...
Click to collapse
For a more Freeware solution (but without the easier Drag and Drop support)
http://forum.xda-developers.com/showthread.php?t=530710
Extenddir Cab Maker.
Noonski said:
For a more Freeware solution (but without the easier Drag and Drop support)
http://forum.xda-developers.com/showthread.php?t=530710
Extenddir Cab Maker.
Click to expand...
Click to collapse
Thanks, fortunately wince cab maker has a generous trial period. For that one time I have to put all copilot map files in a cab, it is the best option. Thanks anyway
Cabs suck, they're a pain in the butt to make and take forever to install. Just do what Noonski said and make a zip file. They install in seconds, whereas big cabs can take minutes. Here's the basic format I use; this zip file goes to the device root, which is what you want (you need the right # of \'s to get it to work). First, I have a zip file named 'root.zip'. Then, I name the mortscript Unziproot.mscr. Here's the script:
Code:
UnZipALL("\Windows\root.zip","\\")
To get it to execute, I add this to an add2config.txt file:
Code:
EXEC:\WINDOWS\Unziproot.mscr
Zip files are a helluva lot easier to make than cabs; I do it all the time with total commander on the device, and it takes just a few seconds. They're trivial to edit, too. I've attached a zip file that has the add2config.txt, the mortscript, and also a simple mortscript package that works well. Seriously, just listen to Noonski.
Edit: Make sure the mortscript doesn't have any spaces in it. If you name it "Unzip root.mscr", it won't run during customization (been there, done that, lol).
Hey Noonski.. how about we make a script, or an executable that we can plug in a kitchen batch file right before IMGFS gets created, that can look at at an initflashfiles.dat, analyze it, line by line, then create a zip with all the files its supposed to move then copy an almost blank initflashfiles.dat back in the "dump" directory. We could even do this in mort for windows!
NRGZ28 said:
Hey Noonski.. how about we make a script, or an executable that we can plug in a kitchen batch file right before IMGFS gets created, that can look at at an initflashfiles.dat, analyze it, line by line, then create a zip with all the files its supposed to move then copy an almost blank initflashfiles.dat back in the "dump" directory. We could even do this in mort for windows!
Click to expand...
Click to collapse
TPC mentioned doing something like that in the extendir thread. I will say this, I've tried to install my entire start menu with a zip file, and the bugger wouldn't work. The script worked fine after bootup, but it wouldn't run during customization. I don't know what the deal was. I only tried it a couple of times, though, but I don't think that I just did something really dumb.
Farmer Ted said:
TPC mentioned doing something like that in the extendir thread. I will say this, I've tried to install my entire start menu with a zip file, and the bugger wouldn't work. The script worked fine after bootup, but it wouldn't run during customization. I don't know what the deal was. I only tried it a couple of times, though, but I don't think that I just did something really dumb.
Click to expand...
Click to collapse
That should be an easy thing to fix...
yeah i have actually made zips for every file that goes somewhere besides windows, you wont believe the amount of space this saves and how much faster your rom is it is alot of work, one way that makes it a lil easier is to make a list of all the files that are in your zips then have your .bat delete them from dump before imgfsfromdump.exe runs in kitchen....but we could do it better and easier im sure if we just all put our heads together
Wow good idea, that's taking it into a whole new level, automating it.
It's about time this method creeped it's way from the method of a few to something that everyone can take advantage of.
It's one of the most underused methods for a bit more speed, instead of improving filesystem cache settings, reducing the stress on the file system.
(totally made the above up, I just threw a few interesting words i have been reading here and there, before people start thinking I actually understand the file system at a low level) I just know from experience and just doing it that there's advantages.
It's batching beyond my expertise (low level but creative ).
But i'm pretty sure there's a few good men for the job.
HowdyKeith and RoryB come to mind when it comes to Mort Syntax and reading values from files.
Their Batching knowledge should also be good.
But if this is do-able, then why not also not try to get rid of .provxml files to, and speed up the first boot time. Provxml is the second killer of speedy first boots.
Noonski said:
Wow good idea, that's taking it into a whole new level, automating it.
It's about time this method creeped it's way from the method of a few to something that everyone can take advantage of.
It's one of the most underused methods for a bit more speed, instead of improving filesystem cache settings, reducing the stress on the file system.
(totally made the above up, I just threw a few interesting words i have been reading here and there, before people start thinking I actually understand the file system at a low level) I just know from experience and just doing it that there's advantages.
It's batching beyond my expertise (low level but creative ).
But i'm pretty sure there's a few good men for the job.
HowdyKeith and RoryB come to mind when it comes to Mort Syntax and reading values from files.
Their Batching knowledge should also be good.
But if this is do-able, then why not also not try to get rid of .provxml files to, and speed up the first boot time. Provxml is the second killer of speedy first boots.
Click to expand...
Click to collapse
it would be awesome to have a tool that reads initflashfiles.dat from dump, puts all the files that go in other folders besides windows in a zip file also would be nice to be able to select a list of files to go into extendir\windir as well.
Noonski said:
Why not Zip it up with an unkown extension, then unzip with Mort (can handle unkown zip extensions).
Using initflashfiles file operations slows up filesystem.
(using unkown filetypes and folders does not)
Sorry if i sound like a broken record to some.
Click to expand...
Click to collapse
Hi Noonski, I think these are really great ideas. One question about your comment on iniflashfiles slowing down the system, are you referring to the startup time on first boot? Because I fail to see where the speed would be effected in general terms as the only function of the iniflashfiles is to specify where files get placed other than windows. Once they are moved in to the correct places the files is useless. So I don't see how the speed could be any different than with a zip other than the customization time being reduced. Of course I could be wrong. lol
Meant it more in the way that you then do not actually need that file to be in Rom, and therefore in the Windows folder. That's where i meant the most gain was.
Not sure if there's any other extra difference between a file that has been copied from Windows to a sub-folder or an extracted one, other then that it won't be read only and not present in Windows.
Well if you have a zip file with folders and files inside that folders
and you make a script that copies these folders to the corresponding dirs on the device you accomplish what you are asking here isn't?
twopumpchump said:
it would be awesome to have a tool that reads initflashfiles.dat from dump, puts all the files that go in other folders besides windows in a zip file also would be nice to be able to select a list of files to go into extendir\windir as well.
Click to expand...
Click to collapse
Hmmm if every file in a rom was moved without leaving a copy on the windows root I wonder how many files would be eliminated. Im guessing quite a few. Im thinking the only way this would work would be for a mod to be made for EVK allowing all the initflashfiles.dat info and app.dat info to be compiled and a zip created from them.( Not sure a simple zip could properly place that many files?) Then the files placed inside the zip would need to be deleted before the rom is compiled. Theoretically I think its possible.
@L26
Yeah your right. However I think the biggest thing to look at is there a easier way than doing it all by hand It would take forever to take every file moved by the .dat files and make a zip. Not to mention updating the files for new versions would be a PITA
aruppenthal said:
Hmmm if every file in a rom was moved without leaving a copy on the windows root I wonder how many files would be eliminated. Im guessing quite a few. Im thinking the only way this would work would be for a mod to be made for EVK allowing all the initflashfiles.dat info and app.dat info to be compiled and a zip created from them.( Not sure a simple zip could properly place that many files?) Then the files placed inside the zip would need to be deleted before the rom is compiled. Theoretically I think its possible.
Click to expand...
Click to collapse
amazing, check my post and scripts in this same forum ... I was trying to do the same (only with shortcuts for now): cook shortcuts without leaving double files in windows folder, so I remove all shortcuts from the kitchen and once cooked I create the provxml with mortscript reading an ini file and inject the provxml files to the kitchen and the cook again. Of course I only include files present in the ROM. How can I avoid cooking twice?. the script also zips and copies all the files that will be needed for the scripts that run at first boot, including the files only if the modules are in the kitchen.
May be a mod in EVK to runwait scripts before creating the nbh could open a lot of new ways of cooking without using windows directory.
@noonski, do you care taking a look at my script building the provxml file? I am pretty sure you will have lots of suggestions on how to progress further.
cruiserrr said:
amazing, check my post and scripts in this same forum ... I was trying to do the same (only with shortcuts for now): cook shortcuts without leaving double files in windows folder, so I remove all shortcuts from the kitchen and once cooked I create the provxml with mortscript reading an ini file and inject the provxml files to the kitchen and the cook again. Of course I only include files present in the ROM. How can I avoid cooking twice?. the script also zips and copies all the files that will be needed for the scripts that run at first boot, including the files only if the modules are in the kitchen.
May be a mod in EVK to runwait scripts before creating the nbh could open a lot of new ways of cooking without using windows directory.
@noonski, do you care taking a look at my script building the provxml file? I am pretty sure you will have lots of suggestions on how to progress further.
Click to expand...
Click to collapse
isnt the simplest way just to go to your windows folder on your phone and copy Start Menu folder to your pc, create a list of the files that are in that folder and use .bat to delete them while cooking, zip that folder up and put it in kitchen or sdcard and use .mscr to unzip to windows directory at first boot? you only have to cook once this way
twopumpchump said:
isnt the simplest way just to go to your windows folder on your phone and copy Start Menu folder to your pc, create a list of the files that are in that folder and use .bat to delete them while cooking, zip that folder up and put it in kitchen or sdcard and use .mscr to unzip to windows directory at first boot? you only have to cook once this way
Click to expand...
Click to collapse
well, do not want to go offtopic of this post. The idea is to cook automatically with no errors. My method cooks only what is needed without putting files to windows folder. Basically I only have to run twice when changing modules included. If it is only about changing icons, order, etc I simply run the script and cook. If it is about customization I would certainly do like you say (I have done it many times in the past). If it is about cooking should be more automated. Is complex to build but now I only define the INI files parameters: icon, parameter, folder, order... (I have not touched the mortscript since I completed it). Anyway, my building method as its own post. I just found similar ideas behind in this thread and tought they could converge.
Hi all!
I searched a lot on that topic an coocked loads of roms (for XPERIA/Kovsky/Venus) for testing purpose...But I cannot find a solution for that.
All my recently cooked ROMS (several Builds) are missing root certificates, I only have each two from HTC and Sony Ericsson in Setings. What went Wrong? where to find them? I thought to have found them in the following provxml's which actually is not the case I found out... (see below)
<old> Here is my problem. Build 23541 is seemingly (at least for me) missing root certificates. I managed to figure out they are included in a provxml called mxip_wpc_3.provxml. So I copied that one from a official LEO ROM (Build 21***) and did not change anything. After flash I can find it located in \Windows\ but the certificates are not appearing in Settings.
Now I now that provxmls need to be in UTF-8 format and set to read only, hidden and system. That ist tha case with this specific file. So what's wrong? </old>
I hope that someone can help me with that topic cause I have no other idea now.
Thanks A lot guys!
Hilaireg put together a really good tutorial om provxml's. Look it up, it may help. And make sure NET CF is cooked in (just a guess).
I guess you don't have that provxml added to any of dsm files . Just use this tool and add it to any of dsm files.
http://forum.xda-developers.com/showthread.php?t=523139
You can also use xml parser to check if file is good, for example Serna Editor.
tomcug said:
I guess you don't have that provxml added to any of dsm files . Just use this tool and add it to any of dsm files.
http://forum.xda-developers.com/showthread.php?t=523139
You can also use xml parser to check if file is good, for example Serna Editor.
Click to expand...
Click to collapse
Do you happen to know if that is needed too with platformrebuilder?
I've never worked with it but my guess is that you won't have to manually add provxml to dsm files.
Farmer Ted said:
Hilaireg put together a really good tutorial om provxml's. Look it up, it may help. And make sure NET CF is cooked in (just a guess).
Click to expand...
Click to collapse
Must be talking about this thread: http://forum.xda-developers.com/showthread.php?t=519548 Found it, thanks, very interesting indeed...this one will go into my bookmarks
Anyway, as i just copied the files from a working ROM I don not think something is wrong with them...
tomcug said:
I guess you don't have that provxml added to any of dsm files . Just use this tool and add it to any of dsm files.
http://forum.xda-developers.com/showthread.php?t=523139
You can also use xml parser to check if file is good, for example Serna Editor.
Click to expand...
Click to collapse
Thnkas as well, Layout is probably good, as the are woring in that LEO ROM.
I will look a bit deeper in your link, this sounds like the right way.
Are there other sugestions?
tomcug said:
I guess you don't have that provxml added to any of dsm files . Just use this tool and add it to any of dsm files.
http://forum.xda-developers.com/showthread.php?t=523139
You can also use xml parser to check if file is good, for example Serna Editor.
Click to expand...
Click to collapse
Tryed that now...But it did not help! Considering the xml is good (as it is working in a leo ROM) what else opportunities are there?
EDIT: Tried to import the provxml's (mxip_wpc_2.provxml and mxip_wpc_3.provxml) using AdvancedConfig but with no luck. Wondering...
Rename the file ZZZmxip_wpc_3.provxml and try again. EVK processes .provxml files in alphabetical order. If a directory referenced in the above .provxml is not created by a previously processed .provxml, then the modifications will not be applied.
I guess you are referring to this thread: http://forum.xda-developers.com/showthread.php?t=707717
From what I understand (probably very little) your provxml got executet too early as one shortcut was not yet present in the startmenu, so it stopped, right? With my files they do not depend on other files / reg values as these are just certificates...anyway, lets see
I will do so now, but I also tried to build a clean (no EXT) ROM from 23563 Rollup thread by Da_G and had the same problem! This is starting to get starnge...Will report in about 30 mins.
EDIT: Renaming did not help. Starting to get frustrated...
EDIT2: Even converting that provxml to a cab did not work. Am I looking in the wrong place?
Yes that thread, some ppl said that you need to edit the OEMs dsm where you add the provxml and add the provxml into it, dunno if it works... another one is... when a provxml fails in a corrupted line the next lines dont be executed but the before lines were set... so maybe the dirty way can works for you... if not works... your provxml is wrong in that thread many ppl said something about using a tool to see if the provxml is ok try them too
the dirty way to make it is... ad the provxml lines in your provxml to any other provxm... remember to keep the same attributes in that provxml.
+ Que PPC said:
Yes that thread, some ppl said that you need to edit the OEMs dsm where you add the provxml and add the provxml into it, dunno if it works... another one is... when a provxml fails in a corrupted line the next lines dont be executed but the before lines were set... so maybe the dirty way can works for you... if not works... your provxml is wrong in that thread many ppl said something about using a tool to see if the provxml is ok try them too
the dirty way to make it is... ad the provxml lines in your provxml to any other provxm... remember to keep the same attributes in that provxml.
Click to expand...
Click to collapse
trying the dirty way now.
I checked the provxml using a provxml2cab converter which usualy gives an error on bad files. And I am using Notepad++ which makes chacking quite easy. Than again, it comes from a official ROM and was not modified...
EDIT: Nope, not included!
what does that provxml has inside? some icons arrangement? or shortcuts?
Root certificates. both are attached below.
Are you using oskitchen alpha? There have been some problems with provxml not running (hence the alpha) but alpha5 should be fine.
Not sure? Its the NewUI Version and one of the last ones with the old folder structure (I think 1.27 or so)
derliebewolf said:
Not sure? Its the NewUI Version and one of the last ones with the old folder structure (I think 1.27 or so)
Click to expand...
Click to collapse
It was a problem specific only to the 1.31 alphas. Make sure the provxml files have the three attributes set (hidden, read-only and system), that could be the cause of the issue.
I am pretty sure the attributes are stet as you say.
If dirty way doesn't work, then I'm pretty sure it's something wrong with provxml file.
derliebewolf said:
I am pretty sure the attributes are stet as you say.
Click to expand...
Click to collapse
The only real way to find out is to set oskitchen to stop before imgfs generation or setting LZX and going quickly in the platformrebuilder temp\dump folder while it's generating IMGFS and using the ATTRIB command on the files in the dump folder to see what attributes those end up with. If all those three attributes aren't set the files won't run.
I'm pretty sure I've had provxml file with no attributes and it worked perfectly, but maybe I'm wrong .
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
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
Hi.
Going to thread:
I build my own kitchen which uses platform rebuilder (far called PRB), it's for Universal and contain 21884 build (my favourite ).
Everything goes okay, registry, modules, files is okay but the problem is known .provxml issue.
I use PRB 2.1 (displays mmap)
All provxml and dsm are readonly, system and hidden
I tried to put all provxml to external dsm, also add all files into one dsm, updating existing dsm, renaming provxml's to mxip_zzzz << you know the 'zzzz' makes it process at last.
No success.
Fail effect is:
No Office (which installs via provxml), no start menu icons, no theme loaded, classicblue failed. etc.
Any ideas?
bump, without any ideas?
try to leave the Hidden attribute.
FDCTask Manager (aka DotFRED) can import *.*XML file; it's handy for testing and ensuring that the XML file is properly formed. Have a look at this post and the reference link at the end:
http://forum.xda-developers.com/showpost.php?p=5959794&postcount=9
It is an issue with setting the attributes correct when building OS.
http://www.mobileunderground.info/showthread.php?t=17128&p=45430#post45430
ai6908 said:
It is an issue with setting the attributes correct when building OS.
http://www.mobileunderground.info/showthread.php?t=17128&p=45430#post45430
Click to expand...
Click to collapse
No way, it didn't helped and didn't fixed anything.
My kitchen main bat file looks that now:
http://pastebin.com/ac1rtNeV
Any ideas for now? Maybe about DSMes?
EDIT:
Seems to be fixed
Helped another attrib config, take a look on my kitchen. Closing
http://pastebin.com/J9RrGmj8