[01 DEC 09] TUTORIAL: How I cook ROMs for XPERIA + all my kitchens, tips and tricks

Search This thread

gtrab

Senior Member
Aug 10, 2007
2,973
512
America
.

TUTORIAL:
HOW I COOK ROMs for the XPERIA X1
A complete, step by step GUIDE




[01 DEC 09]: SEX1 R5 pure ROM KITCHEN UP FOR DOWNLOAD at the ROM thread

PS1 My ROMs are NOT intentionally protected: feel free to dump and use any components you please
PS2 Don't be shy: ASK !! but don't be dumb: SEARCH !! :p






INTRODUCTION​

  • Glad to see everybody is trying to cook these days: we are all here to learn and share
    Following xda-devs spirit, I am writting this little guide to help those who could be intrested in cooking their own ROMs
    Don't be shy: If I did it, YES YOU CAN do it too !!

  • Let's get real: NO COOKED ROM WILL 100% FULLFILL YOUR NEEDS/EXPECTATIONS BECAUSE WE ARE ALL DIFFERENT
    Let's get real again: THE ONLY WAY TO STOP COMPLAINTING ABOUT "this" OR "that", FLAMING A CHEFF'S TREAD, IS BY DISCOVERING HOW HARD AND COMPLICATED THE PROCESS IS, but don't dismay: this thread is meant to guide you step by step into the cooking world

  • I have been reading and learning a lot, trying to build something that would suite MY OWN NEEDS, I have been using my ROMs for quite a while and I am happy and satisfied: I show off my phone and I can proudly say "I did it myself" :cool:
    So I invite all of you to give it a try too: it's worth the experience ;)

But first, may I invite you to take a look at some works:






STEP 1: BASIC REGISTRY SKILLS​

Every good cooker/cheff needs basic REGISTRY skills
As a good reading/searching-needed noob, I have compiled some knowledge and here are my 2 cents:



  • BASICS
1- Registry keys can be generated (created) or changed with a RGU file (unicode format) or XML/PROVXML file (UTF-8 format)
Both can be edited with notepad, but make sure you choose the right format when saving
(use "save as": it will let you choose format)
Differences:
- UTF-8 for XML or unicode for RGU
- dword values must be hexadecimal in RGUs and decimal in XMLs
- RGUs store registry keys only, XMLs store registry keys, file operations, etc

2- A PROVXML file is a glorified XML: it loads automatically when cold-booting the device (hard reset or first boot), which means all of it's instructions, file operations & registry keys will be auto-executed and will override similar instruction from RGUs
In the other hand, XMLs have to be invoked ("runned") during customization (usually from OEM\Operatorpkg\config*.txt)



  • ORDER OF IMPORTANCE
