Introduction
 Top Next
Step by Step tutorial for unlocking your device and cooking your own ROM!!!

This tutorial is based on the ideas and methods used by the people in the ppcgeeks.com and xda-developers.com forums. Please read the entire tutorial before you start any part of the process. See this link for the original post of tutorial. It is also in the FTP at ppcgeeks.com in my folder for easy access. I also have a copy in WPS format on the FTP. Everything will not make sense at first but when you do the process it will all fall into place. I did not discover any of this, therefore I take no credit for the content. I just decided to put it all in one place. I have learned this information from other users and from trial and error. I hope that by putting together a tutorial that the process is simplified enough so that everyone can "get what they pay for" from their device, instead of being limited by cell phone companies who want to decide what part of "our" device we can use and which part they wish to limit. Thanks to the developers here and over at XDA, we can use our devices better and we even get to show off a little cool stuff.

Cooking is not device specific, other than the fact that you must choose the correct base for your device. The rest of the process is the same. A lot of people believe cooking a custom ROM is difficult and beyond there ability, but it is very easy. I am going to attempt to do a step by step guide to the Kitchen process so you can build you own custom ROM and "pimp" your phone just the way you like it. I will give instruction on using the ppckitchen.org kitchen. Other kitchens exist like DCD's Kitchen but I have never used it. I am not a windows mobile guru of any kind so there may be some mistakes in this tutorial. Use these instructions at your own risk because I won't be responsible for you breaking your device. If you have questions do a search or post them in this thread and someone will attempt to help you. If I am wrong on any of this documentation, don’t worry someone will point it out and I will be glad to edit my post.


Setup
 Previous Top Next
The first thing you need to do is to setup. You will need to do or have the following items before you flash your device. Some are common sense things but I will list them anyway.

1. A computer running Windows XP or Windows Vista. I run XP so I don’t know how to instruct those of you running Vista, but if someone would post the steps in the same format I am using I will be glad to add it to the tutorial and give you the proper credit. Make sure that your computer has an open USB port. I wouldn’t try flashing with your USB cable attached to a USB hub. No technical reason that I can give you, I just wouldn’t do it personally.
2. You also need to download and install the .net framework Version 2.0 .
3. Download and install Active sync version 4.5 or higher. It can be downloaded here as a free download. Make sure you back up your calendar and contacts using Active Sync or another back up program such as PIM backup . If you are running Vista you will not download Active Sync. (Again I am not familiar with Vista)
4. A mini USB cable. One end should fit in the USB port on your PC and one end in the mini USB on your PPC. You may also choose to use a SD card to flash your ROM's. More information will be given on that method later.


Download and Installation
The following information is a tutorial on using the kitchen to build you own custom ROM. If you choose to use a pre-made ROM just search around and install them per the instructions on the thread.

1. To begin the kitchen process you need to point your browser to http://ppckitchen.org/downloads/BuildOS.msi to download the installer. Once you have BuildOS.msi downloaded just run the installer. Make sure you install to the default location.

2. After installation you should run the Updater found at Start- >Programs->PPCKitchen->Updater. (Screenshots for Updater 1 , 2 , 3 )

When you run the updater it will give you a list of files you can add to your kitchen. You just choose the correct base for your phone whether it is a Titan, Apache, Vogue etc. The next thing to decide is which version you want. (20260, 20270, 5067 etc.) The PPcgeeks_OEM.rar, freeware and the shareware selections all have programs you can select to add to you device. Choose all the files you want added to your kitchen and hit next. The update process takes a while to run; especially the first time you run it. Once you complete this step you will be ready to cook.


Building ROM
1. Go to Start->Programs->PPCKitchen->BuildOS. A sign on screen will open ( screenshot ). Use your ppcgeeks Screen name and a password that is different from your ppcgeeks password. Make sure you remember the password for future sign ons. The program will open to a selection screen. Select Titan_WM6.1_20270 Selections, Titan_No2Chem_5067_WM6.1 Selections or the selections for whichever base and device you are using ( Screenshot ). The kitchen will take a few seconds to load and the basic selections will be made for you.

2. Select you carrier in the carrier dropdown menu located on the top bar. ( Screenshot showing where to select carrier and make other selections)

3. Select the items you would like to place into you ROM, meaning programs, games, etc… that you want on your PPC. You can select a section tab in the left hand pane to go to that particular section or you can start on the right pane making selections and work your way down the screen. Be careful not to select too many programs or you may build a ROM that won't boot up because of size. This is more of a problem on the APACHE. You can start with a few items and then add later to figure out how much you can stuff in. I recommend starting small just to get the feel of the process. If you are not sure what one of the programs is you can select the item and right click with you mouse. Go to visit homepage or OEM info and out will find the program information.

