External Rom - Windows Mobile Development and Hacking General

right, i've been working on compiling my own ms_.nbf for the blue angel. I have sucessfully made one with my own custom cabs etc in, however i can't figure out the .nbf password to update the checksum, does anyone know how to work them out or what standard ones are?

Related

XDA-developers ROMkitchen: cook your own ROMs

Announcing: ROMkitchen
Special Edition ROMs are soooo yesterday.... We're proud to unveil our largest project yet: ROMkitchen. Now you too can modify your ROM to contain precisely what you need. Create your personal ROM, based on the ROM you like.
Wanna see: Have a look at our showroom kitchen to see what we mean. As you can see the showroom kitchen shows the PPC2002 based 3.17.03 ROM released by O2, as well as the 4.00.05 Microsoft WM2003 test ROM. Neither of these ROMs is really present though: you need to download the scripts, include your own ROM images, and run the scripts on your own unix machine. But once you do, you and your friends can create ROMs to your heart's content.
Why didn't we just include these files and make it all work? Because we're not licensed to distribute these ROMs, that's why.
So now what?
Play around to see if you like it.
download all the files visible when logging in using FTP to xda-developers.com username 'kitchen', password 'kitchen'.
Put them on your own unix machine, which should be capable of executing php scripts, and which should have a 'little' memory, disk and processing power left over. (We're afraid ROMkitchen wasn't built with resource-efficiency in mind.)
Add your own ROM files, see the readme files in the "data/00[...]/_/cfg" directories for details.
Notes:
If you set up your ROMkitchen, make sure you only use it for yourself, and with ROMs you legally own. We're not responsible for abuses.
If you use an ftp-client which can ignore files which are newer on your side, you can regularly check for updates and always have the newest kitchen.
ROMkitchen does not yet support outputting self-extracting binaries a-la Jeff's exe. We're working on that.
ROMkitchen currently supports English language ROMs only. We're working on this too.
The welcome exe is back in ROMs made with it: a little too much hassle to make our own. So you'll have to go through the silly tutorial every cold-boot.
XDAunlock is missing still. (It will be incorporated, but most people will be making 4.00.05 ROMs, and it doesn't work on that anyway...)
How does it work?
The ROMkitchen consists of a number of php scripts that present the form with all the options to choose from, and which copy files ready for our 'mkrom' utility to process. If you take a look you can see the raw structure of the data that is presented and inserted into the ROM. We'll find some time soon to explain, but you can already learn quite a bit if you look at the files and directories carefully.
xda-developers u are AWESOME
I'm going to try it as soon as i get home tonight. So all that is needed at first is a 2003 or 2002 image file?
thanks
alex
This looks awesome
Is it possible to run this program on Cygwin ? I have configuered the Cygwin download to include Bash and Perl but can't find a reference to dd. I confess that although I have a reasonable amount of programming experience I have never used Unix before so don't even know how to invoke the scripts so any help would be much appreciated.
Richard
just uploaded everything to my unix box and tried to run setup.sh from 4.00.05 directory. i also uploaded bootloader.nb0 and rom.nb1 files to the cfg directory. when i run ./setup.sh this is what i get:
[[email protected] _]# ./setup.sh
Usage: splitrom <romimage(s)> [options]
-wx xipchain where to write xipchain
-wo osrom where to write output image
-wb bitmap where to write bitmap
-wl bootloader where to write bootloader
-rl bootloader which bootloader to use for NBF
-n nbfinfotext what NBF header to use [ex: PW10A1-ENG-3.16-007]
-ri nbfinfofile or where to read NBF header info from
-wi nbfinfofile where to save NBF header info
-rx xipchain where to get xipchain from
-rb bitmap where to get bitmap from
-rm [email protected] insert new romsection.
-ob offset where to find the bootup image
-oe offset the end of the desired os image ( default: 0x81f00000 )
-t NBF | B000FF | NB? | IMG type of result image (default is NB1)
also when i tried to convert the default.fdf file to default.reg i get error saying "unknown fdf file signature" and it creates a 0 byte default.reg file.
any help is appreciated. i know i'm asking too many questions, but same happened with ur mkrom tools and once i got answers from u i was able to build roms without any problems.
thanks
alex
Hold on a tick, if you guys added one more feature it would go nova, however. Some features I would like to see is the ability to mix drinks, roll joints, cook dinner, and cure premature baldness/cancer.
It would also be nice if you could arrange for the program to be delivered to my house by the drunken, naked Chinese twins, Fok u and Fok me.
You guys are the bomb. Keep up the great work!
-
# Put them on your own unix machine, which should be capable of executing php scripts, ...
Click to expand...
Click to collapse
this implies that you should also have setup a webserver, for running the php scripts.
you will have to change the 'splitrom' commandline in setup.sh depending on what source file you have.
it is not a configure all automatically script, just a guide, to what sort of is supposed to happen for setup.
Holy Cow, you guys are amazing....
This is just a short message to say I'm fighting with it as we speak. My friend's box does have PHP, this is good. I've already found that it needs two subdirs under its root ('download' and 'workspace') to be world-writeable. Took me a while to figure that one out. Haven't got it running yet though, this ROM setup.sh thing is far less than intuitive. But I have the two ROMs which have all the other mumbo-jumbo done: 3.17.03 and 4.00.05, and I will get this to run, if it's the last thing I do.
Jeff (Just back from the U.S., up since 4 am, severe jetlag)
Jeff Summers said:
I've already found that it needs two subdirs under its root ('download' and 'workspace') to be world-writeable.
Click to expand...
Click to collapse
Whoops... I guess you're right, that should have been documented. The things you take for granted sometimes...
Thanks, and good luck...
Thanks
hey, you are doing a great job guys, keep it up.
welcome back Jeff Summers.
Othman
OK, here's the status:
I'm close, really close. It wouldn't detect my OS, the bash on the system I'm on is in /usr/local/bin instead of /bin and now it's complaining about a missing perl file. I'm working on it though...
probably you are missing http://search.cpan.org/author/GBARR/Scalar-List-Utils-1.11/
which is included with perl 5.8, but not with perl 5.6.*
if you don't have root access to you box, you can also install ( see the README for build instructions ) list-utils in your home directory, by editing the generated Makefile, and changing 'PREFIX=$(HOME)', and then adding
Code:
export PERL5LIB=$HOME/lib/perl5/site_perl/5.6.*
to your environment. ( with '*' your perl version )
It's working
It's working!!!
With a little help, I got it to work !!!
Have a look at http://cuba.calyx.nl/~jsummers/ROMkitchen
I just created my first ROM!
Hi, I tried create 4.00 based Rom on Jeff web and it works... thanks.
I discovered only small problem, that there are not installed links in Programs to extra included programs. But I can do it manually for now.
I tried to start my version of romkitchen on my notebook but I was stopped on integration PHP to IIS. I tried some last installer php-4.3.2-installer.exe for Windows but I got CGI error when I tried to access index.php. I'll work on it.
I hope that it will run too, like mkrom on Cygwin.
aleho said:
Hi, I tried create 4.00 based Rom on Jeff web and I works... thanks.
I discovered only small problem, that there are not installed links in Programs to extra included programs. But I can do it manually for now.
Click to expand...
Click to collapse
Ah, you haven't noticed that we put these in subfolders maybe. Go to Programs, and you should see subfolders. If you unchecked the option to put in these subfolders, then you have also unchecked everything 'below' that, meaning you haven't installed these programs.
I tried to start my version of romkitchen on my notebook but I was stopped on integration PHP to IIS. I tried some last installer php-4.3.2-installer.exe for Windows but I got CGI error when I tried to access index.php. I'll work on it.
I hope that I will run too, like mkrom on Cygwin.
Click to expand...
Click to collapse
Go for it...
Ah, you haven't noticed that we put these in subfolders maybe. Go to Programs, and you should see subfolders. If you unchecked the option to put in these subfolders, then you have also unchecked everything 'below' that, meaning you haven't installed these programs.
Click to expand...
Click to collapse
I had unchecked only few of programs to fit in ROM 4.00 free memory.
But folders in Programs like Phone, System tools,... were not in this case created, but they were checked.
jeff: great work...
one bug i found: when i disable the modify rom and add programs i get an error: Warning: Invalid argument supplied for foreach() in /home/jsummers/public_html/ROMkitchen/processor.php on line 480
i wanted to get the orig 4.00.05 rom without modifications
Jabba
REQUEST: zipped Kitchen
Hi !
Thanks all developers! Great work
One request though: please put a zipped version of your ROMKitchen at your ftp -> downloading hundreds of files is a mess *g*
Thanks... Jabba
This is so frustrating: I had it working perfectly, and now all of a sudden it stopped working. I'm working on it...
It's working now. Not really sure what was up, but it seems to have fixed itself.
Nice!!! These new ROMs are sooo cool. All the programs are stored in neat subfolders with icons....
I did find that D9 and PocketCHAT (The EVB apps) do not yet work on WM2003. It complains some EVB shared files are still missing.
Hi Jeff, just to say I've successfully used your ROM builder principally it has to be said to get hold of 4.00.05 so I only choose the Hot Fix item.
Checked in startup (which I've not looked in before) to see the hotfix and its there, there is also aFlashman, cFlashman Handsfree poutlook, SMSReciever, stk & Ussd. Are these part of the normal ROM? Just want to check that the thing is running as lean and clean as it can.
Many Thanks

mkrom for WM2003?

I have been looking for a mkrom that works with 2003 ROMs. since kitchen cooks 2003 rom, there must be one version of mkrom that works with 2003.
I downloaded the kitchen, and tried to use the small set under one of _/ directory to cook my version of 2003 without setting out the entire kitchen. but got into one problem. -- the xda does not boot
it shows the boot screen, and the G324e4, R6.10.00 4.00.11, then stops there
one thing I figure went wrong is:
the default.reg I got out of default.fdf is oly about 30k large while the old 2002 version of default.reg is more than 200-300 k large.
any one can help here? I cooked based on 4.00.11 rom, which by itself installs on my xda fine.
Hi Pine
If you are trying to add files to you're Rom you will need to use an original (Not one from Jeffs Kitchen) as the XIP segments get screwed if you try to re-write them. (not sure why) If you run Mkrom without adding additional files you will find it loads fine.
Richard
I was not trying to add my files at all. I downloaded a rom, followed the step to cook a new rom without adding any of my files. the resulted rom does not load. quite disapointing experience.
I used the 4.00.11 rom, used the 4.00.11 directory in the kitchen download, modified mkrom to comment out the wince 3 version variables and uncomment the 4 version variables.
anything else I should do?
or the kitchen downloaded from xda-developers.com does not actually work with 2003 yet?
O.K.
Rom Kitchen contains parts of the old Mkrom but relies on more perl scripts to do the work. I have done the same as you and it works fine for me. Best guess is you havn't converted the the default reg properley did you use tr -d "/0" <default.reg>default.txt to convert ? check that you can actualy read the output if its in hex then youv'e done it wrong. The output file should be around 8 to 12 kb
Richard
you can find the most recent version here

ROM editing questions; delete, versions, files dir

1 Is it possible to delete files (.dll is what I'm after) out of wallaby ROM? I thought I read that it was, but now I can't find that info, mkrom, splitrom, etc info that I see all tells me that you can only add or change..
2 BTW, what's with all the versions of romtools & tools with the same name (but different versions?) in the demokitchen? I assume its good to have the latest and greatest, but I am beginning to rethink my assumption there. When I say versions, I am looking at the dates of said files in either /~itsme/cvs-xdadevtools/romtools or /Wallaby/Tools/CustomROMToolset or /Wallaby/Tools/MKromxxx.zip or http://wiki.xda-developers.com/uploads/mkrom.zip as well as a bunch of different versions of dumprom.exe (win32).
Any particular set that is most functional? I've noticed that a .pl file or two wanted to run dumprom (ELF version) which !work on cygwin, and another wanted .. unicode whatever.. yeah.. In one place or another I had to edit the .pl file & run it under cmd prompt instead of cygwin. Worked swell.
3 So in a set (I think it's the wiki's customrom instructions) of cook-you-own-rom instructions, it says to add neccesary files to files directory. files directory you just dumpromed to. Ok. My neccesary files are MMS files & whatnot. Later in the directions it tells you to run some xipchains stuff, with files1 and files2 directories as arguments. Well, there's nothing in there, since I put them all in files. The ROM builds, but I end up with basically the same rom I started with. if I dumprom it back out, I can't see any of the file additions I did in the new rom.
So I'm gonna assume again, that I should stick my files in files2 for the most part, so the scripts that build xipchains & calc free space etc can do their job & one of those scripts will get my files where I want them. (in the rom!)
TIA
BTW, if anyone is interested in the Arcsoft MMS Composer software not working in LumpiStephans kitchen, you need to grab & install Camera_WWE.sa.cab from someplace, which will install the requisite .dlls to make the MMS software work. Yeah, it's big, and there is no camera on the wallaby, I know. But the EzOS wap browsers MMS software really sucks (for me), and looses parts of the messages from certain people. I dunno if it's their email client, or what.. don't care.
if anyone is interested, I can tell you what DLLs it needs, I sat there for a while checking out the dependencies, and that way you don't have to install as much extra crap, but I don't have it handy right now. lemme know.
squib308 said:
1 Is it possible to delete files (.dll is what I'm after) out of wallaby ROM? I thought I read that it was, but now I can't find that info, mkrom, splitrom, etc info that I see all tells me that you can only add or change..
Click to expand...
Click to collapse
No, it is not possible to delete files out of a ROM.....
squib308 said:
3 So in a set (I think it's the wiki's customrom instructions) of cook-you-own-rom instructions, it says to add neccesary files to files directory. files directory you just dumpromed to. Ok. My neccesary files are MMS files & whatnot. Later in the directions it tells you to run some xipchains stuff, with files1 and files2 directories as arguments. Well, there's nothing in there, since I put them all in files. The ROM builds, but I end up with basically the same rom I started with. if I dumprom it back out, I can't see any of the file additions I did in the new rom.
Click to expand...
Click to collapse
The 14. command (Run "perl makefiles.pl ./files ./files1 0x$size1 ./files2 0x$size2" ) should split the files with best fittings to the corresponding directories....
So perl makefiles.pl ./files ./files1 0x00050000 ./files2 0x00380000
would copy up to 320 KB to files1 and up to 3584 KB to files2......
squib308 said:
BTW, if anyone is interested in the Arcsoft MMS Composer software not working in LumpiStephans kitchen, you need to grab & install Camera_WWE.sa.cab from someplace, which will install the requisite .dlls to make the MMS software work. Yeah, it's big, and there is no camera on the wallaby, I know. But the EzOS wap browsers MMS software really sucks (for me), and looses parts of the messages from certain people. I dunno if it's their email client, or what.. don't care.
if anyone is interested, I can tell you what DLLs it needs, I sat there for a while checking out the dependencies, and that way you don't have to install as much extra crap, but I don't have it handy right now. lemme know.
Click to expand...
Click to collapse
You can tell it me, and send me the dll, than i will include it to the Arcsoft MMS-Composer....
Stefan

Can any one help me to create a nbf file from sd dumped rom.

Hi, I am beginner here, can any one help me to create a nbf file from sd dumped rom? or you can also tell me how to do that. thanks in advance!!!
SD dumped rom is here:
ftp://xda:[email protected]/Magician/Dumped_ROMs/o2mini_1.12.07_CHS.zip
What do you want to do with this .nbf. For backup/restore purposes the .nb1 is sufficient.
You can try it with nbfdec, but I don't know what it does with a dumped rom. I use it to decode & encode the nk.nbf contained in a shipped-rom. For nbfdec get it here: http://forum.xda-developers.com/download.php?id=7603
Cheers, M
oltp, thanks for your respose, i have tried nbfdec and finally I got a nk.bf from the SD dumpped rom. but it seems this nk.bf is different with the one contained in shipped rom. my purpose for doing that is to custom the extended rom with that SD dumped rom. but I don't konw how to separate all nbfs (ms_.nbf, nk.nbf, etc)from the dumpped rom.
Take a look @ the ftp & see if your current rom is available as a shipped-rom. If so start with the shipped-rom & try it with that.
Or use bal666's tool HTC64_Extended_ROM_Tool_v1.1.zip from http://forum.xda-developers.com/download.php?id=8015. He made one to convert the ext-rom part of a rom-dump to a fat-image, which you can mount & change.
Succes, M
unfortunately, there is no shipped-rom for o2mini_1.12.07_CHS.zip...so my problem is to separate ms_.nbf and nk.nbf from dumpped-rom.
how could i do that with HTC64_Extended_ROM_Tool_v1.1.zip?
does any one know how to break dumped-rom into two nbfs(nk.nbf, ms_.nbf)? or is there any other way to create two nbfs?

Creating a Kitchen

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!

Categories

Resources