1- When cooking the ROM, all RGU files are compiled and gathered to create the main, barebone system registry (see Jack's comment some posts down)

2- After flashing the phone, when the ROM is loaded for the first time (when it takes forever to boot = "cold boot", same as after a hard-reset), all commands inside all PROVXMLs are auto-executed, overriding corresponding registry keys from REG/RGU files

3- After the "set date" and "align" screen, the auto-customization process starts:
Anything inside "config.txt" will be autoexecuted (apply themes, install CABs, run XMLs...)
Here is where I execute my customization XMLs and any required OEM customization XML
Here is an example "config.txt":

Code:
LOCK:Enabled
CAB: \WINDOWS\ActiveX_Deployment_signed.CAB
CAB: \WINDOWS\WM6.1_PPC_dawn_Opera_15969_signed.cab
CAB: \WINDOWS\gtrab_SEX1_Customization.CAB
XML: \WINDOWS\SEX1_fileoperations.xml
XML: \WINDOWS\My_panelconfig.xml
TSK: \WINDOWS\Naked_chiks.TSK
LOCK:Disabled
RST: Reset

- As a side note, "config.txt" usually goes inside OEM\OperatorPkg, and runcc.lua governs which files are auto-launched
- I put most of the big CABs inside OEM\PACKAGES, eg. PACKAGE_Kovsky_ActiveX_Deployment
- I put the small or orphan CABs into OEM\OperatorPkg, together with my XML files, to keep them handy and keep them in mind at a glance towards the customization files

Conclusion: Better put all of your important registry tweaks in XML or PROVXML files instead of searching for a specific registry key inside more than one hundred RGUs, anyway they will be overrided by any XML or PROVXML instruction pointing to that same registry key



  • COOKING IMPLICATIONS
1- If required, each OEM or SYS PACKAGE has its own RGU file and/or PROVXML files
Some PACKAGES don't need registry settings, so they don't have an RGU inside

2- The RGU name must be THE SAME as the PACKAGE identifier DSM file

3- Only ONE RGU file is allowed per PACKAGE, but each PACKAGE can contain as many PROVXMLs as required

4- PROVXMLs are a very useful tool because we can add lots of customized instructions to our ROMs ("move this file", "delete that file", "rename this one", "remove Hidden attributes", etc)

5- I prefer to edit the "stock" PROVXMLs instead of creating new ones: a single format error will make the whole XML unusable and the customization process will omit it



  • SAMPLE RGU FILE
BASIC RGU / REG RULES:
- First line must say "REGEDIT 4" (don't ask me why :D)
- Anything apres a ";" is just a comment and won't be processed
- Last line must be empty (again don't ask me why :D)

Code:
REGEDIT4

; this line has a semicolon, so it will not be processed
; gtrab SEX1 registry tricks compilation
; google rulez: those who search shall find !!

; DISABLE SECURITY WARNINGS
[HKEY_LOCAL_MACHINE\Security\Policies\Policies]
"0000101a"=dword:00000001

; VIBRATE AND RING
[HKEY_CURRENT_USER\ControlPanel\Sounds\RingTone0]
"Script"="av0pw3r"
"Sound"="\\Windows\\Rings\\Sony Ericsson.mp3"
"Category"="Ring"

; HIDE SIM CONTACTS
[HKEY_CURRENT_USER\ControlPanel\Phone]
"ShowSIM"=dword:00000000

; DISABLE AUTO WORD SUGGESTION
[HKEY_CURRENT_USER\ControlPanel\Sip]
"SuggAutoCorr"=dword:00000000
"SuggWords"=dword:00000000

; ENABLE SCREEN TAP SOFT SOUND
[HKEY_CURRENT_USER\ControlPanel\Volume]
"Screen"=dword:00000001

; DISABLE AUTO DIM / AUTO TURN OFF SCREEN
[HKEY_CURRENT_USER\ControlPanel\BackLight]
"BatteryTimeout"=dword:00000000
"ACTimeout"=dword:00000000
"LightDetectOn"=dword:00000000
; DISABLE AUTO TURN OFF DEVICE
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Power\Timeouts]
"ACSuspendTimeout"=dword:00000000
"BattSuspendTimeout"=dword:00000000

; ENABLE TOUCHFLO SCROLL SOUND
[HKEY_LOCAL_MACHINE\Software\OEM\TFLOSettings]
"EnableSound"=dword:00000001

; MIC AGC ON
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\AdvancedCPL]
"MicrophoneAGC"=dword:00000001

; IMPROVE BT A2DP SOUND QUALITY
[HKEY_LOCAL_MACHINE\Software\Microsoft\Bluetooth\A2DP\Settings]
"MaxSupportedBitPool"=dword:00000028
"BitPool"=dword:00000028
"UseJointStereo"=dword:00000000

; BT DEFAULT DEVICE NAME
[HKEY_CURRENT_USER\Software\Microsoft\Bluetooth\Settings]
"LocalName"="SEX1"

; WM6.5 PATCH - TASKBAR BATT ICON CLICK OPENS POWER SETTINGS
[HKEY_LOCAL_MACHINE\Software\Microsoft\Shell\TaskBar]
"LimitedClock"=dword:00000001
"ConsistentClockOrBattery"=dword:00000000

; SCROLLBAR SLIGHTLY THICKER
[HKEY_LOCAL_MACHINE\System\GWE]
"cyHScr"=dword:0000000f            ; Hex f = Dec 15, standard value was Dec 13
"cxVScr"=dword:0000000f            ; Hex f = Dec 15, standard value was Dec 13
"cyVScr"=dword:00000015           ; Hex 15 = Dec 20, untouched standard value
"cxHScr"=dword:00000015           ; Hex 15 = Dec 20, untouched standard value

; DISABLE SMS WAKE UP
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\RIL]
"DisableSMSWakeUpEvent"=dword:00000001