4. Once you have selected all your items click on the green arrow in the top left of the kitchen. This will start the build process. You will see the build process in a separate screen called build status. Don’t open any programs on your PC while this process is working. It will take a couple of minutes. Once the build process is complete you can simply follow the onscreen prompts.

5. The update utility will start. At this point place your phone into boot loader and plug your USB cable to the computer and phone (you can just hook it up and it will force it to bootloader for you once the process starts). You will see a series of screens that will ask you to confirm your selection to flash your ROM (Various screens you may see: 1 , 2 , 3 , 4 ). Just confirm and allow the flash to begin. Do not unhook you phone during the process. You will see another screen with a progress bar as the ROM is flashed. After the process reaches 100% you will be notified that the process is complete. Before you close the kitchen program you can go to File-> Save As and save the selections you just made so you can add or take away from the ROM you just made. It is easier that starting all over each time.


Titan
When the build completes, unhook your phone and remove the battery for a minute (only have to remove the battery the first time you flash a custom ROM). Put the battery back in and perform a hard reset. This is done by holding down the 2 soft keys (located above the Send/End keys on the front of your PPC) and pressing the reset at the same time. A grey screen will come up asking to confirm reset by pressing R. Open your keyboard and hit the R key. Then hit the spacebar when it says to do so. Your phone will reboot. You should always perform a hard reset after flashing a ROM. The boot process takes a while after a new ROM flash so be patient. Do your screen alignment and other items as prompted and you are set. At this point you should have your phone upgraded.


Apache
When it completes, unhook your phone and perform a hard reset. This is done by holding down the 2 soft keys (located above the Send/End keys on the front of your PPC) and pressing the reset at the same time. A screen will come up asking to confirm reset by pressing Y. Open your keyboard and hit the Y key. Then hit the spacebar when it says to do so. Your phone will reboot. You should always perform a hard reset after flashing a ROM. The boot process takes a while after a new ROM flash so be patient. Do your screen alignment and other items as prompted and you are set. At this point you should have your phone upgraded.


Vogue
When the build completes, unplug the cable and hard reset by holding POWER+CAMERA+RESET Buttons until a gray screen pops up, Press the center button to continue, then the "Send" button when completed. You should always perform a hard reset after flashing a ROM. Your phone will reboot. The boot process takes a while after a new ROM flash so be patient. Do your screen alignment and other items as prompted and you are set. At this point you should have your phone upgraded

These instructions were provided by negaman from ppcgeeks.com


Flashing - SD Method
Flashing your device using the SD method. (For Titan Device)

1. Card has to be 2gb or less in order to work.
2. Has to be formatted to fat32. To format place the card in a reader and insert reader in your PC. Find the drive that contains the card. Right click the drive and select format. Under file syatem select fat32. Hit start. Once the format is complete the card is ready to use.
3. Place the file you wish to flash on the SD card. Rename the file to TITAIMG.nbh.
4. Remove the card from the card reader and insert it into your device.
5. On your device press the power, camers and reset buttons at the same for approx. 2 seconds. You will have a grey screen that ask you to press power button to begin. The flash will take around a minute or so. Once the screen reads update complete you need to press reset and the flash should be complete. If you are flashing a radio the device will boot up normal. If you flashed a ROM the phone needs to be hard reset. Press the two soft keys on the front of the device (below the send/end keys) and at the same time press reset.

You can cook a ROM and do the flash with a cable or you can cook the ROM and pull the RUU_signed.nbh out of the kitchen and flash your phone using the SD method.To locate the file that you need from the kitchen go to C:\Documents and Settings\Owner\Application Data\hIq Inc\PPC-BuildOS\9.05.2.7 Temp and select the file titled RUU_signed.nbh. That is the file you need to place on the SD card to flash.


Adding OEM's
As you can see the process is pretty easy. You can repeat the same process anytime you want to “tweak” your phone with whatever you want to have on it. I also recommend looking into the OEMizer by tierman so you can save your personal settings and they are cooked into you ROM for you so that you don't have to re- enter it every time you hard reset. This is very handy especially for email settings.

Also you can download OEMs that others have made to use in your kitchen.

