Cooking 6.1,6.5,6.3,6.5 ROMs
Thanks to the following people who had helped me when I started cooking:
I would try to make my instructions simple.
Before we begin you need the following accounts and tools:
1. Register( sign up as a member) @ Modaco.com and xda-developers.com
2. I8000 kitchen: http://www.modaco.com/content/i8000-omnia-...ld-application/
-download these 3 files there
a. i8000kitchen3.0.rar ( 1.27MB )
b. romTool3.0.1.rar ( 25.23K )
c. cabarc.rar ( 34.42K )
3 .disk dump utility: http://www.modaco.com/content/i8000-omnia-...60/dskdump-2-0/
4. Preferred Windows Mobile Build:
WM 6.5-6.5.3/5 http://forum.xda-developers.com/showthread.php?t=650783
WM 6.1 http://forum.xda-developers.com/showthread.php?t=547314
(builds are those files that members upload or linked in file sharing sites,usually in RAR archives)
What is it: It is simply the core system files of a Windows Mobile ROM. Your device won't boot without this set of files. It is recommended to use the latest builds for stability and performance. Windows 6.1, 6.5 and 6.5.3 have their own line up of builds. A larger build number doesn't necessary mean that it is the latest. Different release numbers of a single build line up (like in 6.5 & 6.5.3) is due to their different origins (htc,SE,samsung etc.)
(for in-depth understanding of WM builds please read here: http://forum.xda-developers.com/showthread.php?t=544445
Things to remember in choosing a build:
-Decide on what build you'll be working on (6.1 or 6.5/3/5)
-It is recommended to use the latest (latest release date) build.
-If majority of people reported a certain build is buggy, stay away from it.
-If majority of people reported a certain build is stable and good, try it
5. XIP.bin Generator http://www.mediafire.com/?9m2kgh8lxjeb4k1
Cooking Custom ROMs
1. ROM DUMPING
First, you must dump your Official ROM. What is dumping and why dump? Well dumping is the process that generates a single file (rom_dump.bin) that can be dissected, edited and in the end rebuilded by the tools available in a ROM kitchen. The generated dump file is like a "package" that contains the files that make up a ROM. We dump the ROM because it is "easier" to modify it this way. Also extracting .bin in Samsung MST format and using it with the kitchen will just give errors.Remember to first flash any official ROMs, and then dump it.Also before dumping to set the languange of the device to the languange you prefer, as you can only make a custom ROM with one available language. Please read on how to dump the rom correctly, and if you have the dump, proceed in reading this tutorial.
a. Flash to your preffered OFFICIAL ROM
b. Set your preferred language
c. Dump it
It is recommended to dump the latest Official ROMs for your ROM cooking. Other chef's ROMs can be dumped too, BUT, please DON'T do so,out of respect for the chef's hard work oN his custom ROM. You may do this if your aim is to use the ROM personally, but if your gonna dump a custom ROM, edit it and release it as your own, that's very RUDE.
In my ROMs I always use the Official JC2,cause for me, its the best build, well we have our own preferences.
2. Setting up your Kitchen
You should have downloaded the 3 files i specified above: Extract the contents of i8000kitchen3.0.rar (it contains one major folder,named "i8000kitchen") preferably in the root of your any of your computer drive (C:/,D:/,E:/ etc.). If you chose drive C, then it should be in this directory C:/i8000kitchen. Now,go back to your downloaded files, open romTool3.0.1.rar and extract the content to i8000kitchen and overwrite the existing romTool.exe.Lastly go back your downloads, open cabarc.rar, extract content and place it in the Tools folder inside your kitchen (location is i8000kitchen/_Template/Tools.
Now this folder is your kitchen. All tools you need to make your custom ROM is in here.
d. Extract the i8000kitchen folder from i8000kitchen3.0.rar to the root of your chosen drive (c,d,e etc.)
e. Extract romTool.exe from romTool3.0.1.rar and place it in inside i8000kitchen folder. Allow overwriting existing romtool.exe
f. Extract cabarc.exe from cabarc.rar and place it in i8000kitchen/_Template/Tools
I recommend that you choose the drive which have the most available free space. Trust me, if you'll be serious about rom cooking,in time, your drive will be accumulating so much files from your new hobby.
Also, you can rename the i8000kitchen folder to ANY names you preferred (I often rename it as B7610kitchen). But please do not modify the name of any other folders and files inside, doing so will just mess up your kitchen.
3. Preparing your Windows Build (WM 6.1,6.5.3/5) for Porting.
This section requires two major procedures: Preparing the WM Build and Generating XIP.bin
I. Preparing the WM Build
Now you should have your downloaded a build(in rar,zip or 7zip package from xda or other sites).
When you explore the archive, you will usually see these 4 folders:
-0409 (This build is in World Wide English, if your going to cook a rom in another language, please see tips below)
The first folder (0409) contains Windows Mobile Language files (they provide the languange of all apps,GUI,help files etc. of the build. 0409 is WWE or World Wide English)
The second folder(COMMON) contains Windows Mobile Core Sytem files(the files you see when you browse your device' /Windows directory and what makes the WM Operating System).
Skip the third folder(you have no use for it in cooking with B7610)
The last two folders (MSXIPKernel,MSXIPKernelLTK) make up what we call the XIP (they call it the heart of WM OS) for thorough explanation about XIP please read.You'll be needing it later to generate xip.bin
To make your proper build folder for your kitchen (so that it may be recognize by rom tool), create a new folder inside i8000kitchen/_Template. Rename the folder to this format: SYS_XXXXX (what the heck is XXXXX? It's the build number, for example, if your downloaded wm build has a build number which is 12345, you must rename your folder to SYS_12345)
If your folder is ready open your downloaded build package. Extract all contents of the 0409 folder inside your newly made SYS_XXXXX folder.After successfully extracting the contents of 0409 in SYS_XXXXX,carefully delete folders that have _0409_DPI_96, _480_RESV_640, _240_RESV_320 and _240_RESV_400 on their names (they are for devices with other screen resolutions, you don't need it)
Now go to COMMON folder (in your downloaded build) and extract all contents to your SYS_XXXXX folder. After extracting all files to SYS_XXXXX, carefully delete folders that have _DPI_96, _resh_480_resv_640 and _resh_240_resv_320 on their names (they are for devices with other screen resolutions, you don't need it)
Your rom tool friendly package folder is ready. You may delete some packages (folders) inside, but it will be discuss in making a lite ROM section. For beginners, practice making full roms first before making lite ones.
If your cooking a ROM in another languange, it will be a little tricky, because most available builds for download only contain English language (0409). If your going to cook 6.1 and 6.5 ROMs, you can try using the language files of your own Official build (it will be explained further in the cooking process). This usually works with no or less glitches.
But it gets trickier when cooking 6.5.3 and 6.5.5,you have to download the last 6.5.3/6.5.5 build package that included all different language files and use them. That package is usually named "Rollup" packages and you must search for in somewhere in xda.
II. Generating XIP.bin
Now It's time to generate your xip.bin. Using the correct xip.bin is essential to make your custom rom boot. It contains drivers that make your device boot and generally affects the performance of the device. First (from your downloads) open BuildXIP.7zip and extract BuildXIP folder (which can be called an XIP "kitchen") preferrably in i8000kitchen folder. Explore the BuildXIP folder and you will see a MXIPKernel folder. Now go back to your downloaded build, open the included MXIPKernel folder and extract all contents to the MXIPKernel folder of the XIP "kitchen" (confused? you'll have to extract the files to i8000kitchen/BuildXIP/MXIPKernel). Allow overwriting of all files.
Now go back to your downloaded build. Open MXIPKernelLTK and extract the file d92a4.....dsm to i8000kitchen/BuildXIP/OEMdrivers/MXIPKernelLTK. Allow overwriting.
You are now ready to generate your XIP.bin. Go to BuildXIP folder and click Buildxip.bat. Follow instructions (it's just click to continue) and the xip.bin will be generated in the same folder. After generating xip.bin, go to i8000kitchen/_Template/XIPtools and create a new folder and renamed it in this format XIP_XXXXX (remember that XXXXX name must be THE SAME with your created build package; so if your build package name folder is SYS_12345,your xip folder must be XIP_12345 too). Place your generated xip.bin to that folder (XIP_XXXXX)
It is essential to backup your generated xip.bin for referrence. If you're going to use another SYS/XIP build, you'll have to create seperate folders for them in the same format above. This will make your kitchen organize and porting much easier.
Some downloadable builds already contain xip.bin. You can also use it, but if you'll have issues with it, generate another xip.bin with the procedure above.
If your kitchen,rom dump, package build and xip.bin are ready, you are now ready to cook your first custom ROM :mellow:
4. Cooking your first Custom ROM
Before we start:
Still remember the rom_dump.bin you generated from using dskdump? Place it in i8000kitchen/_Template. (remember to make a backup of your dump and rename your backup with details so you can identify what official ROM you got it)
Remember, you should have prepared your kitchen, package build and xip.bin according to the instructions I have given in section 4, or you'll have errors and other issues.
ROM Cooking Proper
g. Open romTool.exe in i8000kitchen folder. Obviously it will launch the ROMtool application (if not see tips below).Go to "Dump PDA File" tab and Set your work folder to this directory c:\i8000kitchen\_Template\ (assuming that you place your kitchen in the root of your C: drive). Then click "Manual Realloc. of Modules" checkbox.
h. Click "Select File" box and select your rom_dump.bin. Wait for a few seconds until the location of the .bin file is showed in "Source Pda nb0/nb:", then hit "Run" box. Just wait for the tools to make their magic :o. Wait for the dialog box to say "Done... Check for Error Messages." If there are errors or crashing pls. see "common errors in rom cooking"
i. Click "Build PDA file" tab in rom tool.
- Skip renaming "PDA Version" cause it won't work on B7610 dump(it works on i8000 dump). Select the SYS version you'll be using in the drop box just below the x button of ROM tool ("SYS:"). Remember the SYS_xxxxx folder you made earlier? Select it now. If you still want to use the official SYS build from your dump, just select [sYS].
-In "New ROM (nb0) File:" type the name the custom rom you'll be making. (although after selecting the SYS build, it will generate a name for you).
-In "Other Options" you can change Page Pool, just tick the Change Page Pool Value box and type your new page pool (I usually go for 9 or 10). Other options in Build PDA File will be discussed in other sections.
j. Check the dialog box below. See if ROM tool has found a TIMEBOMB or BETA keys in so-so registry entry. If none, click "Run" box. Wait until buildos.exe launches.
k. BuildOS rebuilds ROM files and lets you select/add third applications so that when rebuilding the ROM, they may be be included. Adding 3rd party applications will be discussed in another section. For now, just press the "play" button. If you encountered errors while using BuidOS, see "common errors in rom cooking". Otherwise, wait for "Done" message just below BuildOS. close BuildOS. Wait until Extended Reloc launches.
l. In Extended Reloc go to "Options" tab. Make sure that the boxes checked are like below:
If you're making a 6.5/.3/.5 rom select "WM 6.5". If you're making 6.1, select "WM 6.1/6.5". Click "Save Options" button. (you only have to set this up once).
-Go back to the "Work" tab. Click "Open ROMHDR + .vm + .ROM" button.
-Now click "Import XIPPort" Button (it will launch XIPPort, don't close it)
-Now click "Realloc V (DLL)" Button. Wait for it to finish. Then Go back to "Work" Tab.
-double click "physlast" dialog box to highlight the code, then click "Realloc NK.EXE...ETC.." button. Wait for it to finish.
-Now go to XIPPort that launched a while ago and click "realloc P" button.Go back to "Work" tab.
-In work tab, you'll see a WHITE line separating "Work with XIP" and "Work with IMGFS" columns. Drag the white line to the left to reveal "Work with IMGFS" options. Click "Realloc IMGFS modules" button. Wait for it to finish; if the end of dialog box reports no errors, exit Extended Reloc.
m. After exiting Extended Reloc, a DOS box will open showing you that it is building your custom ROM. Just have patience,DON'T CLOSE ANYTHING. In rom tool dialog box (Build PDA File), wait for it to say "Done...Check for Error Messages". If there are no errors in building, you can check your output folder (i8000kitchen\_Template\Finished ROM for the .nb0 file.
Congratulations, that is your first custom ROM. Flash it with OCTANs Mini and see if your device will boot with your own custom ROM or not.
-In the whole process of rom cooking (STEPS G-M), DON'T Close Rom Tool. If it's not responding,just wait for a few seconds or maybe a few minutes until it does.
-If ROM Tool does not respond completely or crashes specially in the last few process of cooking, pls check if your SYS_XXXXX folder is still in i8000kitchen\_Template. If not, it was not succesfully renamed because of the crash. If a SYS folder exists, then it's your original SYS_XXXXX, rename it to SYS_XXXXX before working all over again
-Don't panic if your device doesn't boot. I have encountered my device not booting from my test ROMs MANY (x2) times. Just flash your device with an official or custom ROM and your device will be alright. (I'm not saying B7610 is brick proof,just in my experiences,it's hard to brick it from flashing custom ROMs; well you can possibly brick it by removing usb connections while in the flashing process or adding something in your custom roms that brick your device. Unless it can't
go to download mode, it's bricked.)