DO NOT POST IN THREAD YET PLEASE
Intro
This guide was originally developed by hilaireg. It can be found here. It will be modified by me and maintained by me and hopefully users of this forum also.
The sections are intended to be followed in sequence as the last section should provide you with a final product that can be flashed to your device.
Applying Original/Cooked ROM's
You probably won't be able to apply an Original or Cooked ROM to your device as your Cellular Carrier has most certainly locked your device. You'll need to unlock your device before venturing into the world of ROM installation. These activities are beyond the scope of this guide; you can however, go to this Wiki page to learn more.
Outro
Lastly, this guide only covers the ROM cooking process; changing your device Startup Splash Screen and Radio or flashing a HardSPL are beyond the scope of this guide; you can however, go to these Wiki and/or Forum pages to learn more.
This guide is intended to help you learn how to cook your own ROM's; it will walk you through the process of extracting the contents of an Official ROM, adjusting the Page Pool, changing the Data Cache Size, and Patching the ROM to remove Certificate verification. The guide does not cover the steps required to add/remove ROM packages or port an XIP from a different ROM version or device.
Disclaimer; I take no responsibility and will not be held liable for any problems you encounter with your device before and after following this guide … flashing a ROM is done at your own risk. If you spot mistakes or inaccuracies in the guide however, please let me know so that I may correct them.
[TUT] Modding Guide to Visual Kitchen...continued
Location, Location, Location
There are many fine Kitchens out there to use; Semi-Automated Kitchens (Raphael, Da_G), Automated Kitchens (Bepe), and Visual Kitchens (Ervius). This guide uses the Ervius Visual Kitchen to assist you in learning the basics of operating a Kitchen; which ultimately, allows you to produce your own ROM.
References
Ervius..: http://forum.xda-developers.com/showthread.php?t=469420
Da_G....: http://forum.xda-developers.com/showthread.php?t=471288
Raphael.: http://forum.xda-developers.com/show....php?p=2453788
Bepe....: http://forum.xda-developers.com/showthread.php?t=467488
Inspecting the Facility
It’s important to get acquainted with any new facility; last thing you want to find out is that you don’t know where to plug your utensils or appliances. Here’s a brief tour of the facilities to get you on your way.
EXT Folder
The External packages (EXT) folder is divided into Device Specific folders and a Shared folder. The Shared folder is typically used for files (packages) that can be installed on any device. Device Specific folders are typically used for files (packages) that should only be applied to a specific type of the device – for example, the Raphael device.
Each Device Specific folder is further divided into Operating System Build Version Specific folders and a Common folder. The Common folder is typically used for files (packages) that can be installed on any Operating System build version. Operating System Build Version Specific folders are typically used for files (packages) that should only be applied to a specific build (version) of Operating System – for example, build version 20764.
Operating System Build Version Specific folders, the Common folder, and the Shared folder can be further divided into sub-folders making file (package) management simpler – for example, .\Raphael\20764\Raphael_External_Packages.
Tip
The EXT Build drop-down box in the Visual Kitchen permits selection of different Operating System Build Version Specific folders.
OEM Folder
The OEM folder can contain multiple Device Specific folders. Device Specific folders are typically used for files (packages) that should only be applied to a specific type of the device – for example, the Raphael device.
Each Device Specific folder is further divided into Locale Specific folders and a Common folder. The Common folder is typically used for files (packages) that can be installed in any locale – not specific to a language. Locale Specific folders are typically used for files (packages) that should only be applied to a specific locale – for example, 0409 (English).
Tip
The Language drop-down box in the Visual Kitchen permits selection of different Locale Specific folders.
ROM Folder
The ROM folder is divided into Device Specific folders and a Shared folder. The Shared folder is typically used for kernel system files that are compatible amongst devices. Device Specific folders are typically used for kernel system files that should only be applied to a specific type of the device – for example, the Raphael device.
The Shared folder is further divided into Operating System Build Version Specific folders. Operating System Build Version Specific folders are typically used for kernel system files that should only be applied to a specific build (version) of Operating System – for example, build version 20764.
Each Device Specific folder is further divided into Operating System Build Version Specific folders. Operating System Build Version Specific folders are typically used for kernel system files that should only be applied to a specific build (version) of Operating System – for example, build version 20764.
Tip
The XIP Build drop-down box in the Visual Kitchen permits selection of different Operating System Build Version Specific folders.
Advanced OEMXipKernel and MSXipKernel operations can be performed using the XIPPORTEREX & ROM tool.
SYS Folder
The system (SYS) folder is divided into Operating System Build Version Specific folders. The Build Version Specific folders will often contain files (packages) specific to the device DPI (Dot Per Inch) and Horizontal/Vertical display size.
Each Operating System Build Version Specific folder is further divided into a ROM DPI, ROM Resolution, and Shared folder – providing a significant amount of flexibility during ROM compilation.
The ROM DPI, ROM Resolution, and Shared folders are further divided into Locale Specific folders and a Common folder. The Common folder is typically used for system files (packages) that can be installed in any locale – not specific to a language. Locale Specific folders are typically used for system files (packages) that should only be applied to a specific locale – for example, 0409 (English).
Tip
The ROM DPI and ROM Resolution drop-down boxes in the Visual Kitchen permits selection of different Operating System Build Version Specific resolution and bit depth.
Continued
Preparing Your Facility
Before you can begin to cook your own ROM, you need to equip your facility with some Kitchen utensils. Your Kitchen is going to require a good Unicode & UTF-8 text editor; I personally use ConTEXT & Notepad. Another handy utensil to have is a comparison utility for date/file/binary comparisons; I use WinDiff & BeyondCompare. Some other utensils that you're going to require are: Microsoft ActiveSync, .NET Framework 2.x/3.x. You will also need an archive extraction utensil; I use IZArc, WinRAR, and WinZIP. You’ll also need a good Hexadecimal calculator; I use Windows Calculator (Scientific Mode).
It's also a good idea to ensure that your Kitchen remains "pest" free; common pest control services include AVG, McAfee, and Symantec anti-Virus. You'll need to add the RaphaelWrapper tool to your list of anti-virus exclusions as it may be detected as a "Generic Dropper (Trojan)".
References
CustomRUU for Raphael
http://forum.xda-developers.com/showthread.php?t=410761
To assist you in your apprenticeship, I have included a link to the Generic Visual Kitchen that I used to prepare this guide - the kitchen also includes a .DOC and .PDF format of this guide. The procedures were tested against a GSM Raphael device. I can’t confirm that these procedures will work on CDMA device ROM’s. Additionally, other device ROM’s may not be compatible with this kitchen format.
Generic Visual Kitchen (17 MB)
http://rapidshare.com/files/24006232...n_31052009.rar
You’re going to need a RUU_SIGNED.NBH file; I used the following HTC Official Generic ROM – you’ll need to extract the contents of the .EXE and .RAR/.ZIP using an archive utensil.
[ROM] [WWE] Raphael HTC 5.05.405.1 Radio Signed (52.58.25.3 0,1.11.25.01)
http://rapidshare.com/files/19396608...25.01_Ship.rar
http://www.megaupload.com/?d=0F50UM5K
For the purpose of this guide, I will assume that you have added the C:\XDA\ folder, sub-folder, and files to your anti-virus exclusion list – at the very least RaphaelWrapper.exe – and that the contents of the Generic Visual Kitchen were extracted to the following folder.
C:\XDA\MY_VISUAL_KITCHEN
The guide is divided into the following sections:
Extracting the RUU_SIGNED.NBH Contents ....... 4
Reducing the .PAYLOAD File ................... 5
Extracting the XIP.BIN Contents .............. 6
Increasing the Data Cache .................... 7
Unlocking the Paging Pool .................... 8
Disabling Certificate Checking ............... 9
Reducing the Update Loader (ULDR) Partition .. 10
Changing the Unsigned CAB Policies ........... 11
Changing the Unsigned Themes Policies ........ 12
Changing the Remote API (RAPI) Policies ...... 13
Compiling the New RUU_SIGNED.NBH File ........ 14
Flashing the RUU_SIGNED.NBH File ............. 15
Advanced Topic: XIP Porting .................. 16
Sous-Chef's TIPs ............................. 20
I will attempt to provide an overview, the list of tools required, and the process to follow in each section. As you become more comfortable (and familiar) with the activities, you will find that you can consolidate (or skip) certain outlined steps. Incidentally, you'll probably want to keep these web links open in case you need to lookup some of the terms or concepts in the guide.
Acronyms
http://wiki.xda-developers.com/index...ename=Acronyms
Glossary
http://wiki.xda-developers.com/index...ename=Glossary
Development Resources for Windows Mobile
http://forum.xda-developers.com/showthread.php?t=445396
Extracting the RUU_SIGNED.NBH Contents
An .NBH is a signed group of modules or packages; they are typically comprised of .NB files. An .NBH can contain any combination of .NB files. An .NB file is a block of code that can be a Radio ROM, Operating System packages (XIP and IMGFS), Startup Splash Screen (or SPL).
The file we will be working with is the OS.NB file; it contains the ULDR, XIP, and IMGFS (OEM, SYS). To extract the contents of an .NBH file, we initiate the Ervius NBH/NB/PAYLOAD Dumper tool from within the Generic Visual Kitchen.
Upon completion, the following files will have been extracted: OS.nb, OS.nb.payload. Additionally, the Ervius NBH/NB/PAYLOAD Dumper tool creates a DUMP folder that contains all the files required.
Tools Required:
The following Ervius Visual Kitchen tool will be used for the RUU_SIGNED.NBH extraction activities.
Dump NBH/NB/PAYLOAD
Procedure
The following procedure initiates the ROM extraction activity via the Ervius NBH/NB/PAYLOAD Dumper tool built into the Generic Visual Kitchen. The extraction process can take a significant amount of time to complete.
Copy the RUU_SIGNED.NBH file to the C:\XDA\My_Visual_Kitchen\BaseROM\ folder.
Navigate to the C:\XDA\My_Visual_Kitchen\ folder.
Launch ErviusKitchen.exe.
At the multiple warning messages, click OK.
Warnings that may appear include:
Folder Not Found
Could Not Find A Part Of The Path
You Need To Specify … First
Click the Dump NBH/NB/PAYLOAD button.
Navigate to the C:\XDA\MY_VISUAL_KITCHEN\BaseROM\ folder.
Select the RUU_signed.nbh file and then click Open.
At the All Done... Nbh/nb/payload Dumped and ''Kitchen'' created Successfull!!! message, close the Ervius Visual Kitchen application.
Navigate to the C:\XDA\MY_VISUAL_KITCHEN\DUMP\ folder.
Move the sub-folders (and content) to the C:\XDA\MY_VISUAL_KITCHEN\ folder.
At the Confirm Folder Replace message, click Yes To All.
At the Confirm File Move message, click Yes To All.
Tip
The C:\XDA\MY_VISUAL_KITCHEN\BaseROM\Dump\ folder should be empty at this point – and can be removed.
Reducing the .PAYLOAD File
At this point, the Ervius NBH/NB/PAYLOAD Dumper tool has removed the contents of the IMGFS (OEM, SYS) from the .PAYLOAD file in preparation for changes to the ULDR and XIP. Removing the IMGFS (OEM, SYS) contents from the .PAYLOAD file reduces the size of the .PAYLOAD file making it easier to work with.
The Ervius NBH/NB/PAYLOAD Dumper tool has placed a copy of the reduced .PAYLOAD file in the C:\XDA\My_Visual_Kitchen\ROM\Raphael\ folder.
Tip
Advanced .PAYLOAD file operations can be performed using the XIPPORTEREX & ROM tool.
References
[TUT] Manual Full XIP Porting (& MANY MORE TUTORIALS)
http://forum.xda-developers.com/showthread.php?t=438676
Extracting the XIP.BIN Contents
The Execute-in-place (XIP) region is an area where an application can execute code directly from ROM rather than loading it from RAM. It is possible to use the XIP.BIN contents from a newer version of a ROM from a different device or a newer operating system. This is typically done by chefs who are looking for the most recent versions of system files from a specific device or version of an operating system – you'll eventually do the same.
At this point, the Ervius NBH/NB/PAYLOAD Dumper tool has extracted the contents of the XIP.BIN and placed a copy of the file in the C:\XDA\My_Visual_Kitchen\ROM\Raphael\ folder.
For the purposes of this guide, we will be using the same version of the system files.
Tip
Advanced XIP.BIN file operations can be performed using the XIPPORTEREX & ROM tool.
You can change the ROM Date/Version using the XIPPORTEREX & ROM tool.
References
[TUT] Manual Full XIP Porting (& MANY MORE TUTORIALS)
http://forum.xda-developers.com/showthread.php?t=438676
XIP Porting Guide
http://forum.xda-developers.com/showthread.php?t=379598
Increasing the Data Cache
File caching improves performance and also improves power management; when an application accesses physical storage, the storage device uses much more power. The less often physical storage is accessed, the longer storage devices spend in a low-power state.
By increasing the DataCacheSize registry value, you effectively improve the performance of applications that are file system intensive such as database and mapping applications – which results in lower physical storage access requirements. Drastically increasing the DataCacheSize however, may have adverse effects and slow the device down as a result of longer auto-compaction processing.
For the purposes of this guide, we are going to increase the current DataCacheSize value from 4MB to 8MB.
Tools Required
The following tools are required to adjust the DataCacheSize value.
Unicode Text Editor
Hexadecimal Calculator
Procedure
The following procedure will change the current DataCacheSize value of 4MB to 8MB.
Navigate to the C:\XDA\MY_VISUAL_KITCHEN\ROM\Raphael\20764\OEMXipK ernel\ folder.
Launch a text editor and open the BOOT.RGU file.
Search for the following registry key entry:
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\ FLASHDRV\FATFS]
Locate the following registry value underneath the key:
"DataCacheSize"=dword:00000800 ;2048 sectors(2048*2048=4MB)
Change the registry value to the following:
"DataCacheSize"=dword:00001000 ;4096 sectors(4096*2048=8MB)
Save the BOOT.RGU file.
Exit the text editor.
Tip
Make a backup copy of the BOOT.RGU file before editing; delete the backup file when done.
Disabling Certificate Checking
During the startup process of your device, the operating system verifies that each system file against an internal certificate store to ensure that each file is signed with a trusted certificate; if the system file is not signed, the file is ignored.
To allow execution of non-signed system files, we need to disable the internal certificate store verification. Once disabled, the operating system will trust all code installed regardless of its signature. This provides more control over the code that gets installed on the device – you no longer need to load and manually sign additional certificates such as those from the sdkcerts.cab into the device root certificate store.
For the purposes of this guide, we are going to apply a change to the kernel binary file which will disable the internal certificate store verification.
Tools Required
The following tools are required to disable the internal certificate store verification.
Unicode Text Editor
Procedure
The following procedure will change the kitchen_build_rom.bat disable the internal certificate store verification.
Launch a text editor.
Navigate to the C:\XDA\MY_VISUAL_KITCHEN\Tools\ folder and open the kitchen_build_rom.bat file.
In the Find (Search) box, type:
implantxip
Add the following implantxip command line option:
-NoCert
Select the Save option in your text editor.
Select the Exit option in your text editor.
Tip
Spaces are usually required between command line options; the command line option should only appear once.
You can add output logging to file by adding the following command instructions to the end of a command line:
| ..\tools\mtee /+ ..\%LOG_FILE%
Newer versions of Ervius Visual Kitchen provide built-in logging and an Option button to disable the Certificate Store verification.
Unlocking the Paging Pool
The Paging Pool serves as a limit on the amount of memory that can be consumed by pageable data. It includes an algorithm for choosing the order in which to remove pageable data from memory. Pool behaviour is typically determined by the OEM – Microsoft sets a default value for the paging pool, but the OEM can change that value. Applications do not have the ability to set the behaviour for their own executables or memory-mapped files.
For the purposes of this guide, we are going to apply a change to the kitchen_build_rom.bat to set the Paging Pool size (initially set to 6MB) to a new size of 8MB.
Tools Required
The following tools are required for the Paging Pool unlock activities.
Unicode Text Editor
Procedure
The following procedure will change the kitchen_build_rom.bat to set the Paging Pool size during ROM compilation.
Launch a text editor.
Navigate to the C:\XDA\MY_VISUAL_KITCHEN\Tools\ folder and open the kitchen_build_rom.bat file.
In the Find (Search) box, type:
implantxip
Add the following implantxip command line option:
-PP 8
Select the Save option in your text editor.
Select the Exit option in your text editor.
Tip
Spaces are usually required between command line options; the command line option should only appear once.
You can add output logging to file by adding the following command instructions to the end of a command line:
| ..\tools\mtee /+ ..\%LOG_FILE%
Newer versions of Ervius Visual Kitchen provide built-in logging and an Option button to set the Paging Pool size.
Reducing the Update Loader (ULDR) Partition
The boot loader can accommodate multiple execute-in-place (XIP) regions where individual modules can be updated after the initial operating system image file has been written to the device – the ULDR is an example of this use. The Update Loader (ULDR) provides Flash-Over-The-Air (FOTA) capabilities permitting your carrier to issue changes such as Hotfixes over the cellular network – generally, most carriers avoid this practice.
As this is generally undesirable in a cooked ROM, since we are making modifications that a carrier Hotfix might roll back, we will reduce the partition. This will cause the device to report insufficient ULDR space to the carrier FOTA request … and the freed up space becomes available for our uses.
For the purposes of this guide, we are going to apply a change to the kitchen_build_rom.bat to reduce the ULDR – effectively providing approximately 3 MB of space.
Tools Required
The following tools are required to disable the internal certificate store verification.
Unicode Text Editor
Procedure
The following procedure will change the kitchen_build_rom.bat disable the internal certificate store verification.
Launch a text editor.
Navigate to the C:\XDA\MY_VISUAL_KITCHEN\Tools\ folder and open the kitchen_build_rom.bat file.
In the Find (Search) box, type:
implantxip
Add the following implantxip command line option:
-uldr
Select the Save option in your text editor.
Select the Exit option in your text editor.
Tip
Spaces are usually required between command line options; the command line option should only appear once.
You can add output logging to file by adding the following command instructions to the end of a command line:
| ..\tools\mtee /+ ..\%LOG_FILE%
Newer versions of Ervius Visual Kitchen provide built-in logging and an Option button to enable or disable ULDR reduction.
Guide is not complete
The guide is not complete yet so PLEASE DO NOT POST IN THE THREAD until I complete it.
Thanks!
This is a work in progress and will be done some time today. Please do not post in thread.
At0mAng said:
Preparing Your Facility
………………
Generic Visual Kitchen (17 MB)
http://rapidshare.com/files/24006232...n_31052009.rar
…………
Click to expand...
Click to collapse
Hi At0mAng,thanks you tutorial. This link was deaded, can you repost or fixed it? thanks again.
Bumped as id really like to see the rest of this too =D
Can you please re-up the files Atom?
Wow Atom, fantastic work, must have cost you too much time to write all that, and it's well strucutred too. Thanks and keep up the good work
Related
I am starting this thread as there seem to be a lot of smart people on this forum that have a lot more knowledge about the BlueAngle device than I do and I hope that they will be able to come up with a better solution to my problem.
Problem:
1) Every time I update my device I need to run a lot of setup.exe to reload all of my software.
2) I have to create new folders under "Programs"
3) As I don’t like the default location of the links, I have to move the links into my new folders
4) I have to enter registration codes on a number of applications.
I would like to be able to automat this were possible.
I would like to share with you my solution in the hope that it helps you
and I would like it to be inproved by anybody who has a better understanding of this than me.
I have had to break this up into 3 parts and post then each seperatly.
Part 1:
Auto Install of applications based on a config file
http://forum.xda-developers.com/viewtopic.php?p=83120#83120
Part 2:
Dos add-on that allows me to make folders, copy and delete links from a batch file
http://forum.xda-developers.com/viewtopic.php?p=83121#83121
Part 3
Macro to enter the Reg codes of software.
http://forum.xda-developers.com/viewtopic.php?p=83122#83122
I base all of these on an application called "Splashphoto" which is a demo version and can be found on www.handango.com
(the link was to long to copy as it messed up the view)
You can find the files under:
ftp://xda:[email protected]/BlueAngel/Tools
I hope I can also add them as downloads.
Comments, sugestions and better ideas are welcome.
edited 18/01/04 Finished part 3 Macros
Auto Install of applications based on a config file
Problem:
1) Every time I update my device I need to run a lot of setup.exe to reload all of my software.
Now this has got on my nerves and I would like to share the solution that I have found in the hope that somebody SMART can simplify it.
I base this example on the application "Splashphoto" in the combination of the autorun.exe found in the Extended_ROM.
You can modify the concept to your own liking by changing the install location, the number of install files
**Note** the supplied config.txt files is set to turn the touch screen off when you install.
Thus it will ONLY work if your cab file does NOT come up with a message that requires you to confirm it by hand on installation.
Such as "written for older version.." or "Is already installed reinstall?.." You can change that as written below.
Although you are able to install software from your desktop onto any location of your device I have not found a switch for this and am already way out of my depth. I would think that there has to be some command line that that the Cab file reacts to. I hope somebody SMART can Work this part out.
I have added all the needed files to: AutoInstall_Beta.rar and have tried to go into a deep explanation based my own limited understanding.
ftp://xda:[email protected]/BlueAngel/Tools/Autoinstall_Beta/AutoInstall_Beta.rar
Step 1
You will need to download this file, extract it and copy it to your storage.
This example uses "\Storage\Install"
Step 2
You will need to modify the following key to insure that autorun.exe points to the correct config.txt file.
HKEY_LOCAL_MACHINE\Comm\AutoRunCFG
Old value: \Exteneded_ROM\config.txt
New Value: \Storage\Install\config.txt
Step 3
Run \Storage\Install\Autorun.exe from your device.
This file will run the commands found in Config.txt
In this case
A) disable Touch screen (may be also the phone)
B) install SlashPhoto
C) Enable Touch screen (may be also the phone)
D) Reboot
AutoInstall_Beta.rar has the following files:
1: SplashPhoto.2577.CAB
Extracted cab file from demo version of SplashPhoto found under:
http://www.handango.com/
2: AutoRun.exe
Found on the Extended_Rom.
This file will run the commands found in Config.txt
3: Config.txt
Modified config.txt file with the only entry being SplashPhoto.2577.CAB
4: TPDisable.exe
Application to disable the touch screen (may be Phone function) while installing applications also found on the Extended_Rom
5: TPEnable.exe
Application to Enable the touch screen (may be Phone function) while installing applications also found on the Extended_Rom
6: Ruler.ARM.CAB
This is a freeware application that turns your display into a Ruler.
It has been added as it comes up with a message that you need to confirm.
**Note** if you add this to config.txt you will hang and need to reboot your device.
After reboot you will find the application under start\Ruler and it will work.
**UPdate** By removing the commands TPDisable.exe and TPEnable.exe from the config,txt
you are able to confim the install dialog as the touch remains active.
Understanding of Autorun.exe:
Based on the info I have picked up there seems to be 2 versions of autorun.exe, one uses a config.txt and one not. (this one does)
After a new upgrade of your device autorun is executed to install the software based on the carrier that you have all of whih is found under \Extened_ROM hidden folder.
I took this Idea modified the config.txt and ran autorun in a new folder on my device to find out that it installed all the software in the Exteneded_rom and NOT out of the folder I was in nor with the config file that I had.
This was not what I wanted and did not make me very happy.
So after some playing around with regedit I found
HKEY_LOCAL_MACHINE\Comm\AutoRunCFG with the value of \Exteneded_ROM\config.txt
This I changed to \Storage\Install\config.txt,
re ran the autorun and it worked thus giving me Proof of concept.
Understanding of Config.txt
EXEC:\Storage\install\TPDisable.exe
CAB: \Storage\install\SplashPhoto.2577.CAB
EXEC:\Storage\install\TPEnable.exe
RST: Reset
Click to expand...
Click to collapse
It seems that with the command EXEC you can execute a *.exe file such as turning the touch screen on and off
It seems that with the command CAB you can install an application.
It seems that RST reboots the device.
What would be nice is to work out if you can force the application to install in a different location (Storage Card)
Finding your cab files.
Most applications that are installed from your desktop will create a folder and deposit the cab files in it.
If your device is connected it will kick of the setup routine that will ask you for the install location and then execute the cab file.
It is recommended that your install the software this way first to see if you get a message on your device.
If the install falls under the clean versions then you can remove it with the stettings\remove Programs and modify your config.txt
In our SplashPhoto Case the default location is:
"C:\Program Files\SplashData\SplashPhoto for PocketPC\SplashPhoto.2577.CAB"
I have also found cab files under
"C:\Program Files\Microsoft ActiveSync\Name_of_Application"
Working out which CAB is the correct one.
The file names might be ???.mips.CAB, ???.arm.CAB, ???.sa.CAB, ???.sh3.CAB or ???.Cef.CAB
I am in luck as in our case there is no choice
Which is just as well as I have no Idea what they mean.
Hint: I use ARM as it seems to work and I its my cpu type.
So what is left?
1) Solving the problem of cabs that come up with a message such as Ruler.ARM.CAB
Solved:
TPDisable.exe ----> Seems to disable the touch screen
TPEnable.exe ----> Thus this would enable the touch screen.
So for the Ruler.ARM.CAB that asks gives us the "written for other version" the following will work with out a reset
Config.txt
CAB: \Storage\install\Ruler.ARM.CAB
Click to expand...
Click to collapse
2) finding a switch to set the location of the install to say "\Storage Card"
3) A little cab that turns config location on and off.
Does a regedit of our key with out having to change it by hand.
And has a drop down Browse function to for my "\Storage\Install" folder
Or a better solution than mine!!!!
Next thing I will try to cover is batch copy and del of links
Gee I hope this all was not a waste of your time reading it.
Edit 18/01/04 added Open 1 as solved
Corrected text about what TPDisable.exe, TPEnable.exe (which is turn Touch screnn on/off (may be the Phone funtion)
Updated the section on Ruler.ARM.CAB
Dos add-on to make folders, copy and delete on Device
Problem:
2) I have to create new folders under "Programs"
3) As I don’t like the default location of the links, I have to move the links into my new folders
I base this example on the application "Splashphoto" in the combination of the autorun.exe found in the Extended_ROM
as well as freeware version of RemoteCommand.x86_15_English
I would presume that you have installed the SplashPhoto as discribed in:
http://forum.xda-developers.com/viewtopic.php?p=83120#83120
You can modify the concept to your own liking by changing folder structure of your programs menu,
the number of new folder you would like to make or the number of links you want to move.
I have added all the needed files to: CopyLinks_Beta.rar
ftp://xda:[email protected]/BlueAngel/Tools/CopyLinks_Beta/CopyLinks_Beta.rar
I have tried to go into a deep explanation based my own limited understanding.
Step 1
You will need to download this file, extract it and copy it to your desktop.
This example uses "C:\Install"
Step 2
You will need to extract the RemoteCommand.x86_15_English.zip in a location of your choice.
Step 3
You will need to install RemoteCommand.x86_15_English on your desktop
The program is setup.msi and found in the zip file
Step 4
You need to be connected to your device and activesync needs to be running
Step 5
You will need to run the CopyLinks.bat in a dos box
Start menu -> Run -> Cmd ->Enter
In the dos box
C: [Enter]
Cd c:\install [Enter]
CopyLinks.bat [Enter]
The batch file will
1) Create a new folder under your Programs folder of your device called applications
\Windows\Start Menu\Programs\Applications
2) Copy the splashphoto.lnk to this folder
\Windows\Start Menu\Programs\Applications\SplashPhoto.lnk
3) Delete the old Link
\Windows\Start Menu\Programs\SplashPhoto.lnk
CopyLinks_beta.rar has the following files:
1: RemoteCommand.x86_15_English.zip
Download freeware desktop version of RemoteCommand from
http://www.freewareppc.com/utilities/remotecommand.shtml
2: CopyLinks.bat
Batch file to create a new folder, copy the link and then delete the original link.
Understanding of RemoteCommand:
The install of remoteCommand gives you a new file called Rcmd.exe which is like a Pocket PC version of dos.
It is not executed on your pocket Pc so don’t even try to look for programs\dos.
It is a command line add-on executed in a dos window that allows you functions like copy, del md
from your desktop onto your Pocket PC or from your Pocket PC to your Pocket PC.
It adds itself in the path statement and thus a batch file can be executed from anywhere.
** Note ** You have to be connected to your device and ActiveSync needs to be running.
Understanding of CopyLinks.bat:
Rem Make a folder under programs
rcmd md "\Windows\Start Menu\Programs\Applications"
Rem Copy Links into that folder
rcmd copy "\Windows\Start Menu\Programs\SplashPhoto.lnk" "\Windows\Start Menu\Programs\Applications\SplashPhoto.lnk"
Rem Delete the old Link
rcmd del "\Windows\Start Menu\Programs\SplashPhoto.lnk"
Click to expand...
Click to collapse
Gee I hope I don’t need to go into that.
So what is left?
1) Would be nice if one would check "on error" as the dos screen sort of zips past.
2) Think it would be nice to add a "CopyLinks.bat /Install" and "CopyLinks.bat /Uninstall" option.
As we are moving the links and creating new folders the "remove program" will not pick it up.
This way one could put the links back were they belong before removing the software with "Remove programs"
Or a better solution than mine!!!!
Next think I will try to cover is batch Entering of Registration codes.
As always I hope this all was not a waste of your time reading it
Macro to enter the Reg codes of software
Macro to enter the Reg codes of software.
Problem:
4) I have to enter registration codes on a number of applications.
I base this example on the application "Splashphoto" in the combination with the
demo version of Pocket Controller-Professional by SOTI Inc found on
http://www.handango.com/ (Link was to long to copy)
or
http://www.soti.net/default.asp?Cmd=Products&SubCmd=PCPro
I would presume that you have installed the SplashPhoto as discribed in:
http://forum.xda-developers.com/viewtopic.php?p=83120#83120
I would presume that you have copied the link as discribed in:
http://forum.xda-developers.com/viewtopic.php?p=83121#83121
You can modify the concept to your own liking by recording your own macros, cutting them into one file and running them.
I have added all the needed files to: Macro_Beta.rar
ftp://xda:[email protected]/BlueAngel/Tools/Macro_Beta/Macro_beta.rar
I have not added the Pocket Controller-Professional due to its size.
Step 1
Download Pocket Controller-Professional
Go to www.handango.com
Browse by Operating System -> Windows Mobile™ Smartphone
in search add -> Pocket Controller-Professional
The rest should be clear
*or*
http://www.soti.net/default.asp?Cmd=Products&SubCmd=PCPro
Hit the [try] button
Step 2
Insure phone is connected, activesync is running
install Pocket Controller-Professional on your desktop
Step 3
Run Pocket Controller-Professional and connect to device
File -> connect
you should see you device on your screnn.
Step 4
Download the Macro_Beta.rar
Unpack it to c:\install
Step 5
in Pocket Controller-Professional
in menu Tools -> Macro -> Play [mouse click]
Browse -> choose C:\install\SplashPhoto.cmd [OK]
This will run the macro that:
1) Starts SplashPhot
(Start -> Programs > Aplications > SplashPhoto)
2) In SplashPhoto goes to Preferences and opens the keyboard
(Tools > Preferences > Keyboard)
Not very flash I know
Understanding of Pocket Controller
This is a very useful piece of software that will allow you to use your device on your Desktop.
You can take snap shots or films of your devices display. Great to prove your point with support.
It has a dos box that in this version does not support Batch files.
It has a file explorer of both desktop and device.
And what I need for this Macro recording.
(Personal pick I admit to it )
Soti if you read this post:
Qestion Is there much point in having my device on desktop if I cant even copy a text out of notepad into it?
Macro_beta.rar has the following files:
SplashPhoto.cmd
Understanding SplashPhoto.cmd
This is a text file that records the mouse event on a X/Y postion as well as other actions
That is also its downfall as you links will move as they are sorted in your folder.
Add to this that the start menu might be of a different hight.
The itemes in the start menu might have changed order
SplashPhoto.cmd
MouseEvent 0x0 0x2444 0x800
SleepEx 0xc8
MouseEvent 0x1 0x2444 0x800
SleepEx 0xd48
MouseEvent 0x0 0x3777 0xe0cc
SleepEx 0xc8
...........
Click to expand...
Click to collapse
So what is left?
1) Work out if there is a option to input in a text mode
The help is not much help.
My thoughts would be along the line of
Menu "Start"
SleepEx 0xc8
Menu "Programs"
SleepEx 0xc8
.....
Click to expand...
Click to collapse
I will e-mail support.
As always I hope this all was not a waste of your time reading it
you might check this thread out :
http://forum.xda-developers.com/viewtopic.php?t=9333&highlight=restorator
Thanks M4io
Did and did I ever go swimming!!! Have sent PM to SP for help.
Solved Part 1: CAB that need Touch screen input on install
Solved Part 1: CAB that need Touch screen input on install
Edit 18/01/04
added Open 1 as solved
Corrected text about what TPDisable.exe, TPEnable.exe (which is turn Touch screnn on/off (may be the Phone funtion))
Updated the section on Ruler.ARM.CAB (by removing the TP* commands out of config.txt the screen is still active
thus you can confirm with ok
Updated post is the original
http://forum.xda-developers.com/viewtopic.php?p=83120#83120
MDAIIIUser said:
did I ever go swimming!!!
Click to expand...
Click to collapse
System error s0c4 : Unknown expression :lol:
M4io
Try Help->search> Unknown expression > Find > Swim*
Will return, System error s0c4. <Grin>
The Short of that is after reading that post I had more questions than answers.
Finished Part 3
Macro to enter the Reg codes of software.
http://forum.xda-developers.com/viewtopic.php?p=83122#83122
I think I would simply use backup intead
i would like to know which .cab files MUST be kept in there....
Well the extrom should have the resco cabs to be able to hack the reg. (or what ever reg application you want to use).
If you don't have that then you cant change the keys to point to the new auto run as well as the new config.txt
As you will be installing of a different location the unlock cab is not needed but would be nice to have.
My smart suggestion
Hi MDAIII user,
Gr8 thing to be posted, but I follow a bit smarter way....
I use SPB Clone to take the Cloning image of all the device and after updating or after say if device got hard reset, I just restore that clone image...it restores all the data including the call history SMS and the installed softs with registration codes....
It also restores the extended ROM if one has unlocked it and the storage data too!!!!!
I hope, this information will be useful for all
Would a clone of a 1.22 Rom which is restored on a device that you just upddated to a 1.40 rom not sort of mess it up??????
Hi Man,
Logically yes, but I hv not encountered yet......
Hi, I followed the thread: "How to reconstruct a dumped ROM"... (obviously I had, before, did a rom dump!). Now I have a directory named "dump" with several subdirs.
In the step 3) there is written: "After this step you can optionally edit the OS files with the proper tools"... now the question is: what are these proper tools? I searched in the forum, in the other threads but I didn't find anything... My needs are: to delete some programs that are in the rom (for example Pocket Word, Pocket Excel, other..) in order to obtain more space, but to install other tools at the free space.
Thanks in advance for your help....
Great question ! i can't help you , but i wait for answers ....
I asked the same thing the other day, and got an answer(thx again to him).
Actually, I'm doing it right now, as a test I've successfuly dumped and rebuilt lsvw's rom using enhanced imgfs tools batch files, nbdump.bat nbname.nb & nbbuild nbname.nb, now I'm removing files from the rom and maybe add some other, like that quick gps thingy, latest msn(optimized for trinity, removed vga resources), phone pad, and some other thing on my custom extrom.
I had the same doubt as you, but it seems that we're overcomplicating things, you can simply use the file explorer to remove files from that dir, beware of which files you remove/alter.. initflashfiles.dat has some operations to be done after flashing the device(creating folders,renaming files, moving them to startup/start menu/etc folders), I thought that if the file didn't exist on the windows folder, whatever invoques initflashfiles.dat would crash, but it doesn't seem to be the case, I haven't put this to test, but I've found several missing files on the initflashfiles.dat(and a typo, "floder", go figure what it means - lazy/rushed editing IMO), so there seems to be some tolerance to the operations contained in that file.
I won't edit the wiki until I'm 100% sure that what I know is correct, but to sum it up:
dump the files
add/delete files with explorer
edit the registry using rgucomp
edit initflashfiles.dat using the original windows notepad & use an hexeditor to remove the 1st 2 bytes
run NBBuild.bat to create the *.nb file
OSchecker.exe to validate the *.nb file
nbhtool.exe to create the nbh
flash it(I prefer the sd card method)
Code:
rgucomp needs setting _FLATRELEASEDIR environment variable to current directlry like this:
set _FLATRELEASEDIR=.
Dump default.hv/user.hv file to .reg with:
rgucomp.exe -nologo -o default.hv > default.reg, then add line "REGEDIT4" to the beginning of REG file.
Modify the .reg file to your liking, (save it in UTF-16 with CR+LF terminations and a new line at the end of the file) and convert it back to .hv
And don't forget to flash Olipro's Hard SPL before, it may save your device.
"and convert it back to .hv"
http://forum.xda-developers.com/showpost.php?p=1186635&postcount=1
(no wonder I didn't find this info, forum search is almost useless, googled for rgucomp and voilà, first result(above) right answer)
Xplode has created a really great kitchen for us to play with and have made my custom ROM with this kitchen. I think it’s so easy that everyone is now able to create his own ROM.
However, I would like to go a bit further: Instead of just using the kitchen someone has made, I would like to take any of the ROMs (e.g. Helmi_BA_WM2k5_AKU3.5_v1.4.CF2 R2 by baniaczek) and use that as my kitchen starting point.
I’ve been doing a lot of reading on the subject and this is what I’ve figured out so far. It is by no means complete (or maybe even correct), but I can certainly use some help to get further. Below information is not something I found out on my own, but is based on what is mentioned in other postings in different forums and websites and picking apart the batch files I’ve found in several kitchens.
My intention of this posting is to make a simple how-to wiki-page so anyone could create his/her own kitchen and from that kitchen create the best possible ROM for their own use: Add the packages they use and leave out the stuff they don’t need. My plan is not that everyone will start publishing the ROM they have created from a decompiled ROM since there would simply be to many chefs
------------------
Step 1: Convert the nbf file to an nba file.
The ROM file that you load on your phone is always called nk.nbf. However, before you can do anything with this file, you’ll need to convert to to nk.nba. For this you use a tool called “xda3nbftool.exe” (yes, the one you used to set the operator with)
The command to do the conversion is: xda3nbftool.exe -x nk.nbf nk.nba 0x20040521
After a minute or so, you’ll have a file called “nk.nba” that is the same size as the original
Step 2: Brake the nk.nba file into separate files.
The nk.nba file consists of 2 parts and need to be split. To do this split, you’ll use the following command:
prepare_imgfs.exe nk.nba
After the program has run, you’ll have 2 files: “imgfs_removed_data.bin” (0.5 mb) and “imgfs_raw_data.bin” (variable size, but e.g. 27 mb)
Obviously, the part we’re interested in is the bigger file of the 2.
Important remark: For other HTC platforms (like HTC Uni), the above command is executed with an extra parameter “-nosplit”. However, if that parameter is added the output is unusable when performed on the Blue Angel ROM.
Step 3: Extract the modules
Now you have the raw image file, you’ll need to extract it and convert it back into modules.
To do this, you’ll first need to place a file called “recmod.exe” in the directory where the imgfs_raw_data.bin file is. The next step is to run this command:
viewimgfs imgfs_raw_data.bin
This command will create a directory called “dump” and it will extract all the files and many directories in this directory. You can have a look in this directory and will probably recognize a lot of the names if you have been building ROMs on someone’s kitchen.
Step 4: Dividing the modules into SYS and OEM
Before you can do anything with these modules, you’ll first need to convert them to packages. To do this, you’ll need a piece of software called “Package Tool” (from Bepe)
Start the program and select the dump folder via “File\Open”. Once selected, it will give some basic information about the dump directory like OS etc.
Now select Tools\Build Packages, but before you start the command, make sure you have the file map.txt in the same directory as the Package Tools application. That way, many of the GUID numbers will be translated to readable names.
This program will just run a few seconds. After it is complete, you’ll now find a SYS and OEM directory in the dump directory. If everything went well, then there will be just 1 file left: initflashfiles.dat. All other files and directories that were there before are now in the SYS or OEM directory.
However, in the real world…. My experience with several ROMs I’ve tried, the Package Tools program is unable to properly complete the process for a, to me, unknown reason and when it has run, the directory is far from empty. Under the section “[Missing Files]” there is the information about files that are missing.
When you look in this file, you’ll see that all the missing files are not really missing but are directories with the same names and extension of the files that where not placed in the correct sub-directories. All is not lost yet. You can manually move the files to the mentioned directories. Once you have completed this job, you should still end up with a virtually empty dump directory.
There is also a chance, like with fake WM6 ROM on this forum, that after you move all the files that are mentioned in the “missing files”-section but still end up with a long list of files in the dump directory. If that’s the case, then obviously something went wrong. However, at this point, I don’t know why this happens. However, it does look like it’s not a good starting point to build your own ROM with.
Remark: The “Missing files” section may also contain entries like this one:
19a7f28b-6bc7-4fe9-b060-76ae3a65ff72
19a7f28b-6bc7-4fe9-b060-76ae3a65ff72.rgu (File)
This indicates that the RGU file is missing. However, this is not a big problem. Just create an empty file with the name in the mentioned directory. Later on, the BuildOS.exe program will use the empty file to place the correct information in the file.
Step 5: Move the 2 directories
Now you have the correct SYS and OEM files, you’re on you way to start cooking. Move the 2 directories to a different directory. (like how it is in Xplode kitchen for example) and remove the dump directory
------------ Now, I’m at this point and here I’m a bit lost ------
Step 6: Adding and removing
Now you are at the part that was the whole point of the exercise: Adding and removing packages. Adding premade packages is not too difficult: With some luck the packages you want to add can be found in a different kitchen or is otherwise available. (Helmi and others wrote some documents on how to create packages, so refer to those).
Take the packages and place them in the OEM directory.
Taking out packages should be as simple as well: Just move the directories of packages you don’t want to a different directory (you could also just delete them, but you might need them again later). When removing packages, there is of course a big chance that you remove something that is essential for a part of the OS that you are not aware of, so removing bit and pieces is more trail, error and a bit of luck.
(continued on the next post)
Building your own kitchen (Part 2)
(continued from above port)
Step 6a: Changing the registry
After you’ve followed step 1 to 5, you also extracted the default.hv and user.hv and can be found in SYS\Metadata directory. This is the registry that also contain all the bits and pieces of registry files that are in the packages (the .RGU files)
To modify these 2 files, use these commands:
SET _FLATRELEASEDIR=.
rgucomp -o default.hv -nologo > default.txt
rgucomp -o user.hv -nologo > user.txt
Add "REGEDIT4" in the beginning of the files and leave a blank line at the end of the file. Save the file as UTF-16 or Unicode format. (Ultra-Edit is very good editor for this)
After you have made the changes, you will need to covert them back to a format your PPC will understand. Use these commands:
SET _FLATRELEASEDIR=.
copy default.txt boot.rgu
rgucomp -b
ren boot.hv default.hv
copy user.txt boot.rgu
rgucomp -b
ren boot.hv user.hv
---------------
The next steps are basically the reverse from the first 5 steps: After taking the files apart, they now need to be put back into place.
----------------------------------
Step 7: Building the ROM up again.
To start building the ROM now, the first command you execute is BuildOS.exe.
This program will create the dump directory again and will copy the directories and files from SYS and OEM to the directory.
Remark: There are several versions of BuildOS on this forum. Xplode’s kitchen is using a more advanced version where you can easily select the packages you want to be included (instead of moving them in and out the directory). This is a much nicer approach and will make ROM building as simple as installing a regular piece of software on your PC. However, to keep it a bit more simple for this how-to, I’m assuming an older version of BuildOS.exe that will not ask for any user input. (The more advanced version will require you to modify XML files to add packages. It’s not too difficult, but does require a bit more background knowledge)
Step 8: Building the file image system
Now you have all the files and directories that make up the ROM, you’ll need to convert it back into a file image.
For this, you run the program BUILDIMGFS (without any parameters)
Remark: For some reason, but this program is very memory intensive. If you don’t have that much internal memory, or your swap file is too small, this program is never able to completely run. I’ve noticed this problem on more then 1 computer. (I have the source code of this program and tried if I could do something about this. However, the program is heavily relying on a DLL called “cecompr_nt.dll” and I expect that that DLL is the culprit. I’ve been searching for more information on this DLL, but have not found anything on the internet about it)
Important note: If you have added to many modules to your own ROM, the BUILDIMGFS process may crash. So, if this happens, you’ll need to go back to step 6 and remove some of the packages you’ve added. If you go back to step 6, you’ll need to delete the “dump” directory first.
This program will convert the dump directory back in the file “imgfs_raw_data.bin”.
Once the program has run, the file should be something like 27 mb again.
If the program does not crash and runs to completion, there is still a chance that you have added to many packages to your ROM. When the BUILDIMGFS is ready, it will show the number of free sectors at the end of file system image. If it is showing something like ffffef that means that it’s too big, since it should show a small (hexadecimal) number like 1e or something like that.
Since/If you want to add as many packages as possible to the ROM (instead of installing them in RAM) you may need to repeat step 6, 7 and 8 several times. To make your life a bit easier, make a screen shot of the OEM directory and keep track which one worked and which one didn’t). If you go back to step 6, you’ll need to delete the “dump” directory first.
Step 9: Building the nk.nba
To create the nk.nba file again, you need the file you just created in step 8, but also the other file created in step 2: imgfs_removed_data.bin (maybe this file is created by buildimgfs??)
When you have these 2 files in a directory together, run this command:
MAKE_IMGFS nk.nba
Once the program is complete, the nk.nba file should be something 32 mb again.
Important remark: For other HTC platforms (like HTC Uni), the above command is executed with an extra parameter “-nosplit”. However, if that parameter is added the output is unusable when performed on the BA ROM.
Step 10: Convert the nk.nba back into nk.nbf
The final step of the process: creating the file that our BA understands: nk.nbf
This step is into 2 pieces:
A: Update the check-sum of the nk.nha file with this command:
XDA3NBFTOOL -c -u nk.nba
B: Convert the file:
XDA3NBFTOOL -x nk.nba nk.nbf 0x20040521
As you can see, the last parameter is the same as in step 1. This is some sort of password that is needed to encode the file with.
Now, the ROM is complete and you’re ready to flash it on your BA. I assume that you know how to do that part
** Can I use Notepad to edit and save ???
I got error here. When I try to do
To modify these 2 files, use these commands:
SET _FLATRELEASEDIR=.
rgucomp -o default.hv -nologo > default.txt
rgucomp -o user.hv -nologo > user.txt
Add "REGEDIT4" in the beginning of the files and leave a blank line at the end of the file. Save the file as UTF-16 or Unicode format. (Ultra-Edit is very good editor for this)
After you have made the changes, you will need to covert them back to a format your PPC will understand. Use these commands:
SET _FLATRELEASEDIR=.
copy default.txt boot.rgu
rgucomp -b
ren boot.hv default.hv
copy user.txt boot.rgu
rgucomp -b
ren boot.hv user.hv
************************************************************
C:\Scoter Kitchen\Utilities\TOOLS>rgucomp -b
Microsoft (R) RGUComp Version 1.0.000
Registry file processor and hive builder.
Copyright (C) 2004 Microsoft Corporation All Rights Reserved.
built: Nov 19 2004 15:17:13
importing registry file ".\boot.rgu"...
InitRegistry FAILED in file ".\boot.rgu" within a few lines of line 1.
BuildBootHive: (RGUComp) !ERROR failed importing ".\boot.rgu"
wmain: (RGUComp) !ERROR failed building BOOT hive
****************************************************
Now, I got errors on line 3 of default.rgu and line 154 of user.rgu ...
I didn't edit those line at all .. Why errors !!
I put REGEDIT4 in the first line of both default.txt, and user.txt and leave 1 blank line at the end.
I saved it into unicode.
Thank you for the info, will sure to give it a try when I have time later on...
Thank you very much! Will try to localize ROM using OEM Packages.
How to localize WWE ROM to other language?
So I thought it would be worthwhile to create a thread focusing on modified "cappackage.pxp" files. These are the files which control the default carrier specific configurations. In my case, I am running the Aussie "Three" WM6 OS, however I wanted some, but not all, of the ATT customizations. For example, I wanted the proxy tool, the logos and the certs . . . Attached is a modified version of the ATT cappackage.pxp file. I had difficulty configuring WindowsMobileLive.cab and the HTC task manager to automatically install as part of this new file so I will post those cab files as well for convenience (for those who may want it).
If you have a customized cappackage.pxp, please post it in this thread and describe how it has been modified so everyone can decide which they may want to use.
Here are the changes I made to the cappackage.pxp file. Note, all of these .cab files should be possible to install directly simply by extracting from original ATT WM6 cappackage.pxp in case you happen to need one of them:
delete getgood.cab
delete getmail.cab
delete realplayer.cab
delete getmobitv.cab
delete cmradio.cab
delete attmallandmusic.cab
delete musicid.cab
delete jarguarrm.cab
delete gettelenav.cab
alter "Att_Settings.prov.xml" to remove messaging and Windows Mobile Live registry customizations
add install of new devstate.dll (exists in 3AUS cappackage.pxp and also in ROW 2.23 cappackage.pxp)
ABS
EDITED 12-30-2007: Note - this altered cappackage.pxp file is based off the "leaked" ATT WM6 ROM.
abs99 said:
So I thought it would be worthwhile to create a thread focusing on modified "cappackage.pxp" files. These are the files which control the default carrier specific configurations. In my case, I am running the Aussie "Three" WM6 OS, however I wanted some, but not all, of the ATT customizations. For example, I wanted the proxy tool, the logos and the certs . . . Attached is a modified version of the ATT cappackage.pxp file. I had difficulty configuring WindowsMobileLive.cab and the HTC task manager to automatically install as part of this new file so I will post those cab files as well for convenience (for those who may want it).
If you have a customized cappackage.pxp, please post it in this thread and describe how it has been modified so everyone can decide which they may want to use.
Here are the changes I made to the cappackage.pxp file. Note, all of these .cab files should be possible to install directly simply by extracting from original ATT WM6 cappackage.pxp in case you happen to need one of them:
delete getgood.cab
delete getmail.cab
delete realplayer.cab
delete getmobitv.cab
delete cmradio.cab
delete attmallandmusic.cab
delete musicid.cab
delete jarguarrm.cab
delete gettelenav.cab
alter "Att_Settings.prov.xml" to remove messaging and Windows Mobile Live registry customizations
add install of new devstate.dll (exists in 3AUS cappackage.pxp and also in ROW 2.23 cappackage.pxp)
ABS
Click to expand...
Click to collapse
Thanks, any idea if we can add another carrier in the carrier_db file that isn't there?
john_99 said:
Thanks, any idea if we can add another carrier in the carrier_db file that isn't there?
Click to expand...
Click to collapse
I honestly do not know. Sorry. You might ask Olipro as he seems to be very knowledgeable.
abs99, what tool did you use to repackage your PXP file. I've tried several archive tools to .ZIP and rename, but no joy. I've looked, but can't find any info on PXP file creation. Surely, I'm missing something simple here.
TIA
I found that "winrar" can handle the files without a problem. I had also noticed that the date stamps were the same for all the files in the original package, so I also use a tool called "stamp it" to set all the dates on all the files in the new package to the same original date.
thanks. I found that 7-zip is working too.
Now, the next step, I'm trying to mod the capdata.xml file and for whatever reason the device will not recognize it after my mods.
Here's my version of an ATT config file:
Code:
<?xml version="1.0" encoding="utf-8" ?>
- <Varnish xmlns="http://www.ephox.com/product/editliveforxml/document/Untitled20062026011007629">
<Version />
<Notes />
<UpgradePath>always|</UpgradePath>
- <PolA>
- <Certificates>
<File>CingularCert.prov.xml</File>
</Certificates>
- <Certificates>
<File>Class3_PCA_G2_v2.xml</File>
</Certificates>
- <Certificates>
<File>entrust_gssl_ca.prov.xml</File>
</Certificates>
- <Certificates>
<File>RSA1024RootCA.prov.xml</File>
</Certificates>
- <Certificates>
<File>RSA2048RootCA.prov.xml</File>
</Certificates>
- <Certificates>
<File>VeriSign_C3_PCA_G3v2.prov.xml</File>
</Certificates>
- <Ringtone>
<File>AT&T Tone.wav</File>
</Ringtone>
- <ProvXML>
<File>ATT_Settings.prov.xml</File>
</ProvXML>
- <ProvXML>
<File>MSFPHeartbeat.prov.xml</File>
</ProvXML>
- <ProvXML>
<File>ResetRequired.prov.xml</File>
</ProvXML>
- <InstallApp>
<File>WindowsLive.CAB</File>
</InstallApp>
- <InstallApp>
<File>ATT_Theme.CAB</File>
</InstallApp>
- <InstallApp>
<File>ProxyManager.CAB</File>
</InstallApp>
- <InstallApp>
<File>ATT_Content.cab</File>
</InstallApp>
- <ExtractZip>
<From>DevState.zip</From>
<To>\Windows</To>
</ExtractZip>
</PolA>
- <Welcome>
<WaitImage>E_PolishImage.bmp</WaitImage>
</Welcome>
- <Sweatshop>
<AccountName>GEN</AccountName>
<VarnishName>ENG</VarnishName>
<BuildName>005</BuildName>
<User>[email protected]</User>
<Environment>Sweatshop QA Staging</Environment>
<CoreVersion>1.9.9</CoreVersion>
<Treo750Version>3.0.0</Treo750Version>
<DateStamp>Wed Aug 22 6:10:15 PDT 2007</DateStamp>
</Sweatshop>
</Varnish>
Any thoughts? This is just a basic mod and plan to get more detailed configs in there once I figure out what I'm doing wrong.
TIA
The issue with this file may be that editor you are using is adding "white space". I found that some editors caused this to occur. I ended up the file in notepad to avoid the problem as it was a real mess to deal with any other way. You should open the original unedited file and your new edited file in notepad and compare both. For whatever reason, the OS does not like to deal with a properly formatted .xml file!
Thanks mate, the white space and file size were the culprit. Was trying to cheat and use MS xmlnotepad - very easy to use, but it added the whitespace as it made it pretty to look at. I also was trying to cram too much into my archive; the extracted archives need to fit in the 8.4mb along with the archive itself.
Attached is a custom CapPackage.PXP with the following (based from ATT 2.25 ROW, CapPackage.PXP):
ATT Theme
Regional Settings: US, - 5 EST
ExtROM mount and rename
Custom ringtone
Custom Sounds Settings
Delete poutlook.lnk from startup
Set Hello to ATT
Disable CAB security policy
Removed all ATT applications (CV, real, win live, etc)
TODO: Incorporate RegHacks of additional settings customization and tweaks (lots of typing...), right now I install and merge the apps I want after initial setup completes.
Cheers
HOW TO
***always a good idea to backup existing files before attempting any modification***
1. mount your extended rom (search for the cabs and instructions on this site)
2. copy the CapPackage.PXP from ExtendedROM\Partition to your PC
3. extract the contents to a folder named CapPackage on your PC (any ZIP compliant archive tool will do)
4. remove/add the *signed* cab files your desire (unsigned cab files simply get passed over)
5. open capdata.xml in epcEDIT or notepad.
6. add/remove the configuration information as desired - this is where some trial and error comes in trying to determine what commands control what function.
7. ZIP (no other archive format seems to work) the CapPackage folder to CapPackage.PXP (or rename .zip to .pxp).
8. copy to ExtendedROM and hardreset.
TODO:
-Hope to be able to post a list of commands for the XML to enable configure of most if not all device "settings"
-Hope to figure out a way to get unsigned cabs to install (present workaround is a zip extract and registry commands if the app isn't too complex (e.g. lots and lots of typing required)
--Not sure yet if reg hack setting "HKLM\Security\Policies\Policies' valuename '0000101a' to dword:1" will resolve this during initial setup
Okay, after getting my questions about how this all works and saves the space on the phone, I took the plunge and upgraded from 2.23ROW to 2.25ATT. Went smooth as butter, and I have a "decrapified" phone with the official, supported ATT release (just in case I have any problems and need support).
Of course, being a hacker, now I'm totally intrigued by this cappackage customization, and want to play with it myself. So, Tim et. al., two questions:
Does the capdata.xml file have to match the contents of the archive? Or, if something's missing, it's just ignored? I'd like to be able to delete some more stuff and remake the PXP file without having to hassle with the XML file and run into the problems you have (workable, but I just don't want to waste time on whitespace issues if I don't have to).
Does the carrierDB file need to stay in the extended ROM for any reason after install and setup? I'd like to archive it on my PC, and delete it from the extrom so I can use that space for general storage.
microsoft word has a wonderful xml file editor. rather than try and keep everything straight in that jumbled up mess you get out of notepad or some other editor, word indents all the xml, and makes it look like it should. it was a snap to edit. I used Winrar and opened the PXP file. I never extracted the contents. Just the capdata file. I edited it, and then put the edited version back into winrar. using winrar I deleted the files I didn't want. saved the archive and moved it back to the device.
dwallersv said:
Does the capdata.xml file have to match the contents of the archive? Or, if something's missing, it's just ignored? I'd like to be able to delete some more stuff and remake the PXP file without having to hassle with the XML file and run into the problems you have (workable, but I just don't want to waste time on whitespace issues if I don't have to).
Does the carrierDB file need to stay in the extended ROM for any reason after install and setup? I'd like to archive it on my PC, and delete it from the extrom so I can use that space for general storage.
Click to expand...
Click to collapse
1. The XML will bypass anything it can't actually do.
2. I have tried it both ways and feel like I've had no issues, but I have seen some reports of strange behavior without it. I currently have it in my ExtROM since I hard reset my device often as I test apps and config settings. If you don't hard reset very often then once the device is hard reset you may delete and gain an additional 1.45mb.
The thing I intend to work on next is creating a provisioning XML to call an external XML (outside of the cappackage). I'm hoping this way I will be able to strip even more out of the cappackage (literally everything but the capdata.xml) and hav an on the fly configuration capability and call installations and configuration from the SD card. Haven't had much time to play with it though.
Can someone help point me in the right direction to get start loading the cappackage. I can't seem to find how to mount the extended ROM. I did a search for it and everything that came up didn't explain it (or at least I didn't understand it if it did).
Hmm, I can't seem to find the original thread either. Really just registry entries, but the cab's make it easier.
See attached...
Run each in order, then soft reset
Cheers
FYI: You can use my cappackage (see pg 1) as a starting/reference point for building the extROM mount into the initial config process after hard reset...
Try this. ...............
sodak said:
Can someone help point me in the right direction to get start loading the cappackage. I can't seem to find how to mount the extended ROM. I did a search for it and everything that came up didn't explain it (or at least I didn't understand it if it did).
Click to expand...
Click to collapse
Thanks to both of you for the quick response
I don't know whether it is because of this or because of something else. But I started modding this CapPackage file, and all of a sudden my treo just started acting weird. I had to hard reset it several times throughout the day. Then I upgraded to the 2.25 WM6. And that is where **** really hit the fan (I upgraded and put my own CapPackage version in it). And after that I've had nothing but trouble. Soft resets didn't work anymore, it just crashed on the boot screen. Hard resets work, but really slow, takes about 20min. So now I'm re-upgrading to 2.25 and just leaving that CapPackage file alone for now .
The tale away message: Don mess with this unless you know what you're doing, which isn't me
-Robert
RESERVED for FAQs and HowTos. Cauz posting is limited to 10.000 chars, I'll move the FAQs and HowTos to this thread and links to them will be posted in the kitchen/ ROM thread. The first two posts in that thread are too limited for the flood of FAQs and HowTos to that kitchen! So please don't post into this FAQ/ HowTo thread!!!
FAQs: Kitchen
FAQs
Kitchen:
The right order to flash:
Make sure your phone is plugged to an AC or at least charged at 50 percent!!!
HSPL: Flash HSPL first. The provided version is located in "_PREREQ" folder.
See http://forum.xda-developers.com/showpost.php?p=2710548&postcount=1 for help flashing HSPL and most recent versions.
Radio: Flash after HSPL! (it should meet the "rilphone.dll" version in "EXT\SHARED\MY_Drivers\DRV_Rilphone_(VERSION)". The radio is
provided in "_PREREQ\Radio_(VERSION)" folder. Radios can be flashed via microSD card. (See below for instructions)
ROM: Should be flashed last! Your custom ROM will be placed in "RELEASE_Blackstone" folder after hitting the create
button in ervius kitchen. ROMs should be flashed via microSD card. (See below for instructions). Remember to hardreset after flashing
new ROMs.
Flashing via SD Card:
Make sure your phone is plugged to an AC or at least charged at 50 percent!!!
Rename any file (e.g. "ruu_signed.nbh") you wish to flash to "BLACIMG.nbh" and copy it to the root of your microSD folder.
Next start the OlliNex Bootloader: This is best achieved by shutting your device down (or remove the battery), hold down the
"volume down" hard button and SHORTLY press the "Power switch". As soon as the "tricolor bootloader" appears, release the
"volume down" hard button (or else the process will be cancelled). The loader automatically searches for the "BLACIMG.nbh" file
in the root of your microSD card. When the bootloader is prompting to flash, hit the "Power switch" and wait for the progress to finish!
It will say, that everything has been flashed o.k. HARDRESET after flashing a new ROM!!! (See below for instructions)
Hardreset:
Make sure your phone is plugged to an AC or at least charged at 50 percent!!!
If you just flashed your new ROM and the loader is halted, saying everything is fine, remove the back cover and the battery (Unplug AC
also, if plugged in). After putting everthing together again, hold dow "volume down" and "volume up" together and SHORTLY press
the "Power switch". As soon as the "tricolor bootloader" appears, release the two volume buttons (or else the process will be cancelled). The
bootloader will prompt you to press "volume up" to proceed the hardreset. After the process has finished, press "volume up" again to boot your ROM.
Phone freezes during initial boot:
There are several reasons, why the phone sometimes freezes during boot:
The most obvious one: Be patient! Stay cool! Keep calm!
Due to the new Windows mobile 6.5 release and the fully loaded packages (HTC and custom features) ROMs will need a bit more time for the initial
(first) boot! Just be patient! Drink a coffee!
If the bootloader doesn't switch to the Windows mobile logo and freezes while displaying the ROM version (smart mobility screen, with orange
infos), you forgot to check "Real WM 6.5 AKU" in ervius kitchen options.
If the initial boot stops during the customizing screen, this is an issue of the OEM files, mostly some missing app in
"OEM\BlackStone\0407\ConfigAP\config_AP.txt". So remove the lines containing an app, you removed from the selection in ervius kitchen
(e.g. Opera).
Many things don't work (like installing cabs):
There could be several reasons, why some programs and apps don't work:
Windows Mobile customizing dind't start: If this happens hard-reset and be PATIENT on first (initial) boot. Wait some additional minutes
BEFORE calibrating the screen and "first use" of the phone. Due to the new Windows mobile 6.5 release and the fully loaded packages
(HTC and custom features) ROMs will need a bit more time for the first (initial) boot! Just be patient! Drink a coffee!
You missed some packages, when building your ROM. Check that the packages marked "KEEP THIS!!!" are not set to "FALSE" and
doublecheck, that there are no duplicated packages!
Future system builds:
A merge will be easily possible, Ill also provide a batch script for that. (But that is one of my last tasks...) By now you only have to copy
the new system files and folders into SYS directory (e.g. "SYS\23009") and copy all the language specific folders from the old release to the
new one. (e.g. "\SYS\23003\SHARED\0407\" to "\SYS\23009\SHARED\0407\". This is not a difficult task. Be sure to get the system files of
a WVGA release. All modifications needed to make WM65 builds run on BlackStone devices will be put in "MY_Drivers", "MY_Packages",
"MY_RegTweaks", ... folders in "EXT\SHARED". So new system builds should directly work without great changes. Im still working on the
folder structure. If you got any improvements, let me know.
FAQs: External packages
External packages:
Owner information:
In "EXT\SHARED\MY_RegTweaks_XDA\REG_Owner_Info_XDA" is a sample owner information. Edit this by going to "Start=>Settings=>Personal=>
Owner information". Make sure under "options" both entries are marked. Export the the following registry key with "PHM RegEdit" (Utilities folder):
[HKEY_CURRENT_USER\ControlPanel\Owner] into your kitchen. (Replace app.reg in "EXT\SHARED\MY_RegTweaks_XDA\REG_Owner_Info_XDA" folder.
If you cooked your ROM or just downloaded the provided ROM without the kitchen and you think the info box is annoying, it can be
turned off, by going to "Settings=>Personal=>Owner info=>Options". Disable the two options available. Or disable "REG_Owner_Info_XDA" in the
kitchen, when buidling ROMs to avoid future displaying of the information.
Sprite Terminator:
In "EXT\SHARED\MY_Packages\APP_SpriteTerminator" you will find the base app. Sprite Terminator is a commercial software, for tracking and
remote controlling your phone, once it gets lost or stolen. Cooking this into the ROM is a nice security feature. (Not for the thief... ) With
this kitchen a demo version is provided, but it will not function, until you install the original CAB (from manufacturers site) and export the
registry keys and "spriteterminator.xml" into the kitchen, after configuring/ registering the app. The files in
"EXT\SHARED\MY_RegTweaks_XDA\REG_SpriteTerminator_XDA" are just for file structure and registry setting demonstration. Registry information
is stored in "[HKEY_LOCAL_MACHINE\Software\Sprite Software\SpriteGuard]".
Use "PHM RegEdit" (Utilities folder) to export the values and replace "app.reg" in "EXT\SHARED\MY_RegTweaks_XDA\REG_SpriteTerminator_XDA"
folder.
FAQs: General troubleshooting
General troubleshooting:
Power failure during flash/ BRICK:
Make sure your phone is plugged to an AC or at least charged at 50 percent!!!
If you bricked your phone due to a power failure or another flash failure, try to remove the battery and AC, put everything together and let
the phone charge (Fully charged when the LED placed on the "power switch" changes from orange to green). Try to access the "tricolor
bootloader" after your phone has fully charged (See "Flashing via SD Card"). Reflash your ROM, the process should now finish. For more
detailed troubleshooting see section "How to reflash Stock/Shipped SPL - STEP BY STEP - FOR WARRANTY REASONS ONLY!" under this
link: http://forum.xda-developers.com/showpost.php?p=2710548&postcount=1
Registry files (app.reg):
Watch out for empty lines in values and keep the reg file conventions (REGEDIT4), breaking those will cause a parsing error when building
the ROM. Make sure there is an emtpy line feed at the end of each *.reg file. Files are stored in MS notepads' unicode format. Double
check for missing qutoes! Pathes in values have double backslashes ("\\"). If you export a file with "PHM RegEdit" (Utilities folder), by
"right clicking" a key and choosing "Export..." make sure the export type is "WinCE Registration Files (*.reg)". Always check the exported
files in notepad for parsing errors.
ROM will not build:
Most errors are space related. Make sure you got at least 1,5GB of free space on the partition, where you placed the kitchen.
Make sure the kitchen is placed in the root of a partition (e.g. "D:\Blackstone_WM65_kitchen")
Be sure, that the kitchen contains no folders with blanks in their name.
If any errors occour while building the ROM with ervius kitchen, which are VB based, make sure you got
Microsoft .NET Framework 3.5 installed.
Time bomb:
No need to worry about them, I didnt have one in the last three releases, I think these are shipping versions for the OEMs, but MS is still
improving things (like the slider speed in this Version) and it is no hack like removing animations or sth. like this. Furthermore ervius kitchen
would autmatically remove timebombs if found. So releases with this kitchen can be always used.
WM65 lock:
Some users don't like the WM65 "slide lock" feature or want to use their own locking program. In cooked ROMs use
"PHM RegEdit" in "Utilities" folder of your device to disable the locking feature, as the following code shows:
Code:
[HKEY_CURRENT_USER\ControlPanel\Backlight]
"AutoDeviceLockEnable"=dword:00000000
In the kitchen there is also a registry entry for that:
"REG_AutoDeviceLock_ON" in "MY_REG_Tweaks". Just disable that, if you cook your own ROMs with the kitchen to disable autolock.
(I prefer to use it)
FAQs: Part X
Part X of the FAQs
FAQs: Temporarily fixes/ hints for different builds
Temporarily fixes/ hints for different builds :
23004
Bluetooth HTC Comm Manager:
For (de-) activating Bluetooth, don't tap the green switch, tap left of the switch on the text saying "Bluetooth" and watch your taskbar, if the icon appears/ disappears. The switch is not working in that version. (But the workaround has the same effect )
HowTos/ tutorials
HowTos/ tutorials
WM65 honeycomb icons:
For easy editing of honeycomb icons, directly on your HTC device, start "hComber" from tools folder in the start menu.
General info for the kitchen:
In "EXT\SHARED\MY_Packages\APP_AAA_Icons" you will find the package for the Windows mobile 6.5 honeycomb icons.
Under "files" you will find all the icons in PNG format (90x90 Pixel for WVGA and 24bit depth), keep the naming convention, when creating
new icons. ("Start_Icon_APPNAME.png") See your windows folder for the standard WM6.5 honeycomb icons (e.g. "Start_Icon_Solitaire.png")
for sample icons. Put all your new icons in "EXT\SHARED\MY_Packages\APP_AAA_Icons\files\".
After creating new icons, you will have to add them to the registry. Use notepad for editing "EXT\SHARED\MY_Packages\APP_AAA_Icons\0407\app.reg".
Normal apps:
You got a REG key for every "*.lnk" file in "Windows\Start menu\Programs\" folder. e.g.:
[HKEY_LOCAL_MACHINE\Security\Shell\StartInfo\Start\AIM.lnk]
"Icon"="\\Windows\\Start_Icon_AIM.png"
I think it is self explaining, that you have to add such a key for your app/ icon, according to the sample.
Folders:
Same thing for apps in folders (e.g. Startmenu's "Utilities" folder), you just have to to add the folder before the "*.lnk" file in the registry.
Folders are created using "app.dat" for each language (e.g. "EXT\SHARED\MY_Packages\APP_AAA_Icons\0407\app.dat"). See the file
(e.g. with notepad), it is self explaining. Add a new line for each directory. This way you can create your own directories in the start menu
folder.
Icons for folders are applied through a reg entry for the directory itself, e.g.:
[HKEY_LOCAL_MACHINE\Security\Shell\StartInfo\Start\Multimedia]
"Icon"="\\Windows\\Start_Icon_Folder_Multimedia.png"
these are also in the language specific app.reg files. (e.g. "EXT\SHARED\MY_Packages\APP_AAA_Icons\0407\app.reg" as stated above.
System Icons:
System icons are mostly described by CPL numbers. Changes to them can be made by editing:
"EXT\SHARED\MY_Packages\APP_AAA_Icons\app.reg". I devided these from the other ones, because they are not language specific and all
packages and fixes made by me are supposed to be used in multilanguage kitchens.
By the "*.pngs" name you know which number belongs to which system shortcut. If you update a package in one of the folders of
"EXT\BlackStone\COMMON\" (e.g. "TouchFLO 3D") these numbers will change. So you will have to update
"EXT\SHARED\MY_Packages\APP_AAA_Icons\app.reg" as well.
The packages CPL number can be found out by editing the *.rgu" (registry file) or "app.reg" of the package you updated.
(e.g. "EXT\BlackStone\COMMON\BlackStone_External_Packages\TouchFlo_3_0_32567_2\938d4209-f7c2-4ea5-9b57-a338c0c645f8.rgu")
Manila program launcher icons:
Create a PNG:
Use you favorite image manipulating program (e.g. GIMP). The PNGs are 128 x 128 pixels and 24bit, no interlace.
Save it to "MyTools\Icon_Tools\CFC_Tool\_PNGs\APP_NAME.png" (no spaces in name)
Use CFC GUI to convert PNGs:
Up to date versions in this thread: http://forum.xda-developers.com/showthread.php?t=437777
Browse to "MyTools\Icon_Tools\CFC_Tool" folder, run "cfc_gui.exe", press "F3" (or "File"=>"Select folder"), choose the path:
"MyTools\Icon_Tools\CFC_Tool\_QTCs". Choose "Tools"=>"Import from PNGs"=>"Yes", locate the folder, where your PNGs are stored.
After conversion has been done, you'll end up with some new files in "MyTools\Icon_Tools\CFC_Tool\_QTCs" folder. So you can close
"CFC GUI".
Compress the icon:
Start "MyTools\Icon_Tools\CFC_Tool\1_compress_to_cfc.bat". The new files are stored in "MyTools\Icon_Tools\CFC_Tool\_CFCs\"
Renaming the files:
Rename the files to the naming convention. (e.g.: "MPI_MY_AIM.qtc") by starting: "MyTools\Icon_Tools\CFC_Tool\2_rename_to_qtc.bat"
Correct last spelling issues like capitalisation.
Copying the files:
From your PC copy the compressed icon files in "MyTools\Icon_Tools\CFC_Tool\_CFCs\*.*" to your phone's storage card. To test the files
on your device open "Total Commander" from "Utilities" folder and copy them to "\windows" folder.
Testing the icons:
Start "PHM RegEdit" from "Utilities" folder. Navigate to: "[HKEY_LOCAL_MACHINE\Software\HTC\Manila\ProgramLauncher]" The folders from
"0" till "29" contain the different apllications and the icon link. Choose the one you want to change. (e.g. "10:"IconPath"="windows\MPI_MY_ICQ.qtc"")
SOFT RESET!
Exporting for the kitchen:
When everything works fine, start "PHM RegEdit" again and export the: "[HKEY_LOCAL_MACHINE\Software\HTC\Manila\ProgramLauncher]" key
to your storage card.
Copy the CONTENT! of the reg file into app.reg file in "EXT\SHARED\MY_Packages_EXPERIMENTAL\APP_Manila_ProgramsTab_ON\0407\app.reg"
into the kitchen folder. (For german translations, 0409 for WWE)
Copy the icon files from "MyTools\Icon_Tools\CFC_Tool\_CFCs\*.*" to "EXT\SHARED\MY_Packages_EXPERIMENTAL\APP_Manila_ProgramsTab_ON\files\*.*"
Enable "APP_Manila_Rhodium_QTC" and "APP_Manila_ProgramsTab_ON" in ervius kitchen! You are ready to have cooked in manila program launcher icons!
Hints:
"OEM\BlackStone\0407\OperatorPkg\mxipupdate_oemoperators_102.provxml" contains the OEM standard links. (These were commented out
as sample, changes should be made to "EXT\SHARED\MY_Packages_EXPERIMENTAL\APP_Manila_ProgramsTab_ON\0407\app.reg") instead.
Also reserved
Also reserved
another reserved post for HowTos
another reserved post for HowTos
HowTos/ tutorials
Porting new WM65 builds into the kitchen: (Part I)
Example on Da_G's source, build 23052:
Thread:
[OS][WM6.5.x] Latest Releases (23052), Porting, Tutorials, Tools, VM, etc.
In this example the new release build, we want to port to the kitchen is 23052. Build 23037 is used as the old build version and the language is "0407" (german). But you can use this guide for any new/ old build version (e.g. 23054/ 23016) and any language. To port other languages, just replace the the language specific code with the one for your language. (e.g. 0409=english; 040c= french; 041D=swedish)
Obtain needed files:
Initflashfiles.dat for all languages (for build 23052)
Code:
Filename: "initflashfiles-dat-all-langs.zip"
=> This file is needed for language specific WM65 links in your startmenu
0407 DEU German Deutschland (for build 23052)
Code:
Filename: "WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar"
=> These are the german MUI files for the WM65 build
0409 USA English United States (for build 23052)
Code:
Filename: "WM65-23052-CE-OS-5-2-4098-LANG-0409-DPI-ALL-RESH-ALL-RESV-ALL.rar"
=> This is needed for the device specific DPI (192 for BlackStone's resolution)
23052 XIP/SYS CE OS 5.2.4098 Lang 0409 DPI 192 RESH 480 RESV 640
Code:
Filename: "WM65-23052-CE-OS-5-2-4098-LANG-0409-DPI-192-RESH-480-RESV-640.rar"
=> This is the WM65 operating system (OS)
Extract OS build and MSXIPKernel
Source: WM65-23052-CE-OS-5-2-4098-LANG-0409-DPI-192-RESH-480-RESV-640.rar
Code:
Extract:
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0409-DPI-192-RESH-480-RESV-640.rar\23052"
To: "SYS\"
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0409-DPI-192-RESH-480-RESV-640.rar\Shared\23052\MSXIPKernel"
To: "ROM\Shared\23052\"
This is the WM65 build specific part of the kernel (MSXIPKernel), it changes with every release. So it has to be
updated in the kitchen, when testing new releases.
Copy OEMXipKernel:
Code:
Copy (including whole content):
Folder: "ROM\BlackStone\23037"
To: "ROM\BlackStone\23052"
This is the device specific part of the kernel (OEMXipKernel), its identical for each release, until HTC releases a
new BlackStone ROM, where we can dump a new device specific part.
Delete wrong resolutions:
Code:
Delete folder: "\SYS\23052\dpi_192_resh_480_resv_640"
Because BlackStone needs "dpi_192_resh_480_resv_800".
Create correct resolution folders:
Code:
Create folders:
"\SYS\23052\dpi_192_resh_480_resv_800"
"\SYS\23052\dpi_192_resh_480_resv_800\0407"
"\SYS\23052\dpi_192_resh_480_resv_800\COMMON"
Because BlackStone needs "dpi_192_resh_480_resv_800".
Extract correct resolutions files
Source: WM65-23052-CE-OS-5-2-4098-LANG-0409-DPI-ALL-RESH-ALL-RESV-ALL.rar
Code:
Extract: All folders ending in "*_dpi_192_resh_480_resv_800"
In this case:
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0409-DPI-ALL-RESH-ALL-RESV-ALL.rar\base_dpi_192_resh_480_resv_800"
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0409-DPI-ALL-RESH-ALL-RESV-ALL.rar\MediaOS_dpi_192_resh_480_resv_800"
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0409-DPI-ALL-RESH-ALL-RESV-ALL.rar\Phone_dpi_192_resh_480_resv_800"
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0409-DPI-ALL-RESH-ALL-RESV-ALL.rar\Redist_dpi_192_resh_480_resv_800"
To folder: "\SYS\23052\dpi_192_resh_480_resv_800\COMMON"
Extract DPI files:
Source: WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar
Code:
Extract: All folders ending in "*_0407_DPI_192_RESH_480_RESV_800".
In this case:
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar\Base_Lang_0407_DPI_192_RESH_480_RESV_800"
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar\Themes_Lang_0407_DPI_192_RESH_480_RESV_800"
To folder: "\SYS\23052\dpi_192_resh_480_resv_800\0407"
Create folder for language specific DPI files:
Code:
Create folder: "SYS\23052\DPI_192\0407"
Extract language specific DPI files:
Source: WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar
Code:
Extract: All folders ending in "*_0407_DPI_192".
In this case:
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar\Base_Lang_0407_DPI_192"
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar\Enterprise_Lang_0407_DPI_192"
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar\Entertainment_Lang_0407_DPI_192"
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar\Office_Lang_0407_DPI_192"
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar\Phone_Lang_0407_DPI_192"
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar\PhoneRedist_Lang_0407_DPI_192"
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar\Redist_Lang_0407_DPI_192"
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar\Transcriber_Lang_0407_DPI_192"
To folder: "SYS\23052\DPI_192\0407"
Create folder for language specific OS packages:
Code:
Create folder: "SYS\23052\SHARED\0407"
Extract language specific OS packages:
Source: WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar
Code:
Extract: All folders ending in "*_Lang_0407".
In this case:
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar\ADC_Lang_0407"
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar\AdobeFlash_LANG_0407"
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar\Autoupdate_Lang_0407"
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar\Base_Lang_0407"
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar\Bluetooth_Lang_0407"
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar\Browsing_Lang_0407"
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar\browsingie_LANG_0407"
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar\Bth_A2DP_Lang_0407"
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar\Bth_HID_Lang_0407"
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar\Bth_Watch_Lang_0407"
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar\CHome_Lang_0407"
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar\Enterprise_Lang_0407"
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar\Entertainment_Lang_0407"
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar\Fwupdate_Lang_0407"
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar\IPSECVPN_Lang_0407"
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar\IRDA_Lang_0407"
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar\MediaOS_Lang_0407"
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar\MSTag_Lang_0407"
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar\Office_Lang_0407"
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar\OneNote_lang_0407"
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar\Phone_Lang_0407"
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar\PhoneRedist_Lang_0407"
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar\Redist_Lang_0407"
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar\RemoteDesktopMobile_Lang_0407"
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar\Skybox_Lang_0407"
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar\Skymarket_Lang_0407"
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar\SqlCeMobile_Lang_0407"
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar\Transcriber_Lang_0407"
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar\VoiceCommand_Lang_0407"
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar\WelcomeCenter_Lang_0407"
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar\WindowsLive_Lang_0407"
Folder: "WM65-23052-CE-OS-5-2-4098-LANG-0407-DPI-ALL-RESH-ALL-RESV-ALL.rar\WMWidgets_LANG_0407"
To folder: "SYS\23052\SHARED\0407"
Extract initflashfiles.dat
Source: "initflashfiles-dat-all-langs.zip"
Code:
Extract:
File: "initflashfiles-dat-all-langs.zip\0407\initflashfiles.dat"
To: "OEM\BlackStone\0407\OEM_Lang_0407\initflashfiles.dat"
You may backup your old one, if you like. This is for creating links in WM65's startmenu.
Create folder for build specific extensions:
Code:
Create folder: "EXT\BlackStone\23052"
COPY THE DUMMY PACKAGES:
Code:
Copy:
Folder: "SYS\23037\SHARED\COMMON\FWUPDATE_Dummy"
Folder: "\23037\SHARED\COMMON\SQM_Dummy"
To folder: "SYS\23052\SHARED\COMMON\"
These are needed fo deactivating MS's home phoning functions (recommended). Deactivate
the corresponding "non dummy packages" (e.g. "SQM") and acrivate these ones in
ervius kitchen.
HowTos/ tutorials
Porting new WM65 builds into the kitchen: (Part II)
REDUCE SPACE:
Code:
Delete:
Folder: "SYS\23052\SHARED\COMMON\IRDA"
Folder: "SYS\23052\SHARED\0407\IRDA_Lang_0407\"
Because BlackStone has no IRDA. This is just an example. If you want to reduce more space, delete the
packages you like with their corresponding language. But remember, you don't have to delete them, you
can deactivate them in your ervius kitchen project, by doubleclicking the package, which sets it's
"Included" option to "False". So this package wont be build and doesn't waste space on your device.
RECMOD PACKAGES (the manual way):
Code:
Source: "TOOLS\RecMod.exe"
Create a shortcut of "RecMod.exe" to your desktop.
Navigate to:
"SYS\23052\SHARED\COMMON\browsingie\"
Drag and drop each "DLL folder" (e.g.: "browsui.dll") to the "RecMod.exe" shortcut on your desktop. A small
DOS windows will appear and close automatically. After that navigate to the folder of any DLL:
e.g.: "SYS\23052\SHARED\COMMON\browsingie\browsui.dll". You will notice a new DLL ("browsui.dll" in this case).
This is the unpacked version of the module. A module consists of at least three files: imageinfo.txt, imageinfo.bin,
S000. There can be more like S001, S002, S003 on so on. These modules are optimized for the BlackStone's (or any
other WM65 device) module memory. Due the module memory for the BlackStone being really limited, one has to make
files of some of them, or WM65 won't boot (Even with BlackStone native WM65 kernel, aware of WM65's slot 60 and 61).
After dragging and dropping all the files to your "RecMod.exe" shortcut, you will have to delete the modules.
Because in a windows file system a folder and a file cannot have the same name, you have to rename the folder, before
copying the new made "file DLL". e.g.: Rename "browsui.dll" to "browsui.dl" and then copy
"SYS\23052\SHARED\COMMON\browsingie\browsui.dl\browsui.dll" to
"SYS\23052\SHARED\COMMON\browsingie\browsui.dll". After that delete the module folder
("SYS\23052\SHARED\COMMON\browsingie\browsui.dl"). You will have to do this with every recmodded module.
I recommend to recmod the modules of at the following packages:
- Internet Explorer ("SYS\23052\SHARED\COMMON\browsingie")
- Microsoft Tag ("SYS\23052\SHARED\COMMON\MSTag")
Do not recmod the MUI files, these are small sized and not worth it. I do NOT recommend to recmond files
of the base as well. HTC has many modules in the new WM65 devices (like LEO/ FireStone). Modules
enhance speed and memory consumption. But because the module memory of the BlackStone is limited, you
cannot put too many of them into it.
Further information on modules will be posted later in the FAQ.
RESERVED
as u might have guessed, its reserved