5,605,766 Members 48,210 Now Online
XDA Developers Android and Mobile Development Forum

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

Tip us?
 
Ather
Old
(Last edited by Ather; 24th June 2008 at 12:01 AM.)
#1  
Ather's Avatar
Retired Senior Moderator - OP
Thanks Meter 100
Posts: 3,458
Join Date: May 2007
Location: East Riffa
Default Ultimate NOOB Guide to ROM Cooking - Updated 24-06-08

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 !!
Quote:
(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.
Current Device:
Samsung Galaxy Note 3 (SM-N9005) LTE
Running Stock Android 4.4.2 with Knox Status 0x1


Older Devices:
hTC Himalaya | hTC Wizard | hTC Kaiser | hTC Touch Pro 2 | hTC Dream | Samsung Galaxy S II | iPhone 4 | hTC One X | Acer Iconia A100 | Nexus 7 3G | Samsung Galaxy Note II | Samsung Galaxy S4
The Following User Says Thank You to Ather For This Useful Post: [ Click to Expand ]
 
Ather
Old
(Last edited by Ather; 24th June 2008 at 12:00 AM.) Reason: OEM Tutorial added
#2  
Ather's Avatar
Retired Senior Moderator - OP
Thanks Meter 100
Posts: 3,458
Join Date: May 2007
Location: East Riffa
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 :

Quote:
<?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 ( 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
Current Device:
Samsung Galaxy Note 3 (SM-N9005) LTE
Running Stock Android 4.4.2 with Knox Status 0x1


Older Devices:
hTC Himalaya | hTC Wizard | hTC Kaiser | hTC Touch Pro 2 | hTC Dream | Samsung Galaxy S II | iPhone 4 | hTC One X | Acer Iconia A100 | Nexus 7 3G | Samsung Galaxy Note II | Samsung Galaxy S4
 
Ather
Old
#3  
Ather's Avatar
Retired Senior Moderator - OP
Thanks Meter 100
Posts: 3,458
Join Date: May 2007
Location: East Riffa
reserved2 .....
Current Device:
Samsung Galaxy Note 3 (SM-N9005) LTE
Running Stock Android 4.4.2 with Knox Status 0x1


Older Devices:
hTC Himalaya | hTC Wizard | hTC Kaiser | hTC Touch Pro 2 | hTC Dream | Samsung Galaxy S II | iPhone 4 | hTC One X | Acer Iconia A100 | Nexus 7 3G | Samsung Galaxy Note II | Samsung Galaxy S4
 
Ather
Old
#4  
Ather's Avatar
Retired Senior Moderator - OP
Thanks Meter 100
Posts: 3,458
Join Date: May 2007
Location: East Riffa
again reserved...
Current Device:
Samsung Galaxy Note 3 (SM-N9005) LTE
Running Stock Android 4.4.2 with Knox Status 0x1


Older Devices:
hTC Himalaya | hTC Wizard | hTC Kaiser | hTC Touch Pro 2 | hTC Dream | Samsung Galaxy S II | iPhone 4 | hTC One X | Acer Iconia A100 | Nexus 7 3G | Samsung Galaxy Note II | Samsung Galaxy S4
 
shiranmotha
Old
#5  
shiranmotha's Avatar
Senior Member
Thanks Meter 13
Posts: 353
Join Date: Feb 2008
Location: Colombo

 
DONATE TO ME
Quote:
Originally Posted by ather90 View Post
.
Waiting for lesson 3. I just gotta knw that Camera function is in the Radio stack.
HTC One X
Huawei MediaPad
HTC Touch Diamond
HTC Wildfire
HTC Himalaya


My Work
Opera Mini 4.2 CAB for Windows Mobile
Midomi Music-ID


If you like my work, buy me a beer.
 
cv65user
Old
#6  
Member
Thanks Meter 0
Posts: 85
Join Date: Jun 2008
bump , very interesting mate , eagerly waiting for the test
o2 xda ii sheckars wm 2005 rom with tomtom mobile 6
iphone 3g, 8gb
iphone 4s, 64gb
s3, 32gb
 
arlojj
Old
#7  
arlojj's Avatar
Member
Thanks Meter 0
Posts: 34
Join Date: May 2008
Yeah, keep it up! There is not enough information for new cooks out there!
 
Riel
Old
#8  
Senior Member
Thanks Meter 13
Posts: 869
Join Date: Mar 2006
Location: Born
Interesting explanations!! Waiting for more
Qtek S100 / Qtek S200 / HTC Touch Diamond / T-MOBILE G1 / HTC Desire and ZTE Blade / HTC Senstation / Samsung Galaxy Note
ROM: Stock ICS
 
g00ndu
Old
#9  
Recognized Developer
Thanks Meter 273
Posts: 2,774
Join Date: Apr 2008

 
DONATE TO ME
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
Old
#10  
Ather's Avatar
Retired Senior Moderator - OP
Thanks Meter 100
Posts: 3,458
Join Date: May 2007
Location: East Riffa
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 im starting to work on the ROMs also..and there are to many new OEMS to make also im Developing a software

chk it here : http://forum.xda-developers.com/show...6&postcount=91

i will re-start this tut dont worry
Current Device:
Samsung Galaxy Note 3 (SM-N9005) LTE
Running Stock Android 4.4.2 with Knox Status 0x1


Older Devices:
hTC Himalaya | hTC Wizard | hTC Kaiser | hTC Touch Pro 2 | hTC Dream | Samsung Galaxy S II | iPhone 4 | hTC One X | Acer Iconia A100 | Nexus 7 3G | Samsung Galaxy Note II | Samsung Galaxy S4

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes


XDA PORTAL POSTS

UnbelovedHosts Uses Xposed to Block Unwanted Connections

First popularized by mvps, hosts-based ad blocking has become the de facto standard … more

March of the Droids 2014 Just Two Weeks Away; It’s Not Too Late to Register

If you want to attend an Android developers’ … more

Android App Review: Auto Config Free – XDA Developer TV

In this weeks episode of XDA Xposed Tuesday, we talked about customization of … more

Cloupload is a Beautiful and Fully Functional CloudApp Client for Android

If you’re a Mac OS X user who frequently uploads screenshots, … more