Ultimate NOOB Guide to ROM Cooking - Updated 24-06-08

Search This thread

Ather

Retired Senior Moderator
May 26, 2007
4,085
1,014
33
Dear Friends..i am soon going to start cooking classes with guides that every noob will understand :

This guide is for Htc Himalaya also known as O2 XDA II, T-Mobile MDA II, Qtek 2020, iMate Phone Edition, TSM500, Vodafone VPA, Dopod 696, Orange SPV M1000, Krome Navigator F1

Lesson 1 :-

I am going to list the Frequently used Acronyms in the Classroom or in the ROMcooking Enviroments

AKU - Adaptation Kit Update: they usually patch up existing bugs and enable several new features. Each newly released AKU pack retains fixes found in previous versions of AKU

RUU - ROM Upgrade Utility: Its the woftware used on your PC to do a ROM upgrade for your PPC

Bootloader : The bootloader is the first thing to load once you turn on the device, this does the job of booting up the device hardware and loading various items into memory before the ROM starts in the device. The bootloader is also responsible for enabling the flashing of new ROMs and other components such as the Radio and the Ext_ROM (in Wm2003 )

Cooked : Refers to ROMs which have been modified and optimised by users to offer better performance than a carrier ROM or a release by Microsoft. Cooked ROMs can be found every where in the forums now adays or you can cook your self once you are Passed from this class

Flash : Term meaning to write something (usually a ROM image) to a non-volatile chip. The term originates from original chip writers (EPROM blowers) which used to write to a chip by fusing tiny areas in the chip making individual links either short circuit or open circuit.

Hard Reset : Similar to a soft reset, by performing a hard reset you completely wipe your device and restore it to the position it was in when you first turned the device on after it was purchased or after a new ROM is flashed.

To carry out a hard reset on the Himalaya press and hold BOTH Camera and Record Key and insert the stylus into the hole in the bottom fo the device, Select the options as follows:

For WM5, WM6 and WM 6.1 Only !!
(for selecting use Record Key, change values with Camera Key)

Enable KITL -> NO
Clean Registry Hive -> YES
Format Storage -> YES

When done, press DPad and wait until OS starts.

Radio : The radio stack is responsible for the phone functionality of the device. This includes GPRS, GSM, UMTS, and GPS operations as well as camera functionality. The version you use depends on who your carrier is as users have reported versions working better on one carrier than the other.


ROM : The ROM holds the Operating system and other components such as the bluetooth and wifi stacks. The ROM is accompanied by the Radio, Ext_ROM, SPL and IPL. Carriers such as T-mobile or Vodaphone taylor the ROM to their specifications and version numbers do not carry the same meaning across different carriers. IF the carrier you use supports the device well they will usually release regular ROM updates.


Soft Reset : Soft resetting the device will lose all the data currently in RAM and any unsaved information, much like pressing the reset button on your pc. A soft reset is the first thing to try if your device has stopped responding. To soft Reset your Himalaya insert the stylus into the hole in the bottom of the device.
 
Last edited:
  • Like
Reactions: yogosun

Ather

Retired Senior Moderator
May 26, 2007
4,085
1,014
33
Lesson 2 :- OEM Packages

What is an OEM Package ?

OEM package is just like a form of cab..It is cooked into the ROM so that when one may flash it..he will find it there..read on and you will understand

What the Heck are these strange alphanumeric sequences ? - 283b9db7-cb03-4c1b-820e-ca49b2c3b5db

Well, each OEM package uses a Universal Unique Identifier (UUID) to identify itself. This UUID is used in up to three distinct places within an OEM package.Once in the DSM file, once in the RGU file, and once in the option.xml file ( used by BuildOS )

Make sure to use the same UUID within a single OEM package and do not use multiple UUIDs in a single OEM Package or else BuildOS wont start

I just heard DSM..wat is that ?

UUID.dsm contains a file listing of all the files within an OEM package. For noobs, it is not necessary to generate a .dsm as BuildOS will generate one for you.

do my ears Decieve me or did i hear RGU ?

UUID.rgu is where the registry information is contained for the OEM package. All Microsoft Operating Systems since Windows 95 use the Windows Registry to hold important application information and Windows Mobile is no different.
.rgu files are formatted exactly like .reg files which can be exported from programs such as SOTI Pocket Controller Pro, PHM RegEdit and SKTools

If your package does not require registry information, then you do not need to include an rgu file within your OEM package.

Initflashfiles :-

This file is used by the BuildOS for file copy operations & directory creation. By default, all files within an OEM package go into \Windows. If you want any of your files to be copied elsewhere, specify it in this file. If you want everything in \Windows, then you won't need an INITFLASHFILES.TXT file either. It is very similar to INITFLASHFILES.DAT, which controls the placement of files included by default in the ROM.

Here is a sample INITFLASHFILES.TXT and a brief explanation of each line:

1a . Directory("\Program Files\"):-Directory("MusicID")

2a . ("\Program Files\MusicID"):-File("MUSICID.EXE","\windows\000-MUSICID.EXE")

3a . Directory("\Windows\Start Menu\Programs"):-File("MusicID.lnk","\Windows\MusicID.lnk")

1b . Create a folder named MusicID in \Program files Directory

2b . In the directory \Program Files\MusicID, create a copy of file named MUSICID.EXE, whose original file path is \windows\000-MUSICID.EXE

3b . In the directory \Windows\Start Menu\Programs, create a copy of the file named MusicID.lnk, whose original file path is \windows\MusicID.lnk


wait..i heard u saying Options.xml..didnt u ?

This file is used by the BuildOS to tell cooks what your OEM package is and does. Let's start with a sample OPTIONS.XML and the breakdown of each component :

<?xml version="1.0" encoding="UTF-16" standalone="yes"?>
<Items>
<Item name="test oem" group="utilities" checked="true">
<Tip>Its just a test OEM package!</Tip>
<Guid type="p">46845f1f-3ad5-43e4-b92d-aaef4ad5b5ea</Guid>
</Item>
</Items>

The stuff you care about is as follows :

Item name = The name of the application contained within this OEM package

group = The application group / category this OEM package belongs to

checked = Whether or not you want this item to be checked (true) or unchecked (false) by default. Useful to
remind people that this is a critical OEM package and needs to be installed in their cooked ROM or something won't work! (e.g., Camera functionality!!!)

Tip = helpful information about the function of this OEM package ( appears when mouse is hovered over the OEM )

GUID = UUID. You need to put the UUID here to identify your OEM package. Technically a GUID is not a UUID according to wikipedia and other sources, but we'll just ignore that for this tutorial :D ( use the same UUID as used in DSM and RGU )

OPTIONS.XML is the only file REQUIRED for you to manually create in an OEM package.


more to come tomorrow
 
Last edited:

g00ndu

Retired Recognized Developer
Apr 22, 2008
2,782
273
Well done, Ather! Nice to know that you are compiling everything in regards to cooking. :)

We sincerely hope you can continue with your efforts.

If it is fine with you, perhaps also you can include things like XIP, Dumping of your rom, etc etc.

Once again, many thanks! :)
 

Ather

Retired Senior Moderator
May 26, 2007
4,085
1,014
33
im sorry all but i have been kinda buzy with personal problems and other things..so iwas just silently visitin g the site once in 2 days :(

but now im back :D im starting to work on the ROMs also..and there are to many new OEMS to make :D also im Developing a software

chk it here : http://xdaforums.com/showpost.php?p=2569826&postcount=91 ;)

i will re-start this tut dont worry
 

fsjon

Senior Member
Feb 7, 2009
81
5
Anymore to this guide? Would love to read on how to dump, where the pda.bin is, how to rebuild, etc, etc...

Great work!
 

+ Que PPC

Inactive Recognized Developer
Mar 23, 2007
4,724
88
40
Guadalajara
es.youtube.com
Yeah nice explanations!

I have part of the theory now! the other part to come isnt it ather90?
We will stay on touch of this cause this is the most complete lesson at this point i never red jejeje.
 

KrimsonHart

Senior Member
Nov 22, 2011
243
32
bangalore
Question

Does this work only on HTC Phones or does it also work on iPaq ans other windows enabled devices? because i did not find a fully functional custom rom for my HP iPaq rx 1950.. :(
 

Top Liked Posts

  • There are no posts matching your filters.
  • 1
    Dear Friends..i am soon going to start cooking classes with guides that every noob will understand :

    This guide is for Htc Himalaya also known as O2 XDA II, T-Mobile MDA II, Qtek 2020, iMate Phone Edition, TSM500, Vodafone VPA, Dopod 696, Orange SPV M1000, Krome Navigator F1

    Lesson 1 :-

    I am going to list the Frequently used Acronyms in the Classroom or in the ROMcooking Enviroments

    AKU - Adaptation Kit Update: they usually patch up existing bugs and enable several new features. Each newly released AKU pack retains fixes found in previous versions of AKU

    RUU - ROM Upgrade Utility: Its the woftware used on your PC to do a ROM upgrade for your PPC

    Bootloader : The bootloader is the first thing to load once you turn on the device, this does the job of booting up the device hardware and loading various items into memory before the ROM starts in the device. The bootloader is also responsible for enabling the flashing of new ROMs and other components such as the Radio and the Ext_ROM (in Wm2003 )

    Cooked : Refers to ROMs which have been modified and optimised by users to offer better performance than a carrier ROM or a release by Microsoft. Cooked ROMs can be found every where in the forums now adays or you can cook your self once you are Passed from this class

    Flash : Term meaning to write something (usually a ROM image) to a non-volatile chip. The term originates from original chip writers (EPROM blowers) which used to write to a chip by fusing tiny areas in the chip making individual links either short circuit or open circuit.

    Hard Reset : Similar to a soft reset, by performing a hard reset you completely wipe your device and restore it to the position it was in when you first turned the device on after it was purchased or after a new ROM is flashed.

    To carry out a hard reset on the Himalaya press and hold BOTH Camera and Record Key and insert the stylus into the hole in the bottom fo the device, Select the options as follows:

    For WM5, WM6 and WM 6.1 Only !!
    (for selecting use Record Key, change values with Camera Key)

    Enable KITL -> NO
    Clean Registry Hive -> YES
    Format Storage -> YES

    When done, press DPad and wait until OS starts.

    Radio : The radio stack is responsible for the phone functionality of the device. This includes GPRS, GSM, UMTS, and GPS operations as well as camera functionality. The version you use depends on who your carrier is as users have reported versions working better on one carrier than the other.


    ROM : The ROM holds the Operating system and other components such as the bluetooth and wifi stacks. The ROM is accompanied by the Radio, Ext_ROM, SPL and IPL. Carriers such as T-mobile or Vodaphone taylor the ROM to their specifications and version numbers do not carry the same meaning across different carriers. IF the carrier you use supports the device well they will usually release regular ROM updates.


    Soft Reset : Soft resetting the device will lose all the data currently in RAM and any unsaved information, much like pressing the reset button on your pc. A soft reset is the first thing to try if your device has stopped responding. To soft Reset your Himalaya insert the stylus into the hole in the bottom of the device.