ROM XIP porting issues and a proposal for a Wiki tutorial - Windows Mobile Development and Hacking General

OK, even mods need guidance on using the search function. Is there a comprehensive ROM porting tutorial out there which uses the latest tools? I've seen some for the Atom as well as the Trinity and Kaiser, but I'm working on porting a ROM for my Wizard, and I'm getting nowhere when it comes to the XIP section. It would take a full day to write down what all I've tried, so I'll try to give the short version and ask for help from there.
Anon. said:
Now, are you looking to port only the core OS? If so, it's fairly easy. The hardest part is the work to the XIP. Porting the XIP will require that you use RomMaster to extract the XIP.bin of the source ROM and the destination ROM, and then use XIPPORT to dump the XIP of both, then click "Write Maps" on both. Use the Make Packages button to separate the XIP into its packages, and in both the Files and Modules of the dump, replace MSXIPKERNEL of the destination with the source. Then use M'Reloc.exe to relocate the modules to the same as the original (if they differ) and also manually make the same changes to imageinfo.txt of each module. Click Undo to take the files out of packages, and Realloc P. If all goes well, there will be no errors. Look in Map.txt and see if there are no !!!!!.
Click to expand...
Click to collapse
When I do this using the CE OS 5.2.308 (Build 15342) as the donor ROM and CE OS 5.2.1413 (Build 17745) as the new ROM, I'm getting !!!!! due to a strange address issue with hd.dll in that m'reloc reports that the physical address is wrong and will not relocate the module. I dumped both xip.bin's using 0x00310000 as the address so this may be wrong but right now I'm pretty lost.
I hope this isn't gibberish. Any help is welcome.

OM
I have been looking for a tutorial on Rom porting..could you please list the Tools required and where is the whole Tutorial

jwzg said:
OK, even mods need guidance on using the search function. Is there a comprehensive ROM porting tutorial out there which uses the latest tools? I've seen some for the Atom as well as the Trinity and Kaiser, but I'm working on porting a ROM for my Wizard, and I'm getting nowhere when it comes to the XIP section. It would take a full day to write down what all I've tried, so I'll try to give the short version and ask for help from there.
When I do this using the CE OS 5.2.308 (Build 15342) as the donor ROM and CE OS 5.2.1413 (Build 17745) as the new ROM, I'm getting !!!!! due to a strange address issue with hd.dll in that m'reloc reports that the physical address is wrong and will not relocate the module. I dumped both xip.bin's using 0x00310000 as the address so this may be wrong but right now I'm pretty lost.
I hope this isn't gibberish. Any help is welcome.
Click to expand...
Click to collapse
If you can translate from polish - there are:
http://www.mobione.pl/index.php?page=porting_ROM_porting
http://forum.mobione.pl/index.php/topic,3319.0.html

I don't read Polish. Anyway, my test device was dropped today, and I may have to put my only good one on the line.

Related

[HELP] Help with XIP porting

Does anyone know a good tutorial (thread) for XIP porting
Thnx in advanced
Looking for the same. Anyone please? I'm sure I'll serve the community with new ROMs if I learn..
Regards,
Carty..
If you want there is one in italian:
http://www.a1kstyle.com/ptopic17150.html&highlight=xipport
That's the same incomplete version which is similar to Garmin' English version at Atom' Section. Looking for a more detailed one. Found something in Polish at http://mobione.pl/index.php?page=porting_ROM but seems there is no online translators for polish
Anyway, as far as Ive struggled, I understood that you strip coredll from one xip, use mreloc to change v and d base, paste coredll to the xip of other device and build it. Is that it required for building a new OS? I mean, does the new OS build solely depend on coredll? Then what kind of improvements will it have?
Thanks for helping.
Regards,
Carty..
Afther patch coredll.dll yopu have to change all the SYS folder (obtained with package tool) with the newest one.
I rip a ROM and get lot of folders such as the extra packages the previous cook added. I presume those files aren't needed but the rest of the common folders such as phone,os,baseapps and so on? What about the .ROM and .VM folder? Should they also be replaced?
What do they(.ROM and .VM) folder exactly do? They just seem to have some address information inside.
Regards,
Carty..
http://forum.xda-developers.com/showthread.php?t=331094
Isn't it preferrable to move over all of msxipkernel?
Yes I looked at the G'Loc thing before but no instructions on how to use it
Regards,
Carty..