; EMAIL LED ILLUMINATION ON
[HKEY_LOCAL_MACHINE\Software\Drivers\illumination\27]
"Enable"=dword:00000001
; USE LARGE KEYS FOR SIP KEYBOARD
[HKEY_CLASSES_ROOT\CLSID\{42429667-ae04-11d0-a4f8-00aa00a749b9}]
"KBMode"=dword:00000000

Again: DON'T FORGET to leave the last line empty !!!



  • XML / PROVXML SAMPLE
Check this *.PROVXML file guys, I edited it to rename my SEX1_stwater*.png custom backgrounds to stwater*.png (thus making them the "default" backgrounds after the flash)
Also, there's a registry change example included in this sample XML:

Code:
<wap-provisioningdoc>
  <characteristic type="Registry">
    <characteristic type="HKCU\Software\Microsoft\Today">
      <parm name="Skin" value="\Windows\Classic Blue.tsk" datatype="string"/>
      <parm name="UseStartImage" value="1" datatype="integer"/>
      <parm name="DPI" value="192" datatype="integer"/>
      <parm name="MultiColorThemeEnabled" value="1" datatype="integer"/>
    </characteristic>
  </characteristic>
  <characteristic type="FileOperation">
    <characteristic type="%CE2%" translation="install">
      <characteristic type="stwater_480_800.jpg" translation="install">
        <characteristic type="Copy">
          <parm name="Source" value="%CE2%\SEX1_stwater_480_800.jpg" translation="install" />
        </characteristic>
      </characteristic>
      <characteristic type="stwater_800_480.jpg" translation="install">
        <characteristic type="Copy">
          <parm name="Source" value="%CE2%\SEX1_stwater_800_480.jpg" translation="install" />
        </characteristic>
      </characteristic>
    </characteristic>
  </characteristic>
</wap-provisioningdoc>



Continued...
 
Last edited:

gtrab

Senior Member
Aug 10, 2007
2,973
512
America
STEP 2: THE KITCHEN​

[01 JUL 09] Uploaded the kitchen I used to cook my SEX1 R3.61 XPERT ROM
Improvements: 1- During cooking process, it will let you choose between LZX or XPR compression without having to change any files (now it uses th "mythical" universal cecompr.dll :D) 2- Before closing, it pauses to let you explore or copy temp files 3- Smaller in size and super FAST: cook a 100 MB ROM in one minute :) (using XPR)

[01 JUN 09] SEX1 KITCHEN, more simple, small & easy to use. Download at post footer
[01 JUN 09] COCINA SEX1 con ejecutable ('script') en español, más sencilla, pequeña y fácil de usar. Descarga al pie de este post


  • BASICS
Every Kitchen requires Microsoft Visual Basic redistributable & Microsoft .NET Frameworks 3.5 to run
Download here: http://www.microsoft.com/downloads/details.aspx?FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&DisplayLang=en

Some Kitchens must to be placed in the root directory C:\
The SEX1 kitchen can be placed anywhere in your PC, even in your desktop if you wish :)



  • INTRODUCTION
A "kitchen" is a compilation of tools, some are optional and some required to cook a ROM
The SEX1 Kitchen has the minnimum required tools only, making it smaller

Some users have written SCRIPTS to automate the cooking process and make things easier, so even I can cook :D
The script guides you instead of manually launching every required app in the correct order
Just click "Cook.bat" "kovskykitchen.bat" or "buildNB.bat" (it depens on which kitchen you are using) and the automated script will do the rest

This SEX1 Kitchen is a modified derivant from Bepe's old Kitchen structure with updated tools, and in this case I wrote the script for the automated process myself