If you download an OEM in a zipped format you need to unzip the file. You just take that folder(with the title of your OEM on it) and drop it into the User_OEM folder (located in C:\Program Files\PPCkitchen.org\BuildOS\USER_OEM). That should be all there is to it. The option for that OEM will show up in the kitchen for you to check and add to your ROM.
If you want to build your own OEM look into tiermans OEMizer.


Definitions
 Previous Top
Definitions(thanks gguruusa)

The following basic definitions are needed to load ROMs/use the kitchen:

HTC - the manufacturer of the 6700/6800/Touch/Tilt/et al.

Apache = PPC6700 = 6700

Titan = PPC6800 = 6800 = Mogul

Vogue = Sprint Touch

(soft) Reset - there is a small whole on the bottom of your PPC, just to the left of the usb connector - it's the reset button. Use your stylus to push it. Your screen will go dark, then about 3 seconds later will show the boot splash.

Hard Reset - hold the left and right - buttons in (located just above the connect/disconnect phone buttons) at the same time as you push the reset button. It helps to hold the phone upside down in the hand that's pushing the - buttons, and use the stylus with your other hand to push the reset button. For the Vogue device - POWER+CAMERA+RESET buttons until a gray screen pops up, Press the center button to continue, then the "Send" button when completed.

Bottloader Mode (APACHE) - power+cassette/notes+reset - the power button is on/off button on the top of your phone. The cassette/notes button is the top button on the left side of your phone - it has a picture of a cassette tape on it, if it hasn't been worn off. Hold all three buttons in for about a 1/2 second, and the screen will go dark and stay dark. If you look closely, preferably in a well lit environment, you'll see some Serial or USB in the middle of the screen. Below that is a version number. You are in bootloader mode, and the version number is your bootloader version. YOU MUST KNOW YOUR BOOTLOADER VERSION BEFORE ATTEMPTING TO FLASH OR BUILD A ROM.

Bootloader Mode (TITAN et al) - power+camera+reset - the power button is on/off button on the top of your phone. The camera button is the bottom button on the right side of your phone - it has a picture of a camera on it, if it hasn't been worn off. Hold all three buttons in for about a 1/2 second, and the screen will go to a tri-colored screen. You are in bootloader mode. You must unlock your phone to load custom ROMs (it is necessary to unlock your phone only once during the life of your phone).

Bootloader mode for the

ROM - there are 4 types of Roms, but the two most commonly referred to are the OS ROM and the Radio ROM. Unless explicitly stated, ROM refers to the OS ROM. The OS ROM has WM5/WM6 on it. It is the OS ROM that gets updated frequently. Radio ROM updates are rarely needed, ExtROM updates are never needed, and bootloader ROM updates (updates that change the bootloader version) are discouraged heavily - bootloaders are a rare case where older is usually better than newer.

Ext ROM - this is a extra partition that contains carrier branded software. If you are using a custom ROM or the kitchen, you do not need anything that the carrier installed here - you may use it as extra storage. This storage area is not erased by a hard reset, but it is normally "locked" (hidden, read only). Some software does not behave as expected when the Ext ROM area is "unlocked".

nbf/nbh - these are different ROM encoding methods. Your phone REQUIRES a specific method. Most people do not need to know anything about nbf/nbh or encoding methods.

RUU - this is a piece of software from HTC. The kitchen includes it, as do many ROM distributions.

Kitchen - the place to make your custom ROM. The kitchen is a collection of various software tools that assemble your ROM and start the flash process. There are currently two flavors of kitchen, the original Bepe .9 version, and the newer .9.5 Bepe/PPCGeeks version. The .9.5 version currently only supports the Apache/6700 - it will not work properly for other phones.

Custom ROM - a particular OS ROM, almost always built from the latest kitchen. Distributing custom ROMs is discouraged - it is easier and less costly to distribute the kitchen modifications necessary to build a given ROM.

PagePool - cache for executing programs. This is an advanced subject. There's little reason to mess with it for most people.

OEM (module) - add-in programs to the kitchen and/or add-in customizations. There are lots and lots of OEMs - the most common freeware ones are in the PPCGeeksOEM.rar distributed as a kitchen add-on.

.NET 1.0/2.0/2.0SP1/3.5 - various flavors of the PC .NET package from Microsoft. Available from Microsoft as a free download. .NET 2.0SP1 or later is required to run the newer BuildOS (v .9.5)

.NET CF 1.0/2.0/3.5 - the PPC equivalent of the PC versions of .NET. Require by some PPC applications.

DO NOT LOAD A ROM FROM ANOTHER DEVICE ON YOUR PHONE.