Please help me start out - Rhodium Rom

Ok, I came to the point where I would like to see if it's possible to cook my own rom. There is, however, so much (cluttered) information around the forum and I just have no idea where to start. I did figure some stuff out, but with everything I find out I also get more questions. I hope I'm allowed to ask these here.
Windows Mobile / Sense:
I am planning to begin flashing a rom only for my phone: Rhodium / Touch Pro 2. I just don't realy get how I can get the latest version of windows mobile (the on with the start menu at the top left) and sense (2.5.2015 ?). The stock roms I can find for Rhodium contain older versions.
Kitchens:
There are quite some kitchens out there, even those that do a lot of work for you. To understand everything, however, I would rather get a kitchen with only the essential tools. This way I am hoping to understand what steps are needed for the cooking. What kitchen would be recommended for this?
Terms
There are lots of terms around, but for some of them I can't figure out what exactly they are.
- XIP
- SYS
- OEM
Thanks!
~Sph
For WM, you should find the newest version of COM2 build, which is Build 21905 at this moment. It seems that not mentioned in XDA, but you could Google for that.
I think you should be able to use these essential tools, often refer as "old style" kitchen
ImgfsFromDump
xidump (ImgfsToDump) and DMP2PKG
osnbtool
BuildOS
EXTReloc
XIPPort
maybe there are more tools when you need to repack back to nbh format
For Terms, you should read Da_G's post here
http://forum.xda-developers.com/showthread.php?t=544445
I will tell you this....
read the tutorials... check the main stickie
read eve you dont understand nothing... then when you want to start trying things, you can ask.. with some knowledge.. the lates kitchen to date is Oskitchen by airxtreme and osbuilder.. i guess
Not to be mean but like +Que PPC said READ FIRST you should have look for information first and found this answers by your self ... Now about the systems and xip ext, sys, modules, cabs and all other stuff like that you will learn them when you start working on a kitchen.
About the kitchens there are various kitchens it just deppends which one you want to choose, all the kitchens will help you create your rom and customise it, and also one recomendation and requirement that you should have in order to create your own rom and that is patience and time, because you will need to look for alot of info and also looking for fixes and customisation and all of that.
Here is another kitchen that I recomended thanks to +Que PPC with the tutorial with videos in english made by me.
HTML:
http://forum.xda-developers.com/showthread.php?t=669535
PS. Search & read first
XIP = eXicuteInPlace -- it's the core of the entire OS. Without it you got nothing.
XIP is made up of 2 main parts:
oemxipkernel - device specific
msxipkernel - build specific to SYS version
SYS is basically all the microsoft files
OEM is basically all the device specific files, and nonMS applications
If you have a CDMA Touch Pro 2, I have a kitchen here all set up for you:
http://www.mobileunderground.info/showthread.php?t=12797
If you have GSM, you will need to change out some components of the kitchen, specifically xip and oemdrivers, plus a few other things.

Fujitsu n520 - I need help!