Erviu's Visual kitchen is a more modern, UI-oriented alternative, but by the time being I will focus on the structure and some basic concepts for this classic ole' style kitchen from Bepe because Visual Kitchen uses a dfferent folder structure



  • STRUCTURE
Inside the Kitchen you will find 4 folders and the Kitchen's batch script:

BATCH SCRIPT:

- When finished populating OEM, SYS and ROM (XIP) folders with your desired OEM packages and CE|OS build choice, double click the batch script to start cooking and have a smoke or a coffee while it finishes (this Kitchen is unattended, it takes around 2 minutes to auto-cook a 100 MB ROM with standard compression)
For the english Kitchen: double click "Cook.bat"
Para la Cocina en español: doble click "Cocinar.bat"

- The batch script can be edited with notepad
I inserted some REMARKS ("REM") inside the script:
1- First one if you want to include a pause in the right place to manually edit file attributes before cooking the ROM
2- Another one in case you want to Hex-edit "imgfs.bin" to manually change compression from stock WRX to new LZX

NOTICE 1: LZX compression can be used in this Kitchen by populating the \ROM\ folder with a LZX compression enabled "os.nb.payload" or by editing the new "imgfs.bin" during the cooking process

NOTICE 2: LZX uses a different compressor DLL, it can be downloaded at post footer and relaced in \tools\ folder

KITCHEN FOLDERS:

- The \Tools\ folder is the "oven": it contains all the required tools to cook the ROM
I added step by step explanations into the script, so you can check it to see what happens and which apps are called, to better understand the cooking process: It's worth taking a look
We should be grateful with bepe, bot, ervius, MrVanx, OM-BY, blasphemer, udk and many others for these amazing tools
One year ago the process was SO TEDIOUS and HARD... now it is a matter of clicks !!

- The other 3 folders, OEM SYS & ROM, are where the future ROM parts must be placed:
Download the Kitchen first, then populate these folders with your desired recipee

- Where to get OEM, SYS and ROM (XIP) contents from ??
Use mines (from this tutorial), or dumped ones, or from other users who have shared them
There are many many available around the subforum, just do your homework and search ;)

NOTICE 1: SYS packages must be 192 dpi 480 x 800 resolution !!

NOTICE 2: ROM (XIP) with os.nb.payload must come from a XPERIA, otherwise it must have been ported for the XPERIA

NOTICE 3: If you plan to use a ROM (XIP) folder from jerpelea or my newer "SEX1 release 3", the proper compressor DLL must be downloaded and replaced at "/tools/" folder (the ROM compression selection lyes inside "os.nb.payload")

After populating these folders, your future ROM is basically already there, dismantled into the 3 folders:
- ROM folder is the core :eek:
CE build version is here, in "xip.bin" (in some kitchens like this one, "xip.bin" is already inside "os.nb.payload")
- SYS folder contains all Microsoft Operatin System shizzz (media player, Titanium, bootscreen, backgrounds, themes, calendar... etc)
OS build version is here, in \OS\ folder
- OEM folder contains Sony or HTC customizations (Dialer skin, Xperia Panels, TouchFlo...)
OEM version (customization) is here, in \OEMVersion\ and \OperatorPkg\ folders

- In most kitchens your new cooked ROM will "appear" in the RUU folder, which contains a "Rom Update Utility" app required to flash your fresh new custom smokin' cooked ROM to the phone
In the SEX1 Kitchen the new cooked ROM will "appear" in the root kitchen folder, renamed to kovsimg.nbh, ready to be flashed with the microSD method (safer IMHO)
Of course it can be renamed to RUU_signd.nbh and USB-flashed from the PC with the RUU app too



  • OPTIONAL TOOLS FOR THE SEX1 KITCHEN
