Modifying your PPC (PocketPC) software is called “cooking” in the PPC world. People who change the software are the “chefs” and the development environment is of course the “kitchen”. But the result is called ROM.
There are a lot of ROMs around, cooked by great chefs, but no real introduction or tutorial to cooking. I searched the xda-developer for some while now and didn’t find anything really helpful explaining how cooking is done for my Artemis. I started downloading Core Pro Kitchen by anichillus and tried to cook my own ROM, which failed because dutty’s “good nbh tool” failed to sign the package.
Without going to much into detail, let me explain how cooking is done. It’s not a step to step tutorial but more an overview on how things work. You need to know Windows very well to be able to cook, so I don’t think a step to step tutorial would be useful. There are a lot of tools needed, but most of them can be found in anichillus’ kitchen.
Let me introduce you to some file extensions you will meet while cooking:
- .nbh are signed ROMs (more or less) ready to be flashed (installed) on your phone. You start with one of these and end with one. They contain some or all parts of software needed to get your PPC working.
- .nb are parts of software working in your phone. They can be extracted from .nbh files. The parts are mostly independent from each other, you don’t need all of them to build your ROM. They have different functions in your phone. Splash.nb contains the image which is shown when you boot your phone, whereas Radio.nb or GSM.nb contain the drivers for the hardware modules of your phone, letting you make calls with Windows Mobile.
New terms you will meet are explained on xda-developers’ wiki.
Cooking can’t be done without a working ROM. You can get one at xda-developers forum or use the official ROM supplied by your carrier. I recommend using an official ROM because they are the most stable. I used the new WM6 ROM from O2 Germany’s website. They usually offer a self-extracting archive, so you will need WinRAR to extract the nbh file. With the nbh file and Core Pro Kitchen, it is really easy to cook your own ROM.
When you have the nbh file, let the kitchen extract its parts. All you need to do is following the included tutorial. It will create a bunch of nb files and further extract the OS.nb and sort the files into SYS and OEM folders.
When that is done, you will see all the modules of Windows Mobile in the SYS folder. Some of them can be removed. O2 removed Remote Desktop and the Voip function for example. So if you want to use these functions, here is the place to re-add them. The OEM folder usually includes some drivers and software for add-on hardware like Bluetooth.
If you have followed the included tutorial, you have probably extracted the XIP section. The XIP is a very important part of the OS with the kernel in it. This is also the place where all the security certificates are stored. So it’s also the spot where you can fix the unsigned programs problem. You can either add your own root certificate here or add CaCert.org’s root certificate. They offer free certificates making it possible to let everyone sign their programs. You just need to install or include one certificate rather than one from each author. Here is a sysroots.p7b with the CaCert.org certificate.
After you added or removed the packages in your SYS folder, it’s time for the ExtendedROM. It’s 10 MB big and usually contains some Operator software. O2 includes Tomtom Navigator in here for example.
The Splash can be changed easily with this tool. Just remember to create the “splashscreen2″ and not the first one. The Artemis does not have a “first” splash.
After doing this, you have probably changed all the things needed for your new ROM. It’s time to assemble it. Follow the included tutorial again and let it build your new OS.nb. After that is done and dutty’s tool starts, close it and use HTCRT instead. Select Artemis as your device. The O2 Orbit is an ARTE200 (Model ID), leave CID, fill in the rest and let it build your final nbh.
All phones are locked with a CID (carrier ID), preventing us flashing custom ROM or ROMs from other carriers. So when you want to flash your own ROM, you now need to temporarily unlock it. It’s not possible to permanently unlock your phone, so you will do this procedure every time you want to flash your phone. Here is the tool needed to do this. After this, you can flash your phone with your new ROM.