Hi,
this my first time about cooking a rom and I gooogled a lot but I can't find any info about cooking rom for this device.
The only information is in this old thread: http://forum.xda-developers.com/showthread.php?t=294165
and a wm6 port here: http://forum.xda-developers.com/showthread.php?t=320686
following this post: http://forum.xda-developers.com/showpost.php?p=2729160&postcount=16 I succesfully "converted" the nbf to nb.os
The nb.os with xidump is correctly(?) dumped in two folders, XIP and IMGFS
I'd like update WM to a newer release and include/remove some apps.
Can someone help me?
Thanks,
Michele
SystemR89 said:
Hi,
this my first time about cooking a rom and I gooogled a lot but I can't find any info about cooking rom for this device.
The only information is in this old thread: http://forum.xda-developers.com/showthread.php?t=294165
and a wm6 port here: http://forum.xda-developers.com/showthread.php?t=320686
following this post: http://forum.xda-developers.com/showpost.php?p=2729160&postcount=16 I succesfully "converted" the nbf to nb.os
The nb.os with xidump is correctly(?) dumped in two folders, XIP and IMGFS
I'd like update WM to a newer release and include/remove some apps.
Can someone help me?
Thanks,
Michele
Click to expand...
Click to collapse
osKitchen can take and rebuild the NB of that phone with probably no issues but you need to figure out the rest by yourself since the older the phone is the more likely it has drivers that will break with wm6.5.
Uhmm..thats interesting,could you explain how make this?
I have an old PocketLoox 720 with .nbf and it can run with no problem WM 6.1.
I know how to use OsKitchen but where i need to put the Os.nb converted?
Other issue will be the NBH output , of course ill need nbf for flash the PDA.
airxtreme said:
osKitchen can take and rebuild the NB of that phone with probably no issues but you need to figure out the rest by yourself since the older the phone is the more likely it has drivers that will break with wm6.5.
Click to expand...
Click to collapse

How can I modify a cooked rom?