DO NOT UNPLUG THE USB CABLE WHILE FLASHING. It's best to not touch anything at all while it's flashing. Don't run other processor intensive software (like games) while it is flashing, either.


Definitions(thanks gguruusa)

The following basic definitions are needed to load ROMs/use the kitchen:

HTC - the manufacturer of the 6700/6800/Touch/Tilt/et al.

Apache = PPC6700 = 6700

Titan = PPC6800 = 6800 = Mogul

Vogue = Sprint Touch

(soft) Reset - there is a small whole on the bottom of your PPC, just to the left of the usb connector - it's the reset button. Use your stylus to push it. Your screen will go dark, then about 3 seconds later will show the boot splash.

Hard Reset - hold the left and right - buttons in (located just above the connect/disconnect phone buttons) at the same time as you push the reset button. It helps to hold the phone upside down in the hand that's pushing the - buttons, and use the stylus with your other hand to push the reset button. For the Vogue device - POWER+CAMERA+RESET buttons until a gray screen pops up, Press the center button to continue, then the "Send" button when completed.

Bottloader Mode (APACHE) - power+cassette/notes+reset - the power button is on/off button on the top of your phone. The cassette/notes button is the top button on the left side of your phone - it has a picture of a cassette tape on it, if it hasn't been worn off. Hold all three buttons in for about a 1/2 second, and the screen will go dark and stay dark. If you look closely, preferably in a well lit environment, you'll see some Serial or USB in the middle of the screen. Below that is a version number. You are in bootloader mode, and the version number is your bootloader version. YOU MUST KNOW YOUR BOOTLOADER VERSION BEFORE ATTEMPTING TO FLASH OR BUILD A ROM.

Bootloader Mode (TITAN et al) - power+camera+reset - the power button is on/off button on the top of your phone. The camera button is the bottom button on the right side of your phone - it has a picture of a camera on it, if it hasn't been worn off. Hold all three buttons in for about a 1/2 second, and the screen will go to a tri-colored screen. You are in bootloader mode. You must unlock your phone to load custom ROMs (it is necessary to unlock your phone only once during the life of your phone).

Bootloader mode for the

ROM - there are 4 types of Roms, but the two most commonly referred to are the OS ROM and the Radio ROM. Unless explicitly stated, ROM refers to the OS ROM. The OS ROM has WM5/WM6 on it. It is the OS ROM that gets updated frequently. Radio ROM updates are rarely needed, ExtROM updates are never needed, and bootloader ROM updates (updates that change the bootloader version) are discouraged heavily - bootloaders are a rare case where older is usually better than newer.

Ext ROM - this is a extra partition that contains carrier branded software. If you are using a custom ROM or the kitchen, you do not need anything that the carrier installed here - you may use it as extra storage. This storage area is not erased by a hard reset, but it is normally "locked" (hidden, read only). Some software does not behave as expected when the Ext ROM area is "unlocked".

nbf/nbh - these are different ROM encoding methods. Your phone REQUIRES a specific method. Most people do not need to know anything about nbf/nbh or encoding methods.

RUU - this is a piece of software from HTC. The kitchen includes it, as do many ROM distributions.

Kitchen - the place to make your custom ROM. The kitchen is a collection of various software tools that assemble your ROM and start the flash process. There are currently two flavors of kitchen, the original Bepe .9 version, and the newer .9.5 Bepe/PPCGeeks version. The .9.5 version currently only supports the Apache/6700 - it will not work properly for other phones.

Custom ROM - a particular OS ROM, almost always built from the latest kitchen. Distributing custom ROMs is discouraged - it is easier and less costly to distribute the kitchen modifications necessary to build a given ROM.

PagePool - cache for executing programs. This is an advanced subject. There's little reason to mess with it for most people.

OEM (module) - add-in programs to the kitchen and/or add-in customizations. There are lots and lots of OEMs - the most common freeware ones are in the PPCGeeksOEM.rar distributed as a kitchen add-on.

.NET 1.0/2.0/2.0SP1/3.5 - various flavors of the PC .NET package from Microsoft. Available from Microsoft as a free download. .NET 2.0SP1 or later is required to run the newer BuildOS (v .9.5)

.NET CF 1.0/2.0/3.5 - the PPC equivalent of the PC versions of .NET. Require by some PPC applications.

DO NOT LOAD A ROM FROM ANOTHER DEVICE ON YOUR PHONE.

DO NOT UNPLUG THE USB CABLE WHILE FLASHING. It's best to not touch anything at all while it's flashing. Don't run other processor intensive software (like games) while it is flashing, either.