TotalFire's ROM Cooking Guide
I have been requested to write a simplified guide on how to cook ROMs For Xperia, as I have just started please be patient and ignore any empty posts for now.
This guide is for anyone who wants to learn how to cook ROMs for Xperia, you dont need any knowledge other than being able to flash a ROM on your Xperia
If any of the information stated is incorrect please tell me and i'll change it.
Tutorial Layout:
1: Tutorial Layout
2: Setting Up The Kitchen
3: Cooking Your First ROM
4: Customizing Your ROM
5: Customizing Using Autorun
6: Fixing BuildOS Error's
Credits:
Bepe & Gtrab for the kitchen
Anyone else I forgot to mention
Setting Up The Kitchen
The Kitchen is where all the files in the ROM are kept and where there put together into a ROM which is flashed. There are mainly two types of kitchens, an automated kitchen and a visual kitchen, in this tutorial I will be using a automated kitchen which was made by bepe and modified by gtrab. The only modification I did to the kitchen was to make it rename the ROM to RUU_signed.nbh so that it could be flashed from the PC. in this tutorial I will explain the filesystem used in the kitchen.
In the root of the kitchen you will find 4 folders, they are OEM, SYS, ROM and Tools, below I will explain whats in each folder and what it does.
OEM
The OEM folder contains all the customizations made by the OEM or in this case chef. In the folder you will find lots of folders which begin with PACKAGE, these are most often applications, registry changes or both. The name can indicate which phone they come from for example a package which is called "PACKAGE_Kovsky_Camera" comes from the Kovsky (Xperia) and a package called "PACKAGE_Rhodium_PhoneCanvas" comes from the Rhodium (Touch Pro 2). Inside a Package you could find many different filetypes, every package has at least a dsm file inside, this is a identifier file. The dsm files name will have loads of random numbers and letters in such as "d9dd6d62-02d6-48d7-9764-18ac81aff3ad.dsm", this is it's unique identity no other package will have the same ID. Most Packages will also have a rgu file, an rgu file contains registry changes for the device, a package can contain only one rgu file and it must have the same name as the dsm file. Make sure when writing a rgu file to have the first line say "REGEDIT 4" and the last line must be empty, if this is not done the rgu will be ignored. One more filetype to look out for is a provxml file this contains registry changes just like the rgu but can be called anything and you can have as many provxml's as you want in a package, the registry edits are written in xml. The last file to look for is an "option.xml" file, these are used only by the kitchen to tell it if the package should be used, these are not needed but without one the kitchen uses the package without giving you a choice. The "option.xml" files can be made manually or generated with Ervius Package Creator but its easy enough to make it manually so I usually do. OEM Packages can be extracted from official ROMs and unprotected ROMs, you can also convert cab's into oem packages using Ervius Package Creator or doing it manually, later on in the tutorial I will add a guide on how to using Ervius Package Creator (manually doing it is too complicated). CABs can be installed without converting them to OEMs but the more CABs you have the longer it takes for the customization to finish when you first install the ROM, I will also show you how to install CABs without converting them to an OEM in a later tutorial, the use of this is if a CAB doesnt convert properly with Ervius Package Creator and you dont want to convert it manually.
ROM
In the ROM folder you will find the folder XIP and the file "OS.nb.payload", the "OS.nb.payload" file contains things such as the splashscreen, usually this file is not edited and the splashscreen is overwritten by a package in OEM. The "OS.nb.payload" is usually changed when upgrading the SYS folder because "XIP.bin" contains the kernel files which is inbuilt in the "OS.nb.payload" file. In the XIP folder there is boot.rgu file which contains registry entries used by windows mobile and isnt used by the OEM or chef, it is used exactly as an rgu file would in a package in the OEM folder. When upgrading to a new build of windows mobile this folder will be upgraded, it will need to be ported properly to xperia for it to work but i'll add a guide for that in a later tutorial.
SYS
The SYS folder contains all the files used by windows such as themes and applications like office mobile. Inside the SYS folder there are many other folders such as MediaOS (Windows Media Player) and WindowsLiveIM(Windows Live Messenger) These are basically packages made by windows similar to the OEM packages. I dont need to go into as much detail as I did with the OEM because the only time you use this folder is when you either swapping images to change skins or upgrading the windows mobile build. I will show you how to upgrade the SYS folder in a later tutorial because some of the files in SYS are device specific and resolution specific so you cant just take a SYS folder and overwrite your old one.
Tools
The Tools folder contains all of the applications the kitchen uses to build a ROM. I dont need to go into any detail because you never need to touch any of the files in the Tools folder but if you intrested, you can open the cook.bat file in the root of the kitchen which should tell you more about which applications do what.
Other than the 4 folders in the root of the kitchen is 4 files, they are Cook.bat, CustomRUU.exe, SYSVersion.exe and XVI32.exe Shortcut, below I will explain what each file does.
Cook.bat
This files runs all of the tools in the kitchen to build to ROM.
CustomRUU.exe
You should have seen this file before, it is used to flash a ROM
SYSVersion.exe
This application checks the version of each individual SYS folder, useful to check the SYS build
XVI32.exe Shortcut
This application is used to HEX edit files, this can be used to HEX edit the ROM to change the default date, i'll show you how to do this at a later date.
Download the Kitchen Here
Cooking Your First ROM
I feel the best way to learn to cook ROMs is to get familar with the cooking process. In this tutorial you will cook a ROM using Gtrabs/Bepes kitchen and end up with RUU_signed.nbh will can be flashed on your xperia, hopefully this will give you an sense of what cooking is like.
Step 1
Extract the kitchen you downloaded in post 2 to any place on you computer, I have my kitchen on the desktop. Please make sure you have framework 3.5 installed onto your pc as its required.
Step 2
Run the file Cook.bat, a command prompt will open up shortly followed by a application called BuildOS. BuildOS lets you chose which packages to cook in your ROM without having to delete them every time. Only packages with an option.xml file will be shown meaning if its not there it, you will have to make one or else it will be cooked in without giving you a choice. As this is an early tutorial i recommend you like all packages in for now incase you remove required packages accidently. Now press the play button and wait until it says at the bottom left corner "done", once "done" appears close BuildOS.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Step 3
After closing BuildOS, two Command Prompts will open, wait for one to close. Once one has closed you'll have one command prompt asking for you to chose a compression method, like in the picture below. What you do is press enter and an application called XVI32 will open, this is an HEX editor. Now you need to choose which compression method you want LZX or XPR, LZX compresses the ROM much better than XPR but takes longer to cook the ROM, most often I compress with XPR when testing but use LZX when releasing a ROM. All you do to change compression is look at the HEX editor it says either LZX or XPR, if it says LZX and you want XPR, change it to XPR, save and close and vice versa. After closing XVI32 There will be loads of white scrolling text wait for it to stop moving.
Step 4
You will now have a comand prompt, like below just press enter and wait for it to close. Congratulations!, you have just cooked your first ROM, if you would like to test it plug in your xperia and run CustomRUU.exe and just flash the ROM like you normally would.
Now that you've cooked a ROM you can try cooking another while removing some packages and following any customization suggestions in post 4Click Here
Customizing Your ROMThis Tutorial Contains Various Mini Tutorials On How To Customize Your ROM
How to change your ROMs Name
In the kitchens tools folder there is a file called nbhgen.txt, edit the third line (which says "SEX1.R3" by default) to the new name of your ROM
In the kitchens OEM\OEMVersion there is a rgu file, edit the line in the file "ROMVersion"="SEX1-r3.61-XprT" changing "SEX1-r3.61-XprT" to the new name of your ROM
Note: Your ROM name can have a maximum of 16 characters and no more, change both of the above to chnage your ROMs name
How to change your ROMs Boot Screen
In the kitchens SYS\Redist_dpi_192_resh_480_resv_800 folder there is a file welcomehead.192.png which is the phones boot screen
Only the first 480 x 800 pixels are used from the image taking from the left side of the image
Adding Extra OEM Packages
Simply take the package and place it in the OEM folder of the kitchen
Some packages have a language package with must be cooked also for example "PACKAGE_Kovsky_Camera" & "PACKAGE_Kovsky_Camera_0409"
OEMs can be extracted from Stock ROMs and some custom ROMs (if there unprotected), I will show you how to extract ROMs in a later tutorial
Upgrading Windows CE Build (SYS)
Replace packages from your old SYS folder with ones from the new SYS folder
Dont replace the folders ".VM" or "WinCENLS_WWE" because they are unique to that device
Dont replace files with resolution packages with newer resolution packages of a different size, for example "Redist_dpi_192_resh_480_resv_800", this is for a phone with resolution 480 x 800, so dont replace it with something like this "Redist_dpi_192_resh_480_resv_640"
The same goes for DPI, make sure the new package is the same DPI as your old one, for example "Base_DPI_192" this package has a DPI of 192, dont change it to something like this "Base_DPI_96"
Finally packages that contain language files must be replace with files of the same language or else the OS will be in another language, for example "Browsing_Lang_0409" this package is and english package (0409 is english) so dont replace it with something like this "Browsing_Lang_0407"
Changing The ROMs Default Date
After cooking a ROM, open XVI32 in the root of your kitchen
Click File > Open and select the "RUU_signed.nbh" file from the root of your kitchen
Press Ctrl and F, and search for "Jan"
Below the line its selected there should be something like "Apr 23 2009", Change it to something like "Aug 18 2009"
"Apr" stands for April change it to the first 3 letters of the month you want to change it to
Customizing Using AutorunThis Tutorial Is Not Finished, Please Ignore It
In most ROMs, there is a customizing screen which is shown just after the ROM is cold booted (ran first time or ran after hard reset). This is where all the CABs are installed, theme is set and the last registry entries are added. In this tutorial I will show you how to use autorun to customize your ROM.
First in the kitchen go into the OEM\OperatorPkg folder.
Installing CABs With Autorun
First place the CAB you want to install into the OEM\OperatorPkg folder
Open either config.txt or config_operator.txt, I would use config.txt
Add line in between "LOCK:Enabled" and "LOCKisabled", "CAB: \WINDOWS\your_cab_file.cab" replacing "your_cab_file" with the exact name of the CAB.
Remeber the more CABs you have, the longer it will take to customize, so only use it if converting it to a package doesnt work.
Installing TSKs (Theme's) With Autorun
First place the Theme you want to install into the OEM\OperatorPkg folder
Open either config.txt or config_operator.txt, I would use config.txt
Add line in between "LOCK:Enabled" and "LOCKisabled", "TSK: \WINDOWS\your_tsk_file.cab" replacing "your_tsk_file" with the exact name of the TSK, this changes your default theme
Put as many themes as you want in the OperatorPkg folder, they will all be added into the list in today settings
following every word!!
Very nj!
It's all clear and easy to follow: the perfect tutorial!
I was waiting for this for long time, thank you!
well done TotalFire, keep the high spirt
great work...i can finally understand how this works! When will you release another tutorial? I would love to know how to put programs in your rom (or the packages, for that matter) install skins or a connectio nsetup which runs automatically....
love this!
I'll try and release a few tommorow.
Does anyone know if its possible to disable smilies in a post?
yes when u reply click go advanced .then u click disable smilies in text!
rotastrain said:
yes when u reply click go advanced .then u click disable smilies in text!
Click to expand...
Click to collapse
Thank You
--------------
Totalfire , i believe after you finish this tutorial any beginner can cook his own rom with his own recipe
so please continue the same SIMPLE wording
thanks M8
I will, just need a bit more time
Please request tutorials, and i'll make then. Dont know which one to make next.
Nice tutorial I'm using Visual kitchen myself but nice tutorial for old style
killer8nl said:
Nice tutorial I'm using Visual kitchen myself but nice tutorial for old style
Click to expand...
Click to collapse
Ive just started using the visual kitchen, didnt give it much of a try last time. Seems good so far.
Fixing BuildOS Error's
While cooking ROMs you are very likely to come across error's, this post will show how to fix some of them.
Default.hv And User.hv:
Open the file temp\log.txt, and scroll to the bottom of it
Look at the second last line, there should be an error message with the name of a rgu file
Higlight the rgu file and copy the name to clipboard
Search the root of the kitchen with the text you just copied from the last step
Look at the folder it says and open the rgu, there is a problem in there you need to fix
As i have switched to visual kitchen, it would be easier for me to make guides for that, would anyone prefer me to continue making a guide for the old style kitchen. BTW visual kitchen, is easier especially for thing like porting SYS and ROM.
if i need to remove anything from the OEM before cooking (like a panel), just delete the item? or is there another task i must perform as well?
BTW thanks for this tutorial, this is soo damn simple, nuff respect to you dude
Related
Okay, there a couple of CAB files I install no matter what ROM I use (Total Commander, Today Screen Speed Dial, MortRing [by .exe], Morphy's Call Filter etc), now that I'm getting to grips with the whole ROM building thing I have a question:
How can I add a program installed via a CAB into a ROM so that it is installed into ROM, I've searched on the forum and can't find much. I know it can be done as ROM's such a TuMa's, Logout's and Ivan's have apps in ROM which aren't there by default...
EDIT: In addition, I overwrite some of the default ROM stuff once I've installed (ETEN M600 Dialler in particular), so again, how can I get the 'bits' out the cab and overwrite the default contents of the ROM, this would make my life much easier...
If this has been posted previously then please point me in the right direction
First extract files, shortcuts and registry entries from the .cab using wince cab manager or similar http://www.ocpsoftware.com/, take note on what directory each file/shortcut is in. (often more reg entries will be stored as a file called 'platformxxx.reg' use these too)
Normal rom edit way: add the contents of the exported .reg files to default.rgu, making sure that you leave a blank line on the end, copy all the files to the \dump directory and edit initflashfiles.dat to copy them to the right directory on first boot. (remeber to remove the first two bytes - ff fe with a hex editor). then build your rom!
Bepe's rom edit way: create a folder '[your software name]' in the oem folder and get yourself a guid from here http://kruithof.xs4all.nl/uuid/uuidgen. create a blank file called '[yourguid].dsm and a blank text file called '[yourguid].rgu'. add the contents of the exported .reg files to '[yourguid].rgu' and make sure you save as unicode. then copy all the other files to the folder and create a blank unicode txt file called 'initflashfiles.txt' and use it like initflashfiles.dat in the first method except there is no need to hex edit out the first two bytes. then build your rom!
midget, you're a star, I thought it may be something simple... I'm off out with the family now for the day, but I'll work on this later, cheers!
Itjes Guide on how to cook your own rom, fast and dirty J Part 1
First of all, this guide will not tell you everything you need, I cant show you where to find reg entries, where all files are located. It’s a guide that will show you the basics. I will tell you how to extract a official nbh to os.no, how to dump it to respective oem and sys folders where you will do your “cooking”
First of all download Hypercore Kitchen here, then run the install file.
You will now have a folder called hypercore on your desktop, and a folder called core, located on c:\core
After install, download this fixed batch folder: batch or from mirror here: Batch
Delete the batch folder in c:\
Extract it to c:\core, and replace the original one.
The reason for doing this, is that there had to be some changes in the batch files for it to work.
Now you have a functional hypercore kitchen and you can start working.
I am gonna release a OEM, SYS and ROM folder for you, but not yet. I want you to understand how mutch work it takes to build a rom, and you need to go through some of the steps that all the other chefs must when they build roms. Why not just make it simple and give you everything? There is a answer to that, and you might not like it: Because I don’t want to….
Download your official RUU from here
Use winrar or similar to extract the files in the installer, choose extract to a folder.
Open the folder you extracted the files to, and find the RUU_signed.nbh
Copy it to c:\core\tools
Open your command-promt (dos editor)
Go to c:\core\tools
Your command promt should now look something like this:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
When this is done, you must enter this: nbhextract ruu_signed.nbh
The nbh will now be extracted and in the core\tools folder you now have all the files dumped from the nbh
The screen should now look something like this:
See the second last line Extracting: 06_OS.nb
That is the file you will need.
Rename the 06_OS.nb to OS.nb
Copy the OS.nb, then close the core\tools folder
Move to your desktop, and open the hypercore folder
Then enter the extract folder, and paste your OS.nb there
Go back to hypercore main folder, open the Panel folder, then open the Extract folder.
Inside the extract folder you will find a file/shortcut called Dump .nb and .bin
Now a panel will open and give you 4 options:
Now you are dumping the OS.nb into a xdump folder located in panel\extract
Your answer here is 1 since im doing this guide for heralds
Now a new window is gonna pop up and tell you that in that windows your OS.nb should be placed, and if you did what I told you correctly, then the OS.nb is located there already. So close that window, and then another option in the command promt will ask you to hit enter when ready, witch I now suppose you are.
The OS.nb is now being extracted into the xdump folder located in the extract folder. This takes aprox a minute or so.
When the OS.nb is finished extracting, you will get a option to start pkg.tools. just close that option,its not working for some reason, I never really looked into it, I just did a “workaround”
In panel\extract you will find pkg tool
Start the pkg tool, and you get a command promt window, read it, and then press enter.
Now you should see this:
Choose option 3
Pkg tools will now open.
Go to the file menu in upper left corner, chose open, then browse to hypercore\extract\xdump\
Highlight the dump folder and press ok.
GO TO NEXT POST IN THIS THREAD
You should see something like this:
Forget the missing manifests.
Now choose the Tools meny in pkg tools, and build packages, this will only take max a minute. (you will see nothing, just wait a bit.
When you have done his, browse to you xdump folder, open it, inside you will see the dump folder, rename the dump folder (not the xdump) to packages.
Copy the new packages folder and paste it into the hypercore\extract folder. Then close the pkg tools.
From now on, I will not give you screenshots of everything. You should get the picture on how it works now.
You will see a new commandpromt window, giving you 5 options, you choose option 4: Move oem and sys to hypercore\build.
You will get a question if you wanna backup, type n for no this time.
This takes 2-3 minutes, depending on your computer. The oem and sys is being moved to hypercore/build. Where the building process is gonna happen.
Next step is to go back to hypercore\panel\extract.
Open the dump XIP tool, and you get a new pop up window, just close it and press enter in the command promt. A new commandpromt window show you option 1 and 2, do both options, and when you have done this, the oem, sys and rom folder contains all you need to cook.
But that comes in next lesson.
I have now written this as easy as I can, if you don’t understand this, I cant help you more in this process, because I cant give it to you in a easier fashion.
Have fun
Itje
Part 2 of Itjes cooking lessons
How to add and remove and build your rom
I assume you have followed the instructions in the first part, learned to extract both the .nbh and the os.nb into rom, sys and oem folders.
My way of cooking:
First you need to find out what you want and not want in your rom. I will try to guide you into building a small apps rom.
So first I do, is deciding what I don’t want to have in my rom, and I usually go to the sys folder, and start removing stuff I don’t use:
But before you start removing in sys, highlight the sys folder, right click and choose properties, uncheck the read only box, if you don’t you can’t edit files.
Remove:
Transcriber + Transcriber_lang_04xx (xx is the country code in your rom) + Transcriber_ Lang_04xx_DPI_96
See what you need to do? Remove all the folders with the name transcriber in it
You can also do this with: Office, windowslive. Internetsharing, entertainment (games)
Be careful removing in SYS folder, delete wrong stuff, and you will have a brick when flashing.
That’s a easy “clean up” of the sys, there are also other stuff you can do.
You can make your own startup image, that is located in the Redist_dpi_96_resh_240_resv_320 folder, and is called welcomehead.96.png, edit with either adobe photoshop or corel, or any other picture editors that support png files.
Open the welcomehead.96.png and do your changes, save and your done. How to and all that with photos/pictures im not gonna do, so you need to find a way to do so yourself.
Now, you can go to OEM folder, where you can add and remove a lot off stuff.
I will not show you everything, you must figure some stuff out yourself.
But download OEM packages (This is easy to fin, its all over the xda forum.
Im assuming you have found in some stuff you wanna add, in.ex total commander, htc home, networkwizard, CommManager. Ocourse you can add more or less.
Add the oem packages into the oem folder. Total commander and networkwzard don’t require removal off default files from the oem folder, but comm. Manager do, and so do htc home. The way I use to find duplicate files, is before I add the oem packages, I open in.ex the new package with comm manager, and I highlight the OEM folder and rightclick and choose searchtab. Search for files, type in search “comm.” And all files containing the word “comm.” Will be displayed, dele them (make sure they belong to comm manager, that the names matches the one in your package)
When you have searched for all files in your package, and deleted them from the OEM folder, you can add you package.
Follow same steps for all packages you add, that can have duplicate files, if you don’t you will get error when building the rom, and the build process will terminate, tell you what file is duplicate. You must then find the file, and remove it (don’t remove the one in your new package)
You can also delete stuff from oem folder, I will take as example adobe.
The easy way to remove adobe, is to find a oem package with adobe, so you can see what files needs to be deleted. Use same way as I showed you with comm manager.
You can also delete gif files, png files and wav files to make more space, be carefulll so you don’t delete files that are needed by applications you wanna keep.
Now I hope this was clear enough.
Now you can go to the hypercore/panel/build section where you will find buildOS, run it it follow steps there.
If you get errors with duplicate files, you need to remove the duplicate and start buildOS again. And continue to do so if you get more errors.
But when the buildOS is finished, close it and a new window will pop up, chose your device, and press enter, and your os.nb will be built.
flash it to your device, and test it. If it didnt work, then you have done something wrong, or im just a lousy teacher
This was a very easy guide, I hope you find it usefull. There are lot of things you can do more then I have described now, but all you need is posted all over the forum. And if your dedicated enough, you will find all you need, just be patient. You cant find it all in one day,and you cant understand it all in one day.
Have fun
Happy cooking
cheers
----------------------------
Good work. Hopefully we can get some new roms going around.
itje said:
After install, download this fixed batch folder: batch or from mirror here : batch
Click to expand...
Click to collapse
Where's the link to the batch download?
LordPhong said:
Where's the link to the batch download?
Click to expand...
Click to collapse
right there
lol, was a bit tired yesterday, forgot to add the link
Cool - thank you itje for all the effort and time you are investing...
Can't wait for the next parts
trallala said:
Cool - thank you itje for all the effort and time you are investing...
Can't wait for the next parts
Click to expand...
Click to collapse
thx
has anyone been sucessfull extracting nbh to os.nb to oem, sys and xip (rom folder) following this tutorial?
When is the next part due? I really am eager to cook!!!
oddball1 said:
When is the next part due? I really am eager to cook!!!
Click to expand...
Click to collapse
havnt started on it yet
So I dont know maybe this weekend, but not later then the end of next week
patience, my friend, patience
is the next part just making the extended rom portion? I think there's a tutorial somewhere on this site but I can't seem to remember off the top of my head, right now.
itje said:
Download your official RUU from here
Click to expand...
Click to collapse
I'm being a pain in the arse again. there's no link there and I don't know if it's the same one as the official tmo release. I know I can probably use that one but would rather not.
hey itje the links for the new batch files doesnt seem to be working. i tried them and it just keeps popping up saying it cant DL
edit: nevermind i got it too work. it was blocked on the isp i was using.
itje said:
thx
has anyone been sucessfull extracting nbh to os.nb to oem, sys and xip (rom folder) following this tutorial?
Click to expand...
Click to collapse
itje said:
Rename the 06_OS.nb to OS.nb
Copy the OS.nb, then close the core\tools folder
Click to expand...
Click to collapse
where do we copy the OS.nb to? Since, I didn't know, I, manually, had to do it.
itje said:
Copy the new packages folder and paste it into the hypercore\extract folderThen close the pkg tools.
Click to expand...
Click to collapse
This didn't work for me. I had to manually past it in %systemroot%\Core\Extract\Packages after I closed the pkgtools. For some reason, it didn't find the Packages folder correctly.
After that, I followed everything else and it worked fine. Just as you described. Just waiting for part dos (spanish not MS-DOS).
everything works fine up until the end waiting on farther instructions.
EVERYTHING YOU ASK FOR IS ALLREADY THERE, START READING........
Just as its clear, from now im not gonna answer anyone who ask for something thats allready described in the tutorial.
But the link for ruu was not there, I'll give you that..
i am cooking my chinese rom ,and thanks you working.
ginolin said:
i am cooking my chinese rom ,and thanks you working.
Click to expand...
Click to collapse
Glad I can help
Honestly, if anything you did went wrong, is because you are not reading and reading it again before you do it!
Up to now, everything is well explained
For those of you who want to customize wm6.1, here it a simple ROM kitchen to do so. Beginners, please wait for my GUI release. It is much simpler to use. This isn't that hard, but it takes a little bit of time on your side.
The basics:
All software and regedits are contained in folders called OEM packages. These are in the OEM folder.
All operating system stuff is in the SYS folder. I've also moved the shadow drivers here so you don't have to mess with them.
To make OEM packages:
Download ervius's package creator 5.4 from XDA-developers. Use this to open the cab file to convert into a package.
Copy the OEM package to the OEM folder.
Do NOT delete the OEM packages you don't want. You will choose them later in a different way.
NOTE: You can always download premade OEM packages from XDA-Develoers. There are tons of options.
If you want to make a regedit.
Create a new folder in the OEM folder and convert it into a package using Package Creator 5.4.
Open the RGU file inside with notepad
Edit like following. Note that this isn't the way to comment in regedit files:
Code:
REGEDIT4 <-----Make sure this is always the first line
------Leave one line blank here-------
[HKEY_LOCAL_MACHINE\Software\Example Software\Example Key] <----- Navigate to keys like this
"Example String" = "test" <-------- Write values with quotes. Strings are given with quote after the equal sign.
"Example Directory" = "Windows\\test.jpg" <------ Use \\ to indicate a \ between directories. Otherwise, the ROM build will not work.
"Example Number" = dword: 5000 <----- use dword: to indicate a number or hex value.
<----- You can add more reg entries after the first one. Make sure to specify a different key when needed
-----leave 2 lines at the end of file------
For Sliding Panels:
Leave ROM as it is.
For Neo interface:
Replace Chome folders and bronze folders in SYS folder with the ones attached below.
Select Neo Interface in the buildos step.
Build ROM:
start buildos.bat
when it opens packagetools+buildos, click on the buildos tab.
Click load rom and navigate and select the kitchen folder
Select which oem packages you want and then click Go.
Once it is done, close out.
Sit back and relax for a while so the batch file can build the ROM.
Self-explanatory from here.
Post any questions/problems here.
link: http://www.sendspace.com/file/ap9n8w
NOTES: The inlcuded T-Mobile Edition Package is my beta version. Feel free to build on it. You might also notice the empty placeholder folder for my N33D4SP33D Edition rom that I haven't worked on yet.
To make OEM packages:
Download ervius's package creator 5.4 from XDA-developers. Use this to open the cab file to convert into a package.
Click to expand...
Click to collapse
I found the program but get many errors when I start it up on my computer.. Im currently running Vista Ultimate. I went into control panel and changed the enviroment to emulate WinXP when the program runs and still get many errors..
Is there a vista friendly program out there or alternative available?
I'm running Vista Ultimate too and it works perfectly for me.
Attached is the version I have.
ND4SPD said:
I'm running Vista Ultimate too and it works perfectly for me.
Attached is the version I have.
Click to expand...
Click to collapse
Great! yours works thanks alot now to get my feet wet in all this lol
I got this error
'Error building default.hv and user.hv! (see imto "BuildOsX-log.Txt")
i can't see anything in there. What now. Thanks
Do you mean there's nothing in the BuildOsX-lot.txt? There should be. A few lines from the last, or the last line, there should be the registry file that messed up and on which line it messed up on. The file is given by the GUID, or that long string of numbers and letters that you see.
no, there is nothing what tell me what to do. so what should i do with that error.
i will make stick this thread.Hope next times will see some roms with this kitchen
Thanks tom. I'll make sure to post my GUI kitchen soon to let more people create ROMs a lot easier.
kormanb1123 said:
no, there is nothing what tell me what to do. so what should i do with that error.
Click to expand...
Click to collapse
what kind of things did you modify or add? Maybe I can help based on that.
I get the same error for the following:
InitRegistry FAILED in file ".\Registry\fcbf420c-04fd-478f-bd29-e4ab55973337.rgu" within a few lines of line 359.
ImportFromPackageListStrict: (RGUComp) !ERROR failed importing ".\Registry\fcbf420c-04fd-478f-bd29-e4ab55973337.rgu"
wmain: (RGUComp) !ERROR failed building DEFAULT hives
Looked through each App in the OEM folder until I found the matching rgu number, which in my case is the HTC DirectShow. Took that out of my ROM build, ran again and it states that it completed.
I think there is a problem with the directshow package. I'll check the registry entries. Until then, I think you might need to go without that.
This may sound like a stupid question, but hear me out. I have used BuildOS in the past for an Apache from PPCGeeks\PPCKitchens. Once the ROM is finished creating in that version it auto prompts to update your device.
After the ROM is done in your version, I then selected the Package Tool tab and pointed it to the "temp" directory and it did it's thing. Now I am at a loss for what to do next. I see a .nb file temp\dump\ROM directory but i don't see a .nbh file. Do I use the NBHTool even though PHOEB is not listed?
ND4SPD said:
I think there is a problem with the directshow package. I'll check the registry entries. Until then, I think you might need to go without that.
Click to expand...
Click to collapse
I'm not too worried about the directshow, I just that maybe the other guy was getting the error for the same reason so figured I would pass on my resolution.
Sorry, I guess I didn't completely read you post. For the HTC Rom Tool, use the exacalibur settings. Those are the exact same as the Juno.
all I have is o4_osxip.nb.exe in the temp folder no nbh is this the right nb. file I use with
htc tool I put exacalibur settings but don't no what to put in firmware contents
do I put o4_osxip.nb.exe in system and none in the ipl spl and splash and 0x800 radio
ok i did this
Build ROM:
start buildos.bat
when it opens packagetools+buildos, click on the buildos tab.
Click load rom and navigate and select the kitchen folder
Select which oem packages you want and then click Go.
Once it is done, close out.
Sit back and relax for a while so the batch file can build the ROM.
ok where is the rom all i have is o4_osxip.nb.exe in the temp
i have no file imgfs-new.bin in the temp all i have is 04_OSXIP.nb.exe and cecompr_nt.dll and CECompressv4.dll
and where would i look for the batch file
Thank you for your works, ND4SPD
but i can not download your kitchen, it says reached the 4G limit.
because i want to know is there any wrong method i used.
My issue is :
when buildimgfs, the total sections can not bigger than 1B200.
when i put too many files into the imgfs file, the buildimgfs will quit without any info.
but the 71M imgfs.bin have about 22000 sections.
do you have issue too ?
Is it because my PC have only 1G RAM, not enough to do the building?
@Hikey: I have that same problem too. It's the way t-mobile packaged the rom. I'm going to try using the dopod rom for the base next. It might be the PC too. I only have 1GB of RAM, maybe it isn't enough.
@kron2:
run buildos
download this zip: http://www.sendspace.com/file/xuhlc5
copy the files from the zip archive to the temp directory.
open up the cmd that's now in the temp directory.
type the following:
Code:
ImgfsFromDump imgfs-old.bin imgfs-new.bin
Sit back and relax. If this finishes without crashing like Hikey said, do this:
Code:
ImgfsToNb imgfs-new.bin 04_OSXIPN.nb os.nb -conservative
Now you can run the htccert program in the main directory of the kitchen to build the rom. When you are done making the nbh, copy it to the RUU folder and run the update utility.
**********************************************************************************************************************
IMPORTANT: Use my guide as your own risk. I am not responsible for anything if you device is bricked. Please flash only if you have hardspl installed.
**********************************************************************************************************************
XPERIA ROCKS**********************************************************************************************************************
I have been using Xperia's cooked roms from Jack and ITJE and they are good. However, there are some problems with working that and not working this. and also I found that either the roms are too light or too heavy.
My goal is making Xperia rom as light as possible and only using xperia original stuffs so that I don't have problems with bluetooth and other things.
And I found a way to taking out junks from Xperia X1 and increased X1's storage space to around 360 MB by using Kovsky Kitchen and working everything normal.
I found that X1i_GENERIC_UK_CDF1215-1832_R2AA010 is the best for me and I stripped out SE's junks from the rom using Kovsky Kitchen. You can do to any original rom for your need.
Preperation:
1. Download Kovsky Kitchen here http://forum.xda-developers.com/showthread.php?t=477801 .
2. Download X1i_GENERIC_UK_CDF1215-1832_R2AA010 .
Start Cooking your own rom:
Step 1: Preperation
1. Extract Kovsky Kitchen to any where you want. (Preferrably C:\Kovsky Kitchen)
2. Rename APP_SW_X1i_GENERIC_UK_CDF1215-1832_KOV_R2AA010.image to RUU_Signed.nbh and copy to Kovsky kitchen's BaseRom folder.
Step 2: Extracting
1. Run KovskyKitchen.CMD
2. Type "e" to extract the original X1 R2AA010 rom
3. Type "a" to start extracting. (It will take around 2 or 3 minutes)
4. Wait until you see "Press Any Key to continue...."
5. Leave the CMD windows open...
Now Kovsky Kitchen is ready to cook...
Step 3: Cooking
1. Go to a newly created folder called " OEM" in the kitchen that where you do stripping out SE's Junks.
2. Go to "ConfigAP" folder. You will see config_AP.txt. Make file writable by changing read only attribute. And delete all links to CAB files that you want to delete. I delete them all as I don't want any of them.
CAB: \WINDOWS\bejeweled2SX1.PPC_2577.WM5_signed.CAB
CAB: \WINDOWS\FM-Radio_Panel_MR1_R19_32318_signed.CAB
CAB: \WINDOWS\GoogleMaps-ms-sonyericsson_emb.cab
CAB: \WINDOWS\GooglePanel_UK_MR1_R19_32195_signed.CAB
CAB: \WINDOWS\GoogleSearch_SEMC_1.1.40_RC3_signed.CAB
CAB: \WINDOWS\MxP_R19_MR1_RC2_32367_signed.CAB
CAB: \WINDOWS\WM6.1_PPC_dawn_Opera_2532_signed.cab
CAB: \WINDOWS\sudokuSX1.PPC_2577.WM5.CAB
Leave only "CFG: \WINDOWS\config_end.txt" line . I don't want any junk in the rom. I will install them later by UC config or manually install them.
And put the file back "Read Only"
3. Delete folders that you don't want in the OEM folder whatever start with "PACKAGE_". For example:
PACKAGE_Kovsky_Bejeweled2
PACKAGE_Kovsky_Bejeweled2_0409
PACKAGE_Kovsky_FMRadioPanel
PACKAGE_Kovsky_FMRadioPanel_0409
PACKAGE_Kovsky_GoogleMap
PACKAGE_Kovsky_GoogleMap_0409
PACKAGE_Kovsky_Googlepanel
PACKAGE_Kovsky_Googlepanel_0409
PACKAGE_Kovsky_GoogleSearch
PACKAGE_Kovsky_GoogleSearch_0409
PACKAGE_Kovsky_HandangoInHand
PACKAGE_Kovsky_HandangoInHand_0409
PACKAGE_Kovsky_MxP
PACKAGE_Kovsky_MxP_0409
PACKAGE_Kovsky_Opera_Browser
PACKAGE_Kovsky_Opera_Browser_0409
PACKAGE_Kovsky_Sudoku
PACKAGE_Kovsky_Sudoku_0409
4. Deleting files from ExtendedPkg (Musics and Movies)
Make config.txt writable and delete
"XML: \WINDOWS\fileoperations.xml" line and Make the file read only again.
Delete all files that are larger than 22 KB except "Xperia Black.tsk", because i like Xperia black theme.
You can delete other files if you want to but for me I leave them alone as they are small enough.
5. Deleting files from SYS folder (These are original WM stuffs)
Delete "AUTOUPDATE" folder
Delete "NetCF" folder (You can install NetCF 3.0 later)
Delete "SampleMusic" folder
Delete "WelcomeCenter" folder
Delete "WelcomeCenter_Lang_0409" folder
You can delete OneNote, Office, or WindowsLive if you would like to. But I leave them alone.
Now.. our rom has no more unwanted stuffs..
Step 4: Building OS
1. Go back to CMD window and
2. Type "C" cook a rom.
3. Type "A" if you want to use the old BuildOS.exe (I can't figure out the second one)
4. BuildOS windows will appear.
5. Just click on green "Play" icon and It will start building our rom. Wait until it finishs and closes the "Build OS" window.
6. Go back to CMD windows again and wait until you see "press any key to contine".. press any key..
7. It will do some stuffs and you will see os-new.nb in the kitchen folder.
8. htc rom tool windows will appear.
Go to Rom Builder TAB. Choose Kovsky * in device. It will fill all the infomation in other fields. Just change the version to anything you like.
9. Choose "os-new.nb" in the OS field. and click on "Build" button.
10. Save it as "RUU_Signed.nbh" in the kitchen folder. A new window appear and it will quit itself.
11. Now. you will see "RUU_Signed.nbh" in the kitchen folder.
12. An Hexa Editor windows will appear. Just close it.
13. You can close CMD window now.
Step 5: Flashing
Now you are ready to flash your own cooked rom. You can flash your rom with RUU Update Utility or just change "RUU_Signed.nbh" to "KOVSIMG.nbh" and put is in SD card and flash it.
For information on how to flash using SD card here .
You can get my sample rom here.
*********************************************************************************************************************
FOR THOSE WHO WANT TO PUT CAB FILES IN THE ROM.
*********************************************************************************************************************
Step1:
Put the line in Config_AP.txt the line "CAB: \WINDOWS\FM-Radio_Panel_MR1_R19_32318_signed.CAB" . It has to be exactly as the cab file name that you are going to put in the OEM folder.
Step2:
Make 2 folders "PACKAGE_Kovsky_FMRadioPanel" and "PACKAGE_Kovsky_FMRadioPanel_0409" in the OEM folder. Put your cab file in the first folder.
And now you are good to go.
Step3:
Open KovskyKitchen.CMD and start the procedures "Step 4: Building OS "from my guide.
************************************************** ********
Step 4: Building OS
1. Go back to CMD window and
2. Type "C" cook a rom.
3. Type "A" if you want to use the old BuildOS.exe (I can't figure out the second one)
4. BuildOS windows will appear.
5. Just click on green "Play" icon and It will start building our rom. Wait until it finishs and closes the "Build OS" window.
6. Go back to CMD windows again and wait until you see "press any key to contine".. press any key..
7. It will do some stuffs and you will see os-new.nb in the kitchen folder.
8. htc rom tool windows will appear.
Go to Rom Builder TAB. Choose Kovsky * in device. It will fill all the infomation in other fields. Just change the version to anything you like.
9. Choose "os-new.nb" in the OS field. and click on "Build" button.
10. Save it as "RUU_Signed.nbh" in the kitchen folder. A new window appear and it will quit itself.
11. Now. you will see "RUU_Signed.nbh" in the kitchen folder.
12. An Hexa Editor windows will appear. Just close it.
13. You can close CMD window now.
************************************************** ************************************************** *****************
FOR THOSE WHO WANT TO PUT OTHER HTC DEVICE'S STUFFS IN THE ROM. (For example "Blackstone" HTC Touch HD)
************************************************** ************************************************** *****************
Step 1: Exact other device's ROM the same procedure as X1 rom.
Step 2: Simply copy folders from Blackstone kitchen's OEM folder to X1 kitchen's OEM folder. For example:
PACKAGE_Blackstone_AudioBooster
PACKAGE_Blackstone_AudioBooster_0409
Step 3: Follow the step 4: Building OS from the guide.
Working Stuffs:
Album
AudioBooster
AudioManagerEngine
Enlarge Startmenu
MP3 Trimmer
FMRadio
Manila
JetCet Print
LargeTitalbar
Volume Control
AdvancedNetwork
Not Working Stuffs: (May need shared files from other folders or tweakings)
Camera (I simply use X1 camera application . Copy \Program Files\CameraRunner.exe to \Windows and rename it to "Camera.exe".)
Youtube (You can simply install Youtube program that has been modified)
CyberonVoice Commander
Nice work!! Downloading at the moment, and see what your guide brings me
wow,that's what i'm looking for!
thanks for the work
How to cook rom 101.. This is what i've been looking for.. Thanks TS.
Brilliant, someone should sticky this.
Been wanting to try cooking my own rom for a while but didn't know where to start. Your example is pretty much exactly what i've been looking for in a cooked rom, strip out all the media junk but not mess with anything else.
What do I have to do to get UC working, is it just a case of having SDConfig.txt on my storage card or do I need to add something to the rom?
Any chance of a part 2 for how to add cab's to the rom? I would like to add a few light weight essentials such as blackstone dialer, fm radio & volume control to mine.
Nice Thread...I will try it later after work...
"Make config.txt writable and delete
"XML: \WINDOWS\fileoperations.xml" line and Make the file read only again.
Delete all files that are larger than 22 KB except "Xperia Black.tsk", because i like Xperia black theme."
One question...what do you mean "make config.txt writable?"
MykeChester said:
One question...what do you mean "make config.txt writable?"
Click to expand...
Click to collapse
In file properties, untick "read-only"
Q
a good guide.Thanks!
thank you very much
Actually, I have never tried to use UC yet. I just install whatever I want manually. Using UC should be quicker to install things. Great chefs like ITJE and Jack should know better. Please search their threads for UC stuffs.
For putting the cab files should be relatively easy. We can do reverse exactly how we stripped them out.
For example , you can do the following if you want to put FM Radio panel back or any other cabs you wanted to include in the rom.
But for me, I want the rom as light as possible and to get the largest storage space, I don't bother to put them in the rom. If I want them, I just install them manually.
Step1:
Put the line in Config_AP.txt the line "CAB: \WINDOWS\FM-Radio_Panel_MR1_R19_32318_signed.CAB" . It has to be exactly as the cab file name that you are going to put in the OEM folder.
Step2:
Make 2 folders "PACKAGE_Kovsky_FMRadioPanel" and "PACKAGE_Kovsky_FMRadioPanel_0409" in the OEM folder. Put your cab file in the first folder.
And now you are good to go.
Step3:
Open KovskyKitchen.CMD and start the procedures "Step 4: Building OS "from my guide.
**********************************************************
Step 4: Building OS
1. Go back to CMD window and
2. Type "C" cook a rom.
3. Type "A" if you want to use the old BuildOS.exe (I can't figure out the second one)
4. BuildOS windows will appear.
5. Just click on green "Play" icon and It will start building our rom. Wait until it finishs and closes the "Build OS" window.
6. Go back to CMD windows again and wait until you see "press any key to contine".. press any key..
7. It will do some stuffs and you will see os-new.nb in the kitchen folder.
8. htc rom tool windows will appear.
Go to Rom Builder TAB. Choose Kovsky * in device. It will fill all the infomation in other fields. Just change the version to anything you like.
9. Choose "os-new.nb" in the OS field. and click on "Build" button.
10. Save it as "RUU_Signed.nbh" in the kitchen folder. A new window appear and it will quit itself.
11. Now. you will see "RUU_Signed.nbh" in the kitchen folder.
12. An Hexa Editor windows will appear. Just close it.
13. You can close CMD window now.
**********************************************************
Hope this help.
i_am_jon said:
Brilliant, someone should sticky this.
Been wanting to try cooking my own rom for a while but didn't know where to start. Your example is pretty much exactly what i've been looking for in a cooked rom, strip out all the media junk but not mess with anything else.
What do I have to do to get UC working, is it just a case of having SDConfig.txt on my storage card or do I need to add something to the rom?
Any chance of a part 2 for how to add cab's to the rom? I would like to add a few light weight essentials such as blackstone dialer, fm radio & volume control to mine.
Click to expand...
Click to collapse
@htainlin
Thank you greatly for these posts - they are very clear and concise.
Most of all, they are explicit and very helpful. Trying to obtain a "road map" of ROM cookery is very frustrating - it's all a "big secret", where you are advised to read and read etc, but the multifarious references are truncated, incomplete, chaotic and contradictory. You've helped enormously in cleaning up this mess.
Straightforward now - generic RA3 versions will turn up sometime.
Re UC:
I use this to re-install most apps after a new ROM flash (see Jack Leung's thread for my posts). The only real hassle for UC are those apps that splatter files on installation to both the SD card and Storage. There is a huge thread on UC with most questions answered in one fashion or another, but it takes patience to sort through it. Having done it once, you need only update your sdconfig.txt as you add/remove apps over time.
Nice post!
However if you really want to make a streamlined rom use Ervius Visual Mulitlang Kitchen
http://forum.xda-developers.com/showthread.php?p=3147148#post3147148,
The GUI is pretty neat, and it uses Bepe's new kitchen system to get rid of extra gumpf in the roms (such as dsm files).
this then optimizes it a bit as /windows has less files in it. Ergo it does things faster.
this will also work with the newer format roms coming I think.
ianl8888 said:
@htainlin
Thank you greatly for these posts - they are very clear and concise.
Most of all, they are explicit and very helpful. Trying to obtain a "road map" of ROM cookery is very frustrating - it's all a "big secret", where you are advised to read and read etc, but the multifarious references are truncated, incomplete, chaotic and contradictory. You've helped enormously in cleaning up this mess.
Click to expand...
Click to collapse
There's no "big secret" the reasons you've stated are the reasons people tell you to read. If there was one post to point people to then don't you think people would have done it?
It takes a lot of time to do the work that htainlin did, which is why most people dont get around to doing it all.
htainlin stick it in the WIKI.
Very rom cooking guide for beginner
Nice work. I did something similar for Asus P525 long time back and I know it's takes a lot of effort to bring everything together, and explain the subject clearly for beginner.
This is a very good starter "re-cooking" document for beginner. There is no "big secret" for rom cooking. All you still need to do is research and read a lot more to do some hardcore stuff for the next level. e.g. remove unnecessary driver/service/registry Welcome center / Customer Satisfactory ...etc, replace driver w/ other device to get more functionality. Then XIP/Sys port .....etc
Thanks guys. I am not really into cooking.
My goal is to take the "Unwanted Stuffs" out from the rom so that the storage will be larger and just a small guide to everyone who wants to make their rom lighter. Everyone should be able to do it themselves for their likings to any future rom versions.
There is "NO BIG SECRET" for rom cooking. But for beginners, it is really hard to figure out how to use "Kovsky Kitchen". Once you are experienced, it's quite easy.
But for advanced stuffs as Jack mentioned.. we need more research and skills. I might write a detailed guide later, how to edit registry and replacing better dlls and applications.
Everyone has his/her own preferences and I just want to show them even a beginner could do themselves.
Windows mobile is the best ever mobile os for me so far and you can modify anyway you like. Thanks to many developers who created kitchen and make things easy for us.
how to's...
here are some of the how to's i stumbled on ppc geeks. hope this enlighten some in modding/customizing roms:
1. how to's for developing
2. adding registry entries (rgu method)
twisted said:
here are some of the how to's i stumbled on ppc geeks. hope this enlighten some in modding/customizing roms:
1. how to's for developing
2. adding registry entries (rgu method)
Click to expand...
Click to collapse
Thanks for the links. Very good.
There is no need to do such a hard job - to extract & rebuild all the ROM file.
Just take HTC Rom Editor, open your ROM there, clear all useless stuff and correct files
config.txt
config_AP.txt
config_operatior.txt
config_SP.txt (if exist)
fileoperations.xml
runlua.cc
Then save your rom and flash it. Easy way.
PS: My custom rom with cleared "stuff" (even SE Dialer) and some features is about 65MB, and makes about 360+MB free memory.
Great job! Big help to us new to WM and ROM cooking. Thanks, mate!
+1 to make this thread sticky
great write up. got a couple questions tho.
what effect does deleting the \windows\fileoperations.xml have on:
ringtones? will you have to maually load your ringtone, like for my alarm, notifications (mail, sms)
internet explorer start page?
startup animation?
panels? will i still have the se1 and 2 panels? how about the today panel?
thanks,
claudio
I’ve started cooking my own ROM’s only a week ago. I wanted to share my experiences here as it’s not as easy as it seems Well, with the right settings, tools, references, etc it makes it easier though. So this is my sharing back to the community, my tutorial/reference guide on how to cook a ROM.
The result of my days of hard work is named DaxyROM and can be found here.
If you want to start cooking, be prepared to read a lot and spent a lot of time trying your home cooked meals. But when it boots and works as expected, you’ll enjoy all the time spent.
There are 3 steps I’d like to discuss in the following 3 posts:
1) Basic ROM extraction and cooking
2) Adding / Removing programs
3) Upgrading your XIP/SYS (aka install new OS version)
First of all get to know what you’re dealing with. Understand what SYS/EXT/OEM/ROM/XIP is ‘cause at the end of the week you can’t think of anything else. Good source here.
1 Basic ROM extraction and cooking
I’ll be using the Ervius Visual Kitchen and the official WM6.5 ROM from HTC to start with.
* Download Ervius Visual Kitchen. Always use the latest version.
* Download WM6.5 ROM’s from HTC
* Download CustomRUU.exe
Preparing the kitchen:
Extract Visual Kitchen (VK) to C:\Kitchen (will be refered to as Kitchen now)
Create a directory in the Kitchen named RomDump
Open the WM6.5 HTC ROM .exe file with Winzip
Extract the file named RUU_signed.nbh to the RomDump directory
Now open the Kitchen (erviuskitchen.exe). Ignore the warning messages
Click on the bottom left button named “Dump nbh/nb/payload”
Open the RUU_signed.nbh file and wait till it’s completed.
Enter the Kitchen\RomDump\dump directory
Move all files to Kitchen directory
There seems to be an issue with kitchen_build_rom.bat while building your ROM.
Modify your kitchen_build_rom.bat file from this:
Code:
set DSM_TEMPLATE=%dsm%
set DSM_INCLUDES=*
REM **************** TOOLS\platformrebuilder.exe
if not "%errorlevel%"=="0" goto error
To this:
Code:
set DSM_TEMPLATE=%dsm%
set DSM_INCLUDES=*
REM **************** TOOLS\platformrebuilder.exe
REM **************** if not "%errorlevel%"=="0" goto error
You’re now ready to go.
Built your first ROM – The Visual Kitchen Basics:
Click on the pull-down menu next to RHODIUM and select RHODIUM
Ignore the messages. You’ll see the screen building now
Fill in the name of your ROM at the ROM ver. Field
Check the “Real WM 6.5 AKU” field
Click on the “Other” button
Change the –PP value from 6 to 18 and click on the Close button
Save the settings: hit the “Save ROM” button. Filename must end with extension .erv.
You’re ready to hit the Create ROM button
Wait till it finishes
Now open the Kitchen\RELEASE_Rhodium directory
Copy the CustomRUU.exe to this directory and run it
You’re now running the HTC WM 6.5 ROM rebuilded by yourself
Right now your kitchen is ready to use and you can modify it as much as you like.
Part 2: Adding / Removing programs
Right now we know that the kitchen works. We have rebuiled the official version and it boots up fine. Make sure to test your extracted ROM works otherwise you will loose a lot of time. Now it's time to make changes. Keep in mind that the following is what I've teached myself and that there might be better methods in adding/removing packages.
The easiest is removing packages. Just double-click on the package and it won't be included. If you want it back, just double-click again and it's back in. Easy as that.
Keep in mind that you can't remove OEM packages and that if you're removing packages from the SYS you have to be carefull as you might run the risk you remove a core application and that Windows won't boot anymore. You can however safely remove packages like LiveSearch, MSTag, OneNote, etc without any problems.
The EXT directory is where all packages reside. This directory is devided in 2 sub-directories. One for Rhodium specific packages and one for Shared platforms. By default all applications are in the Rhodium directory but you might want to change this manually to Shared if you're planning on building for multiple platforms. For now we'll keep them in the Rhodium directory.
You need to either find EXT packages online, or you need to convert CAB files to EXT packages. That is basically it.
I've found a lot of new EXT files here: http://www.everythingdiamond.info/showthread.php?t=94. You can download new EXT folders and copy them into the VK\EXT\Rhodium\<built>\Rhodium_External_Packages directory. Now load VK and Load your previous saved config. Scroll down the list and you will see your new package. This package is not yet included in the Kitchen. This is useful if you're upgrading packages so you'll know which one is new and which one is old.
If you're upgrading packages, keep in mind that some do depend on each other. For example Manila heavily depends on all kinds of other packages. When you're upgrading one, upgrade the others as well unless you're certain there are no dependances. You'll find out when your upgrading. Make sure to safe your work very often so you can always revert back to your previous situation.
As I mentioned you can also convert CAB's to EXT. This can be done using the package-creator from Ervius. TotalFire Package Converter does the job as well, but I haven't used it yet.
Download your application as cab file. Open the package converter, open the cab file and it converts to an EXT directory. This EXT directory can be copied into the kitchen again.
Adding your own EXT is more complicated. For example if you want to create a package which holds all your registry tweaks.
You can either download this file and change the .reg file, or you can take the hard way and learn by using this tutorial: http://www.mediafire.com/file/j15nqfzkwz5/CreatingOEM.zip
Both are written by user kwbr. See here for more info: http://forum.xda-developers.com/showthread.php?t=480714.
I believe this concludes this section. You should be able to add and remove packages right now. Next stop, installing a different Windows build.
Please sent me feedback on how to improve my posts.
Part 3: Upgrading your XIP/SYS (aka install new OS version)
It's time for the last part of my Tutorial. This time I will explain how to upgrade your XIP/SYS.
First you need to find your new XIP/SYS. I get mine WM 6.5.1 at http://forum.xda-developers.com/showthread.php?t=544445 but there are probably more sources.
First you need to know what to get. If I'm taking the above URL as example, there are several files.
The first one you need is the XIP/SYS one. This however is the OS for a screen resolution of 480x600 (The Touch Pro2 has a screen resolution of 480x800). You still need this file as it the the base OS combined with the (wrong) resolution files. That's why you need the 2nd file named "0409 USA English United States (Includes COMMON DPI, required for others)" as well. This is the english version for all resolutions.
The first file you can just extract in your SYS directory. It will create a new directory with the new build number and a directory named Shared.
The Shared directory you need to move to your ROM directory. This means you end up with a new build number in the Shared directory.
Now we just need to make sure the resolution files are copied. This means you need to copy a list of directories. At first create a directory named SYS\<build>\dpi_192_resh_480_resv_800. Just extract the complete 0409 Language file into a temp directory and the create the following directory structure by moving directories:
Code:
SYS\<build>\dpi_192_resh_480_resv_800\0409\Base_Lang_0409_DPI_192_RESH_480_RESV_800
SYS\<build>\dpi_192_resh_480_resv_800\0409\Themes_Lang_0409_DPI_192_RESH_480_RESV_800
SYS\<build>\dpi_192_resh_480_resv_800\COMMON\base_dpi_192_resh_480_resv_800
SYS\<build>\dpi_192_resh_480_resv_800\COMMON\MediaOS_dpi_192_resh_480_resv_800
SYS\<build>\dpi_192_resh_480_resv_800\COMMON\Phone_dpi_192_resh_480_resv_800
SYS\<build>\dpi_192_resh_480_resv_800\COMMON\Redist_dpi_192_resh_480_resv_800
This concludes the SYS, now the XIP.
The zip file you downloaded also contains a directory named "MSXIPKernel".
Extract this directory to your ROM\Shared\<build> directory.
Now go into the directory ROM\Rhodium.
Inside the builds you can find the OEMXipKernel which are basically the device specific drivers.
Usually these drivers don't change, unless you are upgrading the OEMXipKernel using a newly released ROM from HTC.
For now you have to copy the original build directory over to the new directory and you're done.
Right now your OS is ready to cook:
Open your Kitchen
Open your saved configuration file
Change the XIP and SYS versions (top right) to the new build version
Hit the Create ROM button
You're all set
After creating your new SYS, I suggest changing some default values. For example changing Unsigned Themes/CAB Policies:
Open the file named OEM\Rhodium\0409\Operator Pkg\mxipupdate_oemoperators_100.provxml
Find the section <!--337.01_SecurityPolicy-->
Add the following lines:
Code:
<parm name="4101" value="8" />
<parm name="4102" value="1" />
<parm name="4122" value="1" />
<parm name="4103" value="16" />
<parm name="4097" value="1" />
Save the file
Cook your ROM
Basically this means:
ID 4101: Unsigned CABS Policy = 8
ID 4102: Unsigned Applications Policy = 1
ID 4122: Unsigned Prompt Policy = 1
ID 4103: Unsigned CABS Policy = 16
ID 4097: Unsigned Prompt Policy = 1
Now you won't get warnings if you install unsigned applications etc.
One last thing to keep in mind. Don't forget to grab a new version of the OEM directory once it gets released by HTC.
I've ran into a situation where ActiveSync ran out of memory and a new OEM fixed this.
Thanks
Ervius: Big thanks to Ervius for his great Kitchen and Package creator: http://forum.xda-developers.com/showthread.php?t=469420
Da_G: For providing the latest WM builds: http://forum.xda-developers.com/showthread.php?t=544445
hilaireg: For providing his tuturial which was my starting point: http://forum.xda-developers.com/showthread.php?t=521632
kwbr: For his tutorial on creating applications: http://forum.xda-developers.com/showthread.php?t=480714
Everyone I forgot to add. Make yourself known and I'll add you of course!
This concludes my Tutorial. I hope you find it useful. Please feel free to provide feedback so I can adjust the tutorial or provide answers.
Eventually I may try cooking my own ROM.
Not because I can't find any good roms out there.
But just for the simple fact that I want to learn how to do it.
Thanks for taking the time to write this all up.
Just what I was looking for. I have been searching and reading and searching and reading but not getting anywhere. After following your post I've dissasembled a ROM, renamed it, and then reassembled it.
Now I was just following a recipe and didn't understand everything that happened (what is the -PP value and why am I changing it?) but I'm finally making some progress. Looking forward to your upcoming posts.
BTW, I just used the official TMo US 6.1 ROM that CDGuider dumped and made available. It'll do while I'm learning but I'm really waiting for the Official TMo US 6.5 to be released so I can use it as the main ingredient.
S
sleonard said:
Just what I was looking for. I have been searching and reading and searching and reading but not getting anywhere. After following your post I've dissasembled a ROM, renamed it, and then reassembled it.
Now I was just following a recipe and didn't understand everything that happened (what is the -PP value and why am I changing it?) but I'm finally making some progress. Looking forward to your upcoming posts.
BTW, I just used the official TMo US 6.1 ROM that CDGuider dumped and made available. It'll do while I'm learning but I'm really waiting for the Official TMo US 6.5 to be released so I can use it as the main ingredient.
S
Click to expand...
Click to collapse
Let me know if I missed something. I had to do it from the top of my head so if I forgot to add an action, let me know and I'll add it.
PS, the -PP allows you to change the PagePool size (sort of swapfile for WM).
Some people set it to 0, some to 12-18. I found 18 to be working fine. I must admit that I have too little knowledge to truly understand the PP stuff to come to a clear correct value (I believe it's questionable, the values).
If anyone disagrees, let me know
This is a great post.
I've subscribed because I'm really interested in learning and once I've ran through it myself will reference it on my site for all to use.
Well done you, supply and demand.
Daxy, On Tuesday I get my Pro2 and begin to try. Thanks for a great post!!!!!!!!!!!!!
I download the files of 23069, for example, where should I hold?
Xip and sys...
Awesome Information!! Thanks a lot and I appriciate it because rarely people share knowledge!
Thanks for the clear tutorial! Looking forward to future updates!
really excited to start making my own roms...
thank you for taking the time and making this
hopefully in the future ill be able to contribute to the community...
my touch pro2 could use some of my own flavor lol
thanx for the effort ...
gonna read thru it when i am more awake ... lol ... this seem to be what i am looking for ... wanna cook my own rom but proper info is few and far between for the rhodium ... unless i waslooking in the wrong places ... hehehe
I have used this tool to dump official rom, it works. But when i dump others' customized roms, it always says 'lost XIP'. why?
Thanks all for your kind words.
I've updated Post 2: Adding / Removing programs
Hope you like it. Please let me know if anything is missing.
Next post will be regarding using a new version of Windows, where to place files etc. This one should be up in a couple of days.
eddy16112 said:
I have used this tool to dump official rom, it works. But when i dump others' customized roms, it always says 'lost XIP'. why?
Click to expand...
Click to collapse
Customized ROMs are protected. You cant dump them. You can only dump official ROMs.
eddy16112 said:
I have used this tool to dump official rom, it works. But when i dump others' customized roms, it always says 'lost XIP'. why?
Click to expand...
Click to collapse
ai6908 said:
Customized ROMs are protected. You cant dump them. You can only dump official ROMs.
Click to expand...
Click to collapse
Correct! even if the customized rom was unprotected you still would not be able to rebuild a rom off of it because of the loss of rgu's and dsm's in the origional building process. would be very difficult.. best thing to do is ask for the kitchen files from the chef and hope they can share.
edit: one thing you can do is use an app called rom imaged editor and open the nbh with that, you can grab individual files out, even protected roms you can.. then you can add things on your own.
I've changed the topic to My first Rhodium ROM. Though it would sound better.
joshkoss said:
edit: one thing you can do is use an app called rom imaged editor and open the nbh with that, you can grab individual files out, even protected roms you can.. then you can add things on your own.
Click to expand...
Click to collapse
I have extracted files from kooked roms no biggie. saves time from flashing for sure...
I have tried to extract all files from kooked rom too, and it seems to work. but might be able to use some dll files.
Everytime I build the ROM (rebuilding the stock rom, not config changes) towards the end the kitchen gives me a runtime error, I have tried on a 64-bit vista and 32-bit XP.
After reviewing the log it appears that the problem is:
Executing: kitchen_build_rom.bat.....
ERROR! (errorlevel: 1)
ERROR executing: kitchen_build_rom.bat
ERROR!!!
Wait some seconds...
No ''SVN'' folders present...