Please excuse my ignorance...
I want to modify an existing blackstone rom (I want to remove some apps).
I downloaded osKitchen Zero but it seems that I can import only an official rom.
Is there another application where I can import a cooked rom? I did some search but couldn't find something in all the load of information existing in xda...
blister969 said:
Please excuse my ignorance...
I want to modify an existing blackstone rom (I want to remove some apps).
I downloaded osKitchen Zero but it seems that I can import only an official rom.
Is there another application where I can import a cooked rom? I did some search but couldn't find something in all the load of information existing in xda...
Click to expand...
Click to collapse
You should be able to delete stuff with htc rom image editor.
http://forum.xda-developers.com/showthread.php?t=377514
As far as I know you Can't, only an official rom can be dumped and changed, cooked roms you are not abble to do it
you should'nt! cooked roms are a piece of art (hard) work. You could ask the chef to cook you a personal rom, buy him a beer or three... or step into the world of cooking, i did. and it's great!
@ blister969
No way!
WBR
Siemens Lover
You can modify cooked roms; look up micro kitchen-it dumps roms, and you can modify the dump (remove a few files; tweak the .hv's) and re-build it. You may need to modify it for your device. You can probably do the same thing with EVK, it just may take a little more work.
@Farmer Ted
If you try dumping ROMs built with platformrebuilder, you don't get the dsm's. That doesn't mind, you can still cook it. But no, you actually can't. All modules loose one S00x containing relocation info.
(Btw, this S00x plus imageinfo.bin is weird anyway, original MS way is more sexy.)
OndraSter is right about reloc info, but I think that you can remove those apps without messing with modules .
Here's another thread on the subject. I'm pretty sure you can re-cook ok, with the missing reloc data. Da_G kicked in on the subject:
Da_G said:
Just a small note to add to this:
The last S00X section in a module is the .CRELOC section. This is used to relocate the module on-device (not used to relocate the module on the PC, in the kitchen, where we do it prior to flashing)
Not having the last s00x means that you wouldn't be able to imageupdate that ROM (because the on-device read/write IMGFS driver would not be able to re-base the module since .CRELOC is missing)
But you can certainly still re-base that module on the PC side prior to rebuilding a ROM. So that function in itself won't preclude you from porting modules from one device to another
Click to expand...
Click to collapse

[Q] Problem: No changes take effect in cooked ROM in EVK!

Hi pals
I Cooked a WM6.1 19971 Official ROM for OPAL in Ervius Visual Kitchen. The cooked ROM seems quite alright except that:
1.The original ROM was about 100MB while despite the fact that I added a lot of packages, the cooked ROM is about 80MB.
2.None of my packages exist in the cooked ROM when I flash it.
Can you tell me what the problem is?
The smaller size is fine.
What do you mean packages not there?
Are the files not in the windows folder or are you just missing shortcuts?
mnvoh said:
2.None of my packages exist in the cooked ROM when I flash it.
Can you tell me what the problem is?
Click to expand...
Click to collapse
What?!...EVK generates a build_log...look at this, and u'll see, what's in your rom.
Cannot belive that u've applied packages in EVK they wouldn't cook in....strange.
It is happened to me too in the beginning when i was cooking for kaiser and tried to cook inside HTC Mega packages with Manila 2d...i solved it using OsKitchen,lol.
af974 said:
.i solved it using OsKitchen,lol.
Click to expand...
Click to collapse
Sorry...but usin' OSKitchen is still hard work in my opinion. Maybe others think similar to me, and please forgive me @airxtreme!
But still the best kitchen in my opinion is EVK....
Its not true,
OsKitchen compared to any other Kitchen is much more easy to use expecially for newbie users.
EVK it is much complete.
Which is the best between one and another its only a personal taste.
icke said:
Sorry...but usin' OSKitchen is still hard work in my opinion. Maybe others think similar to me, and please forgive me @airxtreme!
But still the best kitchen in my opinion is EVK....
Click to expand...
Click to collapse
Kitchen
I can`t understand that someone say the os kitchen is to difficult
I work with these kitchen hours and days and no problems whatsoever and easys`t do use, if someone got problem to use this kitchen,live the finger from cooking
af974 said:
Which is the best between one and another its only a personal taste.
Click to expand...
Click to collapse
And that's what i said!
For new's, maybe OSKitchen is easier to use...but still beta.
Speak is free and give opinions too...but please people dont start flaming about kitchens.
I mean about what in red....its not nice.
lumisab said:
I can`t understand that someone say the os kitchen is to difficult
I work with these kitchen hours and days and no problems whatsoever and easys`t do use, if someone got problem to use this kitchen,live the finger from cooking
Click to expand...
Click to collapse
While EVK was building the ROM I checked the log it was generating. I saw all my packages. But when I used osKitchen it had problems with the *.dsm file in the packages and said that it's corrupt. I think it's the problem but I used package-creator-v2.7 to convert *.cab files to a package. So obviously the problem is with the package creator.
But on thing that's for sure is that newbies (like me) should stick to osKitchen.
FYI, Barin's OSBuilder has a .dsm autocorrection option.
Well, OsKitchen has its own package creator so all you need is to import your original rom and convert all your cabs again plus it has an auto mui converter,thats mean if that you have some 0410 mui's and you are cooking for 0409 oskitchen wiil rename all the mui for you.It worth a try.
mnvoh said:
While EVK was building the ROM I checked the log it was generating. I saw all my packages. But when I used osKitchen it had problems with the *.dsm file in the packages and said that it's corrupt. I think it's the problem but I used package-creator-v2.7 to convert *.cab files to a package. So obviously the problem is with the package creator.
But on thing that's for sure is that newbies (like me) should stick to osKitchen.
Click to expand...
Click to collapse
Let's state this once for all: Ervius kitchen is basically a GUI to create _skip files that launches a giant batch file that does all the cooking and that needs to be customized for every device: if you created your own _skip files by hand and used a batch file to cook there would be virtually no difference. OsKitchen has a simple GUI by design but that doesn't mean that it isn't orders of magnitude more complete and advanced than ervius kitchen: it does everything from detecting all device/ROM informations without asking anything (the list of supported devices actually has nothing associated to them but the alternative names: no customized fixed, no customized settings, nothing) to cooking with all sorts of checks to prevent bricking or unbootable ROMs and even parsing all the files in the package: if I had proper relocation code (that I was waiting Da_G to write since he knows that stuff better than everybody else) the kitchen could already natively cook its own ROMs. I'm already using all the code I wrote to replace platformrebuilder to implement all sorts of cool stuff like complete validation of all package files and installing packages directly on the phone trough activesync (to avoid having to reflash any time you want to test something) as you can see on the alphas thread, things that on ervius kitchen, where cooking just means running a giant batch file, you could only dream of.
I hope that finally clears the minds of the people saying that ervius is more advanced or complete: it's not, it's just a simple batch file-based kitchen with an unnecessarily complex GUI. It may have some bundled tools that oskitchen doesn't include (like xipporterex, that while works on some NK.EXE wreaks havoc on unofficial native kernel and latest kernels) but having a dedicated button to launch a tool doesn't make a kitchen "more advanced" or "more complete".
No offence and I do appreciate and use your work, but aren't all kitchens just fancy GUI's around a set of batch files and same old imgfstools and platformrebuilder from yesteryear?
pkoper said:
No offence and I do appreciate and use your work, but aren't all kitchens just fancy GUI's around a set of batch files and same old imgfstools and platformrebuilder from yesteryear?
Click to expand...
Click to collapse
Not really, I process all the files before feeding them to platformrebuilder hence the recmod/upx/tweaks/ordering/manila compression/etc without touching any of the original files. I also only use the newest tools available like libnb and osnbtool that the kitchen calls directly and checks the output to warn of any error and to get informations about the ROM format indeed it can import any proper BIN/NB/NBH file and cook it without even knowing what device they come from. The only original imgfstools I keep are nbmerge and nbsplit because I was waiting Da_G to finish his BuildNB function but osnbtool can probably replace both (nbsplit for sure with the -sp parameter).
@OP, it sounds like your package structure is wrong. Are the packages in EXT format (not OEM)? If they're in oem format, none of the files will be included. Just make the packages manually, it's a lot easier.
Can you please post the build log file?
pkoper said:
No offence and I do appreciate and use your work, but aren't all kitchens just fancy GUI's around a set of batch files and same old imgfstools and platformrebuilder from yesteryear?
Click to expand...
Click to collapse
My kitchen (OSbuilder) uses it's own engine to process packages, build dsms, rebase modules, merge dsm and build ROM file. The only external tool i use is "TurboImgfs" by airxtreme.
Yes , when i wrote that EVK ,maybe, its more complete then OsKitchen i was referring to this, only some tools.
airxtreme said:
It may have some bundled tools that oskitchen doesn't include
Click to expand...
Click to collapse
airxtreme said:
Let's state this once for all: Ervius kitchen is basically a GUI to create _skip files that launches a giant batch file that does all the cooking and that needs to be customized for every device: if you created your own _skip files by hand and used a batch file to cook there would be virtually no difference. OsKitchen has a simple GUI by design but that doesn't mean that it isn't orders of magnitude more complete and advanced than ervius kitchen: it does everything from detecting all device/ROM informations without asking anything (the list of supported devices actually has nothing associated to them but the alternative names: no customized fixed, no customized settings, nothing) to cooking with all sorts of checks to prevent bricking or unbootable ROMs and even parsing all the files in the package: if I had proper relocation code (that I was waiting Da_G to write since he knows that stuff better than everybody else) the kitchen could already natively cook its own ROMs. I'm already using all the code I wrote to replace platformrebuilder to implement all sorts of cool stuff like complete validation of all package files and installing packages directly on the phone trough activesync (to avoid having to reflash any time you want to test something) as you can see on the alphas thread, things that on ervius kitchen, where cooking just means running a giant batch file, you could only dream of.
I hope that finally clears the minds of the people saying that ervius is more advanced or complete: it's not, it's just a simple batch file-based kitchen with an unnecessarily complex GUI. It may have some bundled tools that oskitchen doesn't include (like xipporterex, that while works on some NK.EXE wreaks havoc on unofficial native kernel and latest kernels) but having a dedicated button to launch a tool doesn't make a kitchen "more advanced" or "more complete".
Click to expand...
Click to collapse
Don't let them get you down man. Ervius's kitchen is a piece of **** in my opinion. The GUI blows and it crashes on the smallest thing that's not exactly right with a package. Did I mention the GUI is horrible ?
I will say it as well, erv's kitchen is NOTHING but a glorified GUI for platformrebuilder which is the real workhorse.
p.s. I made my own kitchen GUI, based on platformrebuilder as well. Mine's designed to cook for 12 devices at a time though... so I can't exactly share it. PM me if you'd like the details necesssary to make Samsung Omnia 2 ROMs with prb though, it seems nobody else seems to know what the "secret" is... I just think they didn't try hard enough. lol If anything, you can add 4 more devices to your already impressive collection of supported devices

Categories

Resources