[Sable] keyx:
FCC Information for 610c

FCC information for 910c

----------------------------------

Structure Overview

XIP is the kernel, this is also what you see those 2xxxx build mean, the whole term is called "Execute in Place", i.e execute files in rom directly without copying to ram, this is for boot process, anything wrong mean you will stuck in clean boot

OEM is for device/manufacturer specific program/drivers

SYS is for Windows Mobile system files

A package is a folder with at least a dsm file,all other files are extra

-rgu file is just reg file which you can use notepad to edit

-default all files goto Windows directory (obviously exclude rgu file)

-initflashfiles.dat/txt is a text file with instruction to move files to different directory

Files vs Modules

Modules are folder with ".dll" in their names. Inside the folder there is imageinfo.bin, S00X where x is a digit. When they are cooked into ROM they will become dll with proper relocation (done by WMReloc/G'Reloc). Supposedly being modules would make them load faster(because no need to relocate at runtime?) and some dlls must be in modules or else some program will not work properly. However there are also cases that modules must be converted to files.

Technically you can put everything in SYS since at the end buildOS will merge everything together but it is easier to manage if you follow the OEM/SYS structure

Common Issues TroubleShooting

hang on 1st boot screen (HP Logo)

-XIP porting issue, .rom , .vm file not correct .etc

hang on 2nd boot screen (WM splash screen)

-module did not relocate properly (did you run WMReloc or GReloc?)

-XIP (lower possibility, i don't think it affect..just in case you should keep in mind)

hang/crash on today screen

-software conflict/missing .etc , check your SYS/OEM files

Endless HP update/customization engine

-happens because of different model uses different customization engine, using one from other model/region will cause it to rerun every boot time, the only solution seem to prevent it to run from start by removing it from initflashfiles.dat. Convert all the fix into packages and integrate to the rom instead

installed SIP(virtual keyboard) cannot be switched

-use recmod (under tools folder) to convert all modules into files in browsingie folder

cannot compose new sms/email .etc

-replace redist_lang_[lang_code] folder with one that worked before

wifi cannot turn off after boot

-set HKLM/Comm/SDIO86861/Wireless to 1

XIP

To insert ported xip, run this command: osnbtool -c TEMPLATE.ROM 1 xip_out.bin

where xip_out.bin is your new XIP file

xip porting tutorial can be found all over the place in xda/ppcgeek .etc

Also make sure in ROM folder, the boot.rgu is from your device xip (the kitchen I provided only contains 61x xip so to cook for 91x you need to put 91x boot.rgu instead)

Phone Radio

rilgsm.dll is needed but usually it is in OEM folder

PagePool

Overview: xda wiki

edit using pagepool_by_wlodixon under flash folder, copy your flash.dio and run the appropriate cmd

The only exception is if the rom set pagepool to 0 (Dynamic PagePool), it won't able to recognize and you have to hex edit

hex edit the xip.bin at 0x000A75E4, change all 4 bytes to your desired value (all 0 for dynamic pagepool)

Convert cab to OEM

get package creator here

use it to open cab, then wince cab analyzer opened, choose extract folder icon, after close wince cab analyzer, you will be present with shortcut screen, do you things and hit done, finally hit complete package unless you want to change some option

Create simple cab for file/reg changes

get QuickCab

Xt9

corresponding lang files in OEMApp/OEMLang_#### where #### is the 4 digits lang ID

-[2letter langs code]hpd.ldb

-[2letter langs code]lbUN_xt9s/lsUn/.etc].kdb

-et9.SQR.[Language].bmp [Optional, some language like Polish/Portuguese just point to english bmp in registry]

-[a bunch of number/digit known as GUID].rgu (if you open it up you will find there is registry on xt9)

also under OEM\OEM_Lang_[Lang number]

-initflashfiles.dat (actually you can use notepad to open it and seacrh for ldb/kbd/bmp to see which lang files )

cooking different language

-you will need your language OEM folders from original HP rom

-your language wince.nls

-replace all language mui (e.g 0409=English) with your language mui

-some languages may added extra folders, be sure to copy them into SYS too

-sometime the hp customization/update will end up endless run in every start, in this case you will need to prevent it from running and integrate all updates into the ROM

OptionXML Addon

I have written this small .Net 3.5 App to generate option.xml for SYS packages which will allow you to select the common package and different language more easily without moving folders all the time, just unzip the zip to kitchen which will overwrite the existing batch file and put the exe under TOOLS folder.

To select/UnSelect a category in BuildOS, you can click on the Category group (e.g click on 0409 will select all 0409 packages in SYS), then click on one of the packages will select/unselect the whole group