Along with the Kitchen, I have uploaded some very useful tools to this post
They are not required but some people could find them usefull and can be optionaly added to the kitchen:
(I wrote and included instructions for each tool inside the ZIP)

  1. xvi-32 Hex Editor -> useful to hex-edit files (I Hex-edit my ROMs to change the ROM initial date, tutorial @ post 90)
  2. Page Pool changer by OM-BY -> Changes the ROM page pool size (some say 0 is better, others prefer 8MB or even 16MB. I use 0=auto)
  3. SYS version by MRVanx -> Gives the real version of every package in SYS folder (don't be surprised: all SYSs floating around are hybrids somehow)
  4. RUU ROM Update Utility 3.22.4.3 for Xperia X1 -> To flash ROMs from the PC
  5. LZX compression: To make the SEX1 Kitchen COMPATIBLE with LZX-compressed ROM/XIPs, just replace the CE compressor DLL in \TOOLS\ folder with the one posted below



Continued...
 

Attachments

  • MRVanx_SYSVersion.zip
    4.2 KB · Views: 538
  • OM-BY_PagePool_Changer_v2.21.zip
    157.5 KB · Views: 574
  • XperiaRUU.zip
    554.6 KB · Views: 1,093
  • LZX_compression_DLL.zip
    18.1 KB · Views: 460
  • SEX1-Kitchen.zip
    856.8 KB · Views: 1,150
  • SEX1-Cocina.zip
    856.8 KB · Views: 516
Last edited:

gtrab

Senior Member
Aug 10, 2007
2,973
512
America
STEP 3: The OEM folder, HERE'S WHERE WE'RE GONNA PLAY !!​



  • Downloads

Download OEM, ROM & SYS folders (OEM base: R3AA010 WWE) (XIP|SYS 21815) here from SEX1 R3.61 XPERT [01 JUL 09]

Download OEM folder (base: R2A+R3A "beta" WWE) here from W4X.23 [01 MAY 09]



NOTICE: All OEM folders and PACKAGEs I use are optimized for Bepe's old style Kitchen



  • Change Log of my OEM packages

release 3 OEM change log:

I dumped R3AA010 UK ROM -> deleted unnecessary OEM packages and streamlined others into \OperatorPkg ("AAinfo.txt", "runcc.lua", operators config "Provision.zip", etc), but kept \ExtendedPkg,
then I:

- Edited OEM\OEMDrivers RGU to:
enable XPERIA start up anime from cold boot (keys were originally added during customizaton in "fileoperations.xml"),
disable SMS sent notification pop up ("NoSMSsentmsg" value 0 -> 1)
disable reg keys for Auto Error Reporting's fatalerror DLL

- Edited OEM\ExtendedPkg\"fileoperations.xml" to:
remove the Bond trailer link inside

- Deleted "fatalerror.dll" in OEM\OEMDrivers
- Deleted "Bond trailer.mp4" and Handango store link in OEM\ExtendedPkg

- Added PACKAGE SD tune UP by tnyynt
- Added my multi-PACKAGE MS SDK certificates + registry lock OFF + CAB insallation warnings disabled

W4X.23 OEM change log:

I dumped XPERIA R2A ROM & downloaded R3A beta OEM packages @ cheffs develop and share centre thread,
then I:

- Deleted unnecessary OEM folders, gathered all XPERIA SEMC contents (from \ExtendedPkg) into two CABs, put them inside \OperatorPkg and edited "config*.txt" to invoke that CABs during customization

- Wrote XMLs for SEMC file operations and edited "config*.txt" to invoke those XMLs during customization (after my SEMC CABs installations, otherwise files wouldn't be found !!)


- Deleted Bejeweled, Sudoku and other unused packages
- Replaced R2A "kovsky" packages with R3A beta packages
- Added PACKAGE for Xtrakt game
- Added PACKAGE for other Panels (Growing panel, Facebook panel, etc)

- Edited OEM\OperatorPkg\"panelconfig.xml" accordingly to the new panels I added, and in my desired panel slot order



  • OEM - PACKAGES TUTORIAL

Inside SYS and OEM folders we will find PACKAGES
- A PACKAGE contains an app or util or configuration or else
- A PACKAGE is a group of files that do something: There's a PACKAGE for Adobe reader, another one for OEMDrivers, Dialer, VideoTelephony, GoogleMaps, etc
- Basically speaking, this is what we call "cook": to REMOVE or ADD PACKAGES to a recipe and customize the ROM with apps and utils or tweaks

MORE EASYER ?? Bepe's ole style kitchen uses bepe's BuilOS 0.91 utility to control which PACKAGES are included or not in the new ROM, without having to delete PACKAGES folders every time
You need to create a "option.xml" file inside each PACKAGE for the BuildOS to display it in the list of available, selectable PACKAGES
If a PACKAGE doesn't contain "option.xml" BuildOS will assume it must be cooked, by default
How to create "option.xml" ?? It can be manually created, or automatically created with ervius' package creator

HOW ARE FILES ARANGED ??

- Most files in a ROM (inside OEM or SYS PACKAGES folders) are "normal" files
- But some special "system" files have been disasembled in "Modules"
Eg.: If you search for "shellres.dll" you will not find it, but you will find a folder called "shellres.dll" with *.bin, *.txt and some S000, S001, S002 etc files inside: This is "shellres.dll", but disasembled into "modules"

"recmod.exe" converts Files <-> modules
Dissasembled files are re-assembled when the ROM is flashed

EVERY FILE inside all OEM and SYS PACKAGES will go to \Windows unless stated different

How to tell a file not to go to \Windows ??
Read fards' explanation on post 12 from this thread ;) Initflashes.dat governs what folders are created and which files are moved
Another way to move files is using ye ole *.PROVXML files with proper instructions (I suggest you to open and study some of the stock *.PROVXML files to understand the basic syntax, it's very easy once you have seen a couple of them)

SELECTING ROM CONTENTS

Each package is an app or utility or program or set of customizations, you can add or remove at will, replace a "KOVSKY" app for a "RHODIUM" or "BLACKSTONE" one, but beware: some apps require others !!! Example: If I delete "PACKAGE_Kovsky_PhoneCanvas_VT" (which i the XPERIA phone dialer) and replace it for another dialer skin, I should also delete (or replace) "PACKAGE_Kovsky_VideoTelephony" (It wouldn't make sense to mix up the skins)

Don't worry, this is basic common sense thing, but of course requires a standard trial and error learning curve

CUSTOMIZING / TWEAKING THE ROM

Most of the more important user-related registry keys are inside OEM folder packages
As I stated before, registry changes can be made "inside" every RGU or, as Itje suggested, better put 'em on a PROVXML file, so the "basic" structure of the ROM is not altered next time you want to cook a different ROM and you don't want that change again

TIPS

- Build your mental "structure" of what you want in your ROM

- Start with basic packages cook the ROM and flash it, if it boots and workss, continue tweakin' / moddin'

- Make "maybe yes/maybe not" apps or utils (packages) OPTIONAL in BuildOS with Ervius Package Creator
(The file "option.xml" will not be cooked the ROM, it is there ONLY to tell the kitchen "this is an optional package and the cheff is going to decide wether to select it or not while cooking")

- Avoid LOTS of wasted time by following this advice from a somnolent beginner: KEEP TRACK OF EVERYTHING YOU DO -> WRITE AND MAINTAIN A CHANGE LOG !!!
Who knows ?? Maybe next day you won't remember "which" RGU you edited late last night, or even worst: "what da heck" you tweaked, or "what for" ;)

- Some programs can not be added as packages because some of their files may have repeated names with other packages:
THE KITCHEN WILL STOP COOKING AND WARN FOR A "REPEATED" FILE
(the ROM can't flash 2 files with the same name to \Windows - remember everything goes into \Windows folder during first boot !!)
CABs are very usefull in this case, but beware:
CABs WILL NOT "auto-install", you have to "invoke" them during the CUSTOMIZATION PROCESS, usually adding a line into a "config*.txt"
I chose to drop some CABs inside "OperatoPkg" (again: to keep an eye on them), and kept "stock" PACKAGES for other CABs (check Xtrakt or Opera packages as an example, and open the config*.txt files to see how these CABs are "invoked" to install during first boot customization process)

SOME PACKAGES
  • Attached to this post footer you will find a OEM PACKAGE I prepared, meant to add the XPERIA boot start up animation to any ROM (my OEMs all have the animation enabled by default)
  • BatteEnhancer will include Ethermind's 1% battery driver for XPERIA with required registry changes
  • SDK+CAB-REG will install SDK certificates (SDKcerts), disable the "non-signed" warnings when installing CABs and turn registry security off (to be edited with any reg editor)
  • SD tune UP from tnyynt will make your SD card read/write faster
  • .NET Frameworks (.NET CF) version 3.7


Continued...
 

Attachments

  • gtrab_SEX1_boot_anime_PACKAGE.zip
    593.2 KB · Views: 596
  • PACKAGE_SEX1_BattEnhancer.zip
    1 KB · Views: 336
  • PACKAGE_SEX1_SDtuneUP.zip
    1.4 KB · Views: 337
  • Fixed11jun09-PACKAGE_SEX1_SDK+CAB-REGwarnOFF.zip
    25.9 KB · Views: 347
Last edited:

gtrab

Senior Member
Aug 10, 2007
2,973
512
America
STEP 4: THE XIP AND SYS FOLDERS FROM MY ROMS​



  • Downloads

Download ROM (XIP) folder OS build 21806 here from SEX1 release 3

Download SYS folder CE build 21806 here from SEX1 release 3

Download ROM (XIP) folder OS build 21500 here from W4X.23 (source: jerpelea's kitchen)

Download SYS folder CE build 21500 here from W4X.23



  • Some changes I often make inside SYS folder

- SYS\Base_DPI_192\: Customize "StartMenu_Selection.png" (honeycomb background for selected item)
- SYS\Base_dpi_192_resh_480_resv_800\: Customize "stwater*.jpg" (XPERIA silver theme aluminum background)
- SYS\Redist_dpi_192_resh_480_resv_800\: Customize "welcomehead.192.png" (WM6.5 orange bootscreen says "SEX1")

Applying Halsted's principles to the cooking process, better avoid making changes inside the SYS folder,
instead, now I run my personalizations during the customization process (remember "\OEM\OperatorPkg\config*.txt" ?? Yey !! there, using some XMLs and CABs !!)



HOW TO CHANGE / UPGRADE AND PORT XIP | SYS GUIDE

- XIP (CE build version) and SYS (OS build version) can be upgraded separatedly, which means you can have a "21500|21806" build or whatever
- Language and resolution can be changed without having to port



To upgrade SYS build version:
  1. Replace folders inside SYS with newer build ones
Done ;)

- Beware !! don't change ".VM" and "WinCENLS_WWE" folders, they are device specific
- The Kitchen's automated "G'reloc" will do the rest of the dirty work during cooking (reallocating modules in ROM memory)
- Wanna find out what SYS version each folder is ?? Use SYS version by MRVanx



To upgrade XIP build version:
  1. Insert the new "xip.bin" into "os.nb.payload"
Easy, ain't ?? :rolleyes:

- Beware !! "xip.bin" is device specific
- If a "xip.bin" containing the desired OS build is not available for the device, it can be ported from any "xip.bin" (from other HTC device), then it can be inserted into the native "os.nb.payload"
- MORE INFO on how to extract "xip.bin" from "os.nb.payload", how to port "xip.bin" and how to insert the new "xip.bin" into payload: go to page 11, post 106



To change ROM resolution:
Let's say you just put your hands on a newer SYS build, but it is QVGA (XPERIA is WVGA):
  1. All SYS folders labeled "resh_240_resv_320" should be replaced with "resh_480_resv_800" WVGA resolution folders
That's it !! :cool:

- TIP: It doesn't matter if correct res folders are taken from a previous build
- Syntax Note: "resolution horizontal 240 x resolution vertical 320"... get it ??



To change ROM language:
Let's say you want to convert the ROM to spanish language:
  1. Dump a Spanish OEM and add folders to OEM (at least the basic OEM ones)
  2. Replace all "Lang_0409" (WWEnglish) folders in SYS with "Lang_0c0a" (spanish) folders
  3. Edit ROM\XIP\ RGU: change MUI locale lang from 0409 to 0c0a
Piece of cake ;)

- Beware !! ".VM" and "WinCENLS_WWE" folders are device & language specific
- TIP: When editing the RGU, search strings for "lang" or "0409" & you will know what to change



HOMEWORK: I WANNA SEE YOUR NEWER BUILDS XIP | SYS PORTS POSTED, STRAIGHT AND RUNNING GUYS !! :D :p



KEEP READING THE THREAD GUYS, you can find more useful info and tips from Xperianced senior cookers !!

.
 
Last edited:

jackleung

Inactive Recognized Developer
Apr 10, 2005
2,307
48
USA
1- When cooking the ROM, all *.RGU files are compiled and gathered to create the main, barebone system registry
Actually, all the rgu files will be compiled into user.hv (anything under HKCU) and default.hv(anything other than HKCU) first. Therefore, it's the final place to check the registry outcome if you have lots of RGUs and the content are overlapped.

Good job and keep up the good work.
 

gtrab

Senior Member
Aug 10, 2007
2,973
512
America
Thanks for pointing out jack ;)

Your help and tips are greatly appreciated, as much as your ROM works

.
 
Last edited:

DHel01

Senior Member
Feb 5, 2009
144
0
Very nice thanks! This can be very usefull for our n00b cookers! Maybe I will try it sometime! :D
 

ColdFire_

Senior Member
Apr 11, 2009
62
0
Thanks alot. This is a very good information for newbies like me.. Going to start and cooking later :)
 

Xkan

Senior Member
Jan 6, 2009
299
0
Great, that's really great and gives us a view inside the things behind the ROM :)
 

fards

Inactive Recognized Developer
well researched however you've missed a couple of things..


initflashes.dat is editable using notepad and is used to set up files that you'd rather not access from windows. it is used to copy files from windows to the folders they need to be in, such as program files.
Every file you put into the rom will be in windows folder.

it's best if you reduce the amount of provxmls whenever you can, as well as the DSM files (one reason to use Bepes latest kitchen as it doesn't leave them in the rom),
the less files in windows the better if you want more speed.
 

kluks

Senior Member
Feb 14, 2009
58
1
great tutorial. thanks again.

I have downloaded the OEM package and tried. Everything works.

I have question:

Do you know how to turn off the notification stuff on the title bar? Every time when I press the task manager icon, I either hit the battery or the speaker volume icon, therefore these notifications pops up. I want to make the battery and speaker icon non-touchable.
 

gtrab

Senior Member
Aug 10, 2007
2,973
512
America
great tutorial. thanks again.

I have downloaded the OEM package and tried. Everything works.

I have question:

Do you know how to turn off the notification stuff on the title bar? Every time when I press the task manager icon, I either hit the battery or the speaker volume icon, therefore these notifications pops up. I want to make the battery and speaker icon non-touchable.

I know how to disable the battery icon click -> power app in WM6.5:
undo the "click battery opens power control panel" REG trick

(batery icon tap response comes disabled by default... waiting for the NEW POWERDRIVER surprise :D)

@FARDS:

MANY TAHNKS: GOOD POINT,
Will quote your text in front page
 

JKingDev

Senior Member
Nov 3, 2006
648
16
Awesome! Thank you so much! I really want a 6.5 ROM with rhodium dialer, rhodium youtube, and rhodium album. I have been wanting to cook a 6.5 ROM but could not get through it so far. Hopefully I will be able to accomplish this now. Looking forward to the rest of your guide and your kitchen. Perhaps I can apply the knowledge you have already given to jerplea's kitchen though.

The option.xml info was much needed. I was so confused as to why when I added packages to the OEM folder they would not show up in build OS.

Thanks again!
 

itje

Retired Moderator
Jun 20, 2007
4,357
192
Kleppe
If you cook many diffrent roms (multilang etc):

Make provxml files with your regsettings/tweaks/hacks or w/e, and run them in customization..so that when you swap with newer builds with your packages, you wont have to go through the rgu/reg files to make the changes everytime..

you just bring the provxml to next kitchen...in that way you always are sure to have your fav settings with you :)

Ofcourse...they might need update from time to time..and the settings in a 6.1 rom might not work on a 6.5 rom... and vice versa :)

cheers