[WM Kitchen] OsKitchen Zero v1.33.5: The Easiest & Most Complete Kitchen (20/10/2010)

Search This thread

airxtreme

Retired Recognized Developer
Feb 19, 2008
1,119
23
[WM Kitchen] OsKitchen Zero v1.33.5: The Easiest & Most Complete Kitchen (20/10/2010)

Index of this thread
  1. (This Page) General Informations, Download links, Screenshots
  2. Using OsKitchen Zero (Tutorial)
  3. Moving from Ervius Visual Kitchen to osKitchen
  4. Frequently Asked Questions
  5. Useful Resources (Links where to find the latest Windows Mobile Builds and EXT packages)

Description

What does this kitchen do that others don't? You should ask yourself what the other kitchens do that this one doesn't because it literally does everything: importing the ROM directly from the EXE updater, detecting all the informations to rebuild the ROMs from the ROM file itself (no more messy BAT/CMD to edit to get things working), sorting the packages with the best EXT packages conversion engine available (no more EXT packages with weird names or out of place), building ROMs for different languages in the same pass picking all the correct windows mobile packages (EA/NonEA/AH/CS/Transcriber/Uniscribe/Fonts) to use, directly installing packages on the devices without having to flash each time (package installer), automatically recmodding of packages (without touching any of the original files) to allow cooking windows mobile 6.5 ROMs using older kernels, automatic manila CFC compression to save space and improve speed (and supporting latest manila builds where CFCGui has issues) and much, much more while keeping all the user interface well organized and being extremely easy to use. Start the kitchen, import a stock ROM and go! Give it a try and find out yourself how it lives up the hype or if still unconvinced scroll down to see how much simple yet complete the kitchen is by looking at the screenshots.

Features

The kitchen has the most streamlined and self-explanatory UI you can find, it can natively import and rebuild ROMs for all the devices in the supported list without having to mess with any batch/cmd files, it shows detailed informations about every Windows Mobile package and warn about conflicts and unmet dependencies, it can build multilanguage ROMs in the same pass by automatically choosing all the right localization packages required for each language, it can import windows mobile builds of any kind, convert OEM packages/CABS/HTC Hotfixes directly to EXT packages, can automatically recmod/UPX and natively compress/patch manila manila files with CFC, it automatically detects older kernels and suggests all the right packages to recmod to get the ROM working, it checks the ROM integrity while building to avoid many common user mistakes, has a lot of tweaks directly selectable with just a click from the kitchen interface, it has the most advanced search system available and much more.

Supported devices
  • HTC: Artemis, Athena, Blackstone, Diamond, Elf, Gene, HD Mini, Herald, Hermes, Iolite, Jade, Kaiser, Leo, Mega, Nike, Opal, Polaris, Pharos, Quartz, Raphael, Rhodium, Sedna, Titan, Topaz, Trinity, Vogue, Whitestone (CDMA variants of all phones are supported as well)
  • Palm: Treo Pro
  • Sony-Ericsson: Xperia X1 (HTC Kovsky)
  • Samsung: i900/i910 (Omnia) (delete the giisr.dll in the OEMXIPKernel folder or the ROM won't boot)
  • Asus: P565 (XDA Zest) (even thought not officially on the list the kitchen can import the NB0 ROM extracted from the ABI file with p835abisplit2)
  • Other devices, with caveats: as long as you have tools to convert between NB and your phone format the kitchen should work fine unless platformrebuilder doesn't support your device (I.E. it crashes). If platformrebuilder DOES NOT support your device you can still put a dummy NK.exe from another device to stop platformrebuilder from crashing (be sure the NK version (6.1/6.5) is the same) and insert your own crafted XIP.bin (there's a setting in Advanced Tweaks to use a custom xip file).

Download link
(First time using osKitchen? Read the brief tutorial in the 2nd post)
v1.33.5 All in one package:

DISCLAIMER: This software is provided "as is" and I don't take any responsibility for any damage caused to phones or anything else. I added all sorts of integrity checks I could think of to prevent the generation of invalid ROM files and so far none of the thousands of users who downloaded the kitchen reported invalid ROM files but just like when flashing any cooked ROM don't forget that there is always the risk that the phone may end up bricked (due to defective usb controllers, defective cables, defective phone memory, wrong radio file, software interfering with the flashing tools, power outages, etc).

System requirements
  • Microsoft .NET 2.0 (.NET 3.0 and 3.5 are 2.0 based so those work as well), already preinstalled on most computers, the kitchen won't start without it so it's easy to find out if it's missing
  • The following three system requirements also are preinstalled on most computers; the kitchen will warn you if they are needed so don't worry installing them unless required:
    • Microsoft Visual Studio 2008 runtime, required by xidump during the importing process
    • Visual Studio 2003 (7.1) Runtime Libraries, required by platformrebuilder to solve the "cereg400.dll cannot be loaded" error message, required by XIDump to solve the "Failed to init decompression!" error message and required by IMGFSFromDump to solve the "Unable to load compression DLL!" error message. Copy those libraries in the Resources\Tools folder and if that still doesn't work in the system32 subfolder of your windows folder (the right subfolder for 64bit systems is syswow64)
    • XmlLite Update Package required to solve the "Unable to load LibNB.dll" errors (only for Windows XP SP2)

Changelog from v1.33.4 to v1.33.5
  • Fixed os.nb file deletion issue for devices with no sectorinfo

Changelog from v1.33.3 to v1.33.4
  • Fixed delete shadow order entries not being saved
  • Implemented internal manifest management to reduce disk overhead during package scanning
  • Implemented detection of registry values that are found without a preceding registry key specifier
  • Improved file copy and file deleting speed

Changelog from v1.33 to v1.33.3
  • Fixed issue with packages with duplicate files causing errors in the package installer
  • Fixed issues on CAB files with "\." InstallPath attribute
  • Un-tied Calibration Data and Skip Welcome screen settings
  • Fixed IMGFS cache not being applied correctly
  • Fixed issues when installing packages registry files containing multi_sz strings with the package installer
  • Fixed new packages sorting issue

Changelog from v1.32 to v1.33
  • Fixed issue when using a drive root directory as temp folder
  • Fixed a localization manager issue that was causing longer startup times
  • Fixed some issues in CAB file folder mapping
  • Fixed the kitchen truncating i780/i900 BIN files
  • Added error messages when the DPI or MUI settings are missing on the phone
  • The kitchen now allows importing ROMs even when the language folder is missing (multilanguage Samsung ROMs)
  • Added a warning when the initflashfiles/app.dat files are not Unicode
  • The kitchen now reads app.dat as ASCII when Unicode characters are not detected
  • Fixed issue in which the initflashfiles.dat file was left locked for a few seconds during the import process prompting a retry/cancel file operation
  • Added detection and parsing of DPI_ EXT subpackages

Changelog from v1.31 to v1.32
  • Implemented total integrity check that checks all the structure of packages, modules and every single line of initflashfiles/registry files for issues. All the issues within the package will be shown next to the package name in the packages list.
  • Added support for variables in initflashfiles.dat, app.dat to make localization easier (because the variables will be replaced with the correct localized folder when the ROM is built). The list of supported variables can be found in the FAQ of the official osKitchen thread.
  • Added “RAM Drive Mode” setting to have additional cleanups performed during the build process to reduce the space usage of the temporary folder
  • Fixed crash when trying to open a search result file that has a defective associated application
  • Implemented total integrity system: every package, DSM, module and initflashfiles file will be validated for integrity and all the problems detected will be shown with an error/warning icon on the left of the package
  • When importing a ROM the initflashfile values are saved with the converted hexadecimal values like the generated app.dat files
  • When importing a ROM the progress bar will now warn of temporary folder cleanup even when the import has failed
  • Removed the unnecessary PackagePath attribute from the project files
  • Fixed the kitchen crashing when the resources folder was missing or the command line parameters were wrong
  • Renamed universal package converter to universal package importer
  • Fixed LCID validation not checking the LCID length correctly
  • Fixed the pagepool size patching message reporting unlimited instead of the real size
  • In-line comments are now maintained when the initflashfiles is split during the ROM import
  • When importing a ROM the initflashfiles lines that are not valid will now be commented out
  • Removed the %LCID% variable as alternative to %ROM_LCID% in the ROM filename
  • The ROM filename variables replacement is now case-insensitive and the value of the variables has any non-filename friendly characters removed
  • Remove Uniscribe/Transcriber mutual exclusion warning
  • Improved error handling during the NBH generation process
  • Fixed error message during build when packages contain more than one RGU file
  • Fixed some registry entries being unrecognized when tabs were used for spacing
  • Fixed the recmod messagebox appearing twice when the device is selected and no is chosen as answer
  • Fixed the windows mobile build importer not deleting the imageinfo.txt files in modules
  • Implemented a rudimentary “Install Package on device” function that allows installing a package on the device to avoid having to flash the phone for every changed file. Currently only sends the main package (no LCID/res subpackages), doesn’t apply registry entries and applies initflashfiles entries with no variables replacement.
  • Fixed the kitchen crashing when the packages contained corrupted DSM files
  • Fixed WinCENLS_Lang_RTL_0401 detected as having the wrong syntax
  • Fixed error messages saying that the packages had a wrong syntax on _CS packages
  • Fixed Danish appearing as “da-dk” and “Portuguese” listed as “Portugese”
  • Fixed the locale listview showing the LCID in the country code column
  • Now the locale combobox shows the locale name and country instead of just the LCID
  • Implemented automatic Unicode detection in initflashfiles.dat files
  • Fixed the file copy operations continuing even after the non-resumable error message
  • Fixed package validation not working in the universal package importer/windows mobile build importer
  • Added an “Expand all” context menu entry for search results
  • Added warning when wince.nls ends up in both XIP and IMGFS partitions
  • The packages issues are now listed by subpackage
  • The “Install Package on Device” function now also includes the subpackages, the settings to compile the packages are extracted from the phone itself and all registry values except multistring/binary are added
  • Removed missing DSM warnings
  • Implemented binary entries support in the “Install Package on Device” function and fixed temporary folder issues
  • Fixed duplicate DSM creation in package properties and reduced the wait before the packageproperties form is shown
  • Fixed error message when loading old kitchen project files
  • Added support for REG_NONE registry keys
  • The kitchen GUI is now shown before the project files or imported ROM informations are automatically loaded
  • Fixed the new DSMs file for SYS/OEM packages being saved with a Guid different from the registry key one
  • Added support for REG_MULTI_SZ on “Install package on device”
  • Fixed the kitchen leaving old combo box values when loading projects referencing non-existing devices, profiles or windows mobile builds
  • Search now removes unnecessary wildcard characters from the search string when wildcard mode is enabled to improve search speed
  • Renamed “Empty project” to “New project”
  • Fixed crashes in “Install package to device” with some SYS/OEM packages
  • Implemented integrity check support for boot_ms.rgu and boot.rgu files
  • Removed TGTool from the kitchen archive
  • Disabled F5 refresh during ROM generation
  • Implemented path variables support in the “Install package on device” function (note: the WM build on the phone must be present in the kitchen and have the build number as folder name for the localization to work)
  • Fixed issue with "Install package on device" function and short filenames and multiple initflashfiles files
  • Halved the time required for project loading and packages list refreshing
  • Implemented IMGFS support for unicode characters
  • Implemented CE variables support in “Install package to device” function
  • Added HTC Oboe to the devices list
  • The sort column order is now reapplied after loading a project instead of defaulting to sorting by name
  • Fixes some issues with empty DSM files
  • Fixed crash when using unicode package names
  • Added check to prevent boot.rgu and boot_ms.rgu from being present in non-XIPKernel packages
  • Fixed the locales combo box not being refreshed after a new ROM has been imported
  • Fixed issue in which the kitchen would save a DSM file with random name instead of overwriting the correct DSM file if the source DSM file was corrupted
  • Implemented case insensitive manila.exe/mode9 CFC patch
  • Completed translation entries list for ROM importer
  • Added tools error handling in UPX/Recmod/PNG Compression/xidump/nbimagetool/TGTool/o2Util/ImgfsFromDump/OsNbTool/Platformrebuilder
  • Fixed erroneous error handling in imgfsfromdump that was causing file copy error messages if the tool failed
  • Fixed reduced OS file generation ignoring imgfsfromdump error messages
  • Fixed TSW/MST management not checking that the output file was correctly created
  • Fixed the kitchen ignoring missing custom user tools error messages and continuing the build process
  • Initflashfiles parsing now parses files as UTF8 when the UTF16 BOM header is not detected
  • The registry file validation now checks if the REGEDIT4 header is present
  • Fixed the locales selection combobox not detecting new language changes during refresh
  • Fixed “Install to device” function copying square resolution packages for some resolutions
  • Fixed LCID EXT packages lacking the RGU file not being moved into the correct main package folder
  • Fixed registry validation generating errors about dwords where values have initial spacing/tabulation
  • Added translation entries for the module validation messages
  • The kitchen now reads partitions informations from the OS.NB file and calls osnbtool with the proper partition numbers (to support older ROMs without ULDR)
  • The kitchen can now extract BIN files from more updaters (Samsung i780 and others)
  • Added translation entries for OS.NB generation error management
  • Added translation entries for the registry validation error messages
  • Improved error messages (added categories) on the error tooltips
  • Added translation entries for the package validation error messages
  • Added translation entries for the initflashfiles validation error messages
  • Added translation entries for the manifest validation error messages
  • Added initflashfiles variables for Application Data (%CE19%) and Program Files\Games (%CE8%)
  • The initflashfiles entries of imported CAB files are now mapped to the correct initflashfiles variables

How to use

Once unpacked the kitchen is ready for use, as soon as you start it you will be asked to import data from a stock ROM.

Screenshots

oskitchenv1321.png

oskitchenv1322.png

oskitchenv1323.png

oskitchenv1324.png

oskitchenv1325.png

oskitchenv1326.png

oskitchenv1327.png

oskitchenv1328.png

oskitchenv1329.png

oskitchenv13210.png


Tree Structure

The new kitchen structure is very simple however it requires a ROM to be imported for device configuration files to be generated. Always import a ROM for your device and start working on it.

  • Output - Where generated roms are saved
  • Projects - Where the project files are saved
  • Resources - Tools and other internal kitchen files, shouldn't be touched!
  • Sources - Contains all the files of your Windows Mobile builds and Devices
    • Devices
      • #DEVICE NAME# (You can use the name "Common" to share packages between multiple devices)
        • EXT Packages - All the EXT packages must go here
        • OEM Packages - All the OEM packages must go here
        • Profiles
          • #Device Profile Name# - Contains the "Device Informations.XML" file and all the various packages required for building the ROM
            • NBH Structure - Contains files required by the kitchen to rebuild the NBH correctly
            • OEMXIPKernel - The OEMXIPKernel with all the device drivers and native kernel must go here
            • NB Structure - Contains files required by the kitchen to rebuild the Os.NB correctly
            • ROM Parts - .ROM, .VM, imgfs-template.bin, romhdr.bin and other files needed for relocation and XIP/IMGS generation must go here
    • Windows Mobile Builds
      • #Windows Mobile Build Number#
        • All - The language-neutral DPI and Resolution files must go here
        • Common - All the language-neutral Main Packages must go here
        • #LCID FOLDER# - All the localized packages must go in the appropriate LCID folder

Additional files
 
Last edited:

airxtreme

Retired Recognized Developer
Feb 19, 2008
1,119
23
Using OsKitchen Zero

What you need to know first
The first thing you need to know is that Windows Mobile is not like a desktop operating system: you can't take a ROM from another phone and flash it on a different phone model because Windows Mobile relies on an extremely specific kernel and drivers that are compiled by the manufacturer for each device model. The Windows Mobile ROM contains only the Windows folder - yes, that's right, the ROM is just the plain Windows folder with NO subfolders - while every other folder (Windows\Start Menu, Program Files, My Documents and also Start Menu links etc.) is generated when the ROM boots the first time.

Every official Windows Mobile ROM is composed of packages. Microsoft and device makers create those packages to split windows mobile and the additional software into separated components. The real "Windows Mobile" code, interchangeable between phones, is stored in packages commonly called SYS packages, while everything the manufacturer added (the drivers and the additional applications for customization) are called the OEM packages. The EXT packages are "fake" packages that the kitchen uses to overcome the limitations of standard packages (for example EXT packages are often used to build multilanguage packages without having to create a single additional package for each language).

The Windows Mobile package structure is very simple. SYS and OEM packages are identical in structure and can only contain:
  • A DSM file (a file that contains some package informations, for example what other packages it require or what files it contains, most kitchens usually ignore this)
  • A RGU file (a registry file containing the registry entries associated with the packages)
  • Other files or modules that compose the package: the modules are folders that usually have file-like names (meaning they have an extension) and are a different way to store executable and DLL files on the ROM.
    Note: A SYS/OEM package cannot have any subdirectory with the exception of modules directories.

EXT packages - that as already said are "fake" packages that are converted to the Windows Mobile package format by the kitchen - have a different layout: everything goes into a "files" folder except the registry files (app.reg), dsm files, initflashfiles entry files (.dat) and there can be subfolders with a LCID (language-ID) code as name (a LCID is a string composed of four HEXadecimal numbers identifying a language, e.g. 0409 for US English, 040C for Spanish, etc.) to store language-specific files in the same structure (.dsm and .reg in another "files" subfolder, like for the main folder).

EXT packages are the main way custom packages or packages from other devices are distributed on websites and forums. Recent HTC ROMs contains additional informations that allow kitchens to automatically convert OEM packages to the more user-friendly EXT packages: this allows to quickly remove applications just by disabling the package; other ROMs instead have everything stored in a single package (usually OEMMisc) and require more work to remove original applications.

The only important thing you still need to know is how the rest of the filesystem structure (Program Files, My Documents, Start Menu, etc.) is created during the first boot. All the system folders are generated and populated during the first boot because, as wrote before, the ROM contains only the Windows folder. Windows Mobile has two facilities for the first-boot (hard-reset) initialization: INITFLASHFILES.DAT, a text file that is usually in the OEM_Lang folder and that only allows creating folders and copying files (Documents folders, default pictures, and most start menu entries are usually added this way) and .PROVXML files that are some XML files that can do other advanced operations (like setting registry keys, certificates, phone settings).

Usually anything you can perform with PROVXML files, that unfortunately are difficult to edit and require a large knowledge of the format, can also be easily performed using initflashfiles and registry files. You can use the app.dat and app.reg files inside EXT packages (or initflashfiles.txt and RGU files in OEM packages) to add entries to both the initflashfiles file and to the registry: the kitchen will use them properly during the building process adding the app.dat entries to initflashfiles.txt and the reg entries to the final registry (the ROM boots with a precompiled registry HV file but you'll usually never have to mess with that when using a kitchen).

Manufacturers also use some advanced proprietary post-install tools to install custom cabs, apply themes and operator configurations (e.g. AutoRun, RunCC). Those rely on TXT configuration (*config.txt) files and can cause trouble (error messages about missing files during the first boot) when removing packages or files from packages that those config file point to if you don't update them.

When you want to upgrade a Windows Mobile Build the changes in the start menu are usually so many that it's REALLY recommended to start over with a new fresh initflashfiles.txt for that windows mobile build (you can find one for each language in the Da_G's rollup threads). Since in the official ROMs the start menu entries are all crammed into the initflashfiles.txt file (the app.dat exists only in the "fake" EXT packages) you will have to either take the time to create app.dat files for each package or to copy back all the initflashfiles entries for OEM/EXT applications back after you put the new initflashfiles for the windows mobile build you changed. The kitchen will try to move the config.txt and initflashfiles entries inside the correct packages while the ROM is imported to make SYS upgrades easier.

Now that you know the basics you can proceed to the first step...

Preparing the kitchen (Importing the Device ROM file)
1. Download osKitchen Zero and unpack the ZIP archive
2. Find a ROM update file for your device: the kitchen can import the EXE from all HTC and some Samsung updaters or alternatively the raw ROM file (the main used extensions: .NBH,.BIN and .NB are supported)
3. Open osKitchen Zero and the Import ROM Wizard will open
4. Select the device you want to work on from the drop-down list, you can actually write any device name because the list is just for reference to make sure people understand that the kitchen has been tested only with those devices
5. Select the ROM update file
6. Click NEXT

Building your first ROM to make sure everything works
At this point the main kitchen window will open. Since you imported a ROM all the "Project Settings" options will only have one choice, go on and select the only available choice for all the fields (device model, device profile, windows mobile build, language) and clicking Yes in case the kitchen asks you to automatically apply recommended changes should be enough to build a bootable and working ROM. The only setting that has more than one choice is the Compression setting that if you want to have the most available space to add your programs should be set to "LZX", if you want to use another compression first make sure that your phone will be able to flash a bigger ROM file.

Now you can go ahead and build your first ROM by clicking the "Start building button": the kitchen will work for a while, then tell you that the building process has been completed and ask you if you want to open the Output ROM folder; you can then answer yes, take the ROM file that has been generated and flash it, making sure it's the right format for your phone.

NOTE: don't try importing a ROM made for other phones different than the one you want to flash because the kitchen will rebuild the ROM for the device you imported and not any other. If you flash a ROM made for another device you risk bricking your device.

Once the ROM works (if it's a supported device it should work fine on the first try, if it doesn't please report the issue here so we can help fixing it) you can start working on the ROM. So that's it, you're ready to go. If you read the "What you need to know first" you will probably already have an idea of where to start for whatever change you want to do.
 
Last edited:

airxtreme

Retired Recognized Developer
Feb 19, 2008
1,119
23
Moving from Ervius Visual Kitchen to osKitchen
  1. Open osKitchen and import the latest ROM for your device
  2. Replace the OEM packages
    • Locate the folder oskitchen created in your device (it's in the Sources folder) and delete all the packages in the "OEM Packages" folder
    • Open the OEM folder in the Ervius Kitchen folder, locate the folder of your device and copy&paste all the OEM packages that are inside the Common and the LCID folder (0409 for english, etc.) into a folder with any name you want inside the osKitchen "OEM Packages" folder (where you deleted them). The .VM folder can be ignored.
  3. Replace the EXT packages
    • Locate the folder oskitchen created in your device (it's in the Sources folder) and delete all the packages in the "EXT Packages" folder
    • Open the EXT folder in the Ervius Kitchen folder, locate the folder of your device and copy&paste all the folders that are inside the Common (usually empty) and the Windows Mobile Build subfolder (it's a 5-digit number) in the osKitchen "EXT Packages" folder (where you deleted them).
  4. Replace the OEMXIPKernel
    • Locate the folder oskitchen created in your device (it's in the Sources folder), go in the Profiles subfolder and then in its "default" subfolder, you'll find a folder named OEMXIPKernel, delete it.
    • Open the ROM folder in the Ervius Kitchen folder, locate the folder of your device, open the Windows Mobile Build subfolder (it's a 5-digit number) and then copy the OEMXIPKernel folder in the osKitchen "Profile\default" subfolder (where you deleted it).
  5. Import the Windows Mobile Build
    • Locate the oskitchen Sources folder, open the "Windows Mobile Builds" subfolde and delete any folder in there.
    • Create a new folder with the number of the windows mobile build present in ervius kitchen (5-digit number) and create three subfolders inside: Common, All and a LCID one for each language (0409 for english, etc)
    • Open the ROM folder in the Ervius Kitchen folder, locate the folder named "Shared", open its Windows Mobile Build subfolder (it's a 5-digit number) and copy the MSXIPKernel folder in the osKitchen Windows Mobile Build "Common" folder you created earlier.
    • Open the SYS folder in the Ervius Kitchen folder, locate the Windows Mobile Build subfolder (it's a 5-digit number) and proceed as following:
      • Everything in the "Common" subfolders of the folders that start with DPI_ goes in the "All" folder you created in the osKitchen Windows Mobile Build folder.
      • Everything in the LCID (0409 for english, etc) subfolders of the folders that start with DPI_ and of the SHARED folder goes in the LCID (0409 for english, etc) folder you created in the osKitchen Windows Mobile Build folder.
      • Everything in the "Common" subfolder of the "SHARED" folder goes in the "Common" folder you created in the osKitchen Windows Mobile Build folder.
 
Last edited:
  • Like
Reactions: HTC0017

airxtreme

Retired Recognized Developer
Feb 19, 2008
1,119
23
Frequently Asked Questions
  • How do I share packages between devices?
    • Create a folder named "Common" inside the "Sources" folder and put your packages (grouped in folders like standard device packages) in the "EXT Packages" and "OEM Packages" folders
  • Why is the final ROM file bigger or the total and available storage space lower than when using another kitchen?
    • It shouldn't. The other kitchens probably come with LZX compression selected as default while instead you told osKitchen to use XPR or None compression. You can also save additional space by using the ImplantXIP building method that removes the ULDR and some other wasted space.
  • How do I speed up the ROM generation process?
    • The kitchen needs to copy a lot of data and this may be a problem on computers where the hard-drive performance is low (i.e. laptops); antiviruses, firewalls and other applications may also interfere with the process speed therefore it's suggested to keep them off while the building process to save time. The kitchen allows setting another drive as a temporary folder to speed up the ROM generation and you can use a RAM drive (if you have enough RAM) or another hard-drive to improve the process speed.
  • How do I translate the kitchen?
    • When you start the kitchen for the first time if a translation file isn't found it will be created in "Resources\Localization" with the name matching your locale code (en-US.lng for american english, fr-FR.lng for french, it-IT.lng for italian, etc.): open that file with a text editor and translate all the text that comes after the "|||" separator (the text on the left of the separator shouldn't be touched, it's used both for reference and to identify the lines by the kitchen). Remember to post on this thread the translated files if you want them included in the official releases.
  • How do I reduce the space used by "Temporary OS.nb"?
    • It's suggested not to because the file will be needed in the next kitchen versions with the internal libnb NB dumping engine that will analyze the file, generate a new OS Structure.xml and delete it for good. The kitchen creates its own reduced files and keeps them in the Cache folder: if you really want to reduce the space used by the kitchen you can take the reduced file and replace the Temporary OS.nb with it.
  • How do I upgrade from an older kitchen version?
    • Simply delete oskitchen.exe and the Resources folder from your previous kitchen folder and put the new ones included in the archive or just unpack the archive overwriting the files. If you were using a version previous to 1.26 you will have to reimport a ROM and replace the imported packages with old ones (SYS/OEM/EXT/OEMXIPKernel (with nk.exe added inside) and remember to look at how the packages are structured). If you upgrade from 1.30 or below to 1.31 you may have to move your OEM Packages in a group subfolder because now the OEM packages are grouped like the EXT packages.
  • What are the variables that are supported in app.dat/initflashfiles.dat? (works only with 1.32 and higher)
    • %SystemDrive% (/)
    • %MyDocuments% (/My Documents)
    • %MyDocuments-MyMusic% (/My Documents/My Music)
    • %MyDocuments-MyPictures% (/My Documents/My Pictures)
    • %MyDocuments-MyVideos% (/My Documents/My Videos)
    • %MyDocuments-Templates% (/My Documents/Templates)
    • %ProgramFiles% (/Program Files)
    • %Windows% (/Windows)
    • %Windows-Fonts% (/Windows/Fonts)
    • %Windows-StartUp% (/Windows/StartUp)
    • %Windows-StartMenu% (/Windows/Start Menu)
    • %Windows-StartMenu-Programs% (/Windows/Start Menu/Programs)
    • %Windows-StartMenu-Programs-Games% (/Windows/Start Menu/Programs/Games)
 
Last edited:
  • Like
Reactions: HTC0017

airxtreme

Retired Recognized Developer
Feb 19, 2008
1,119
23
Last edited:
  • Like
Reactions: HTC0017

airxtreme

Retired Recognized Developer
Feb 19, 2008
1,119
23
Help wanted!

1. Kitchen translation

Translators for the kitchens are needed! The kitchen is now completely localizable and will generate a translation template in the Resources\Localization folder when it's started up the first time: that file can be easily edited to translate all the text of the kitchen (also include an about entry for credits) and the kitchen will validate it and keep it updated every time it's launched organizing the entries that are missing or not found. If somebody has some spare time to help me translate the kitchen in other languages please attach a translated lng file to a post so I can include it in the kitchen archive.

2. Informations about the WM6.5.X packages required for each language

In order to improve the automatic localized packages selection I need to know which of the following packages:

Code:
BronzeEA BronzeNonEA BronzeAH | CommonEA CommonNonEA | SYSTEM_DEFAULT_FONTS COMPLEXSCRIPT_FONTS | gb18030 | Riched20 Riched20_CS | SipAR | Transcriber UNISCRIBE | Webview Webview_CS

are needed for each of the following languages:

Code:
0402 BRG Bulgarian (Bulgary)
0404 CHT Chinese Traditional
0405 CSY Czech (Ceská republika)
0408 ELL Greek (Ellas)
0411 JPN Japanese
0412 KOR Korean
0415 PLK Polish (Polska)
0419 RUS Russian
041B SVK Slovak" (Slovensko)
041D SVD Swedish (Sverige)
041F TUR Turkish (Türkiye)
0424 SVN Slovenian (Slovenija)
0804 CHS Chinese Simplified
081A SPB Serbian (Latin)

If anybody knows the right packages needed for one (or hopefully more) of those languages please let me know.
 
Last edited:

jagan2

Recognized Developer
Jul 8, 2009
2,234
1,994
nice thread but i think u should post new sys files..... iam not able to cook may be still my format is wrong so i wanted to take reference but its old further links are broken
 

KilZone

Senior Member
Sep 14, 2008
145
1
@AirXtreme The kitchen is great and I like it way better than Ervius' VK, but I do have some small questions though. Since the split from the original osKitchen things have been a little vague, this is what I understand of it.

OndraSter developed the kitchens core code and you developed the new gui. Both trees still exist and both trees are 'updated' to RC3, but the version number in the .exe still says RC2.7.

Second, what is the latest version? Would it be possible to include build date and changelog in the first post, so it's easy to follow the updates to the kitchen? I know it's a lot to ask, but it would help a lot.

For the rest, great kitchen!
 

airxtreme

Retired Recognized Developer
Feb 19, 2008
1,119
23
@AirXtreme The kitchen is great and I like it way better than Ervius' VK, but I do have some small questions though. Since the split from the original osKitchen things have been a little vague, this is what I understand of it.

OndraSter developed the kitchens core code and you developed the new gui. Both trees still exist and both trees are 'updated' to RC3, but the version number in the .exe still says RC2.7.

It's because my sources are from 2.7 and didn't update the titlebar.

Second, what is the latest version? Would it be possible to include build date and changelog in the first post, so it's easy to follow the updates to the kitchen? I know it's a lot to ask, but it would help a lot.

The last version is the one in the first post, when I'll release other updates I'll update the first post and add a changelog.

Upload 23529 and I'll give this kitchen a whirl :)

Cheers.

It was already up but with the wrong name (28223), now names are fixed.
 

KilZone

Senior Member
Sep 14, 2008
145
1
Awesome, thank you that clears it I guess. Just forgive my stupidity... Downloading the ... latest ... version now (and updating my current version).

The last version is the one in the first post, when I'll release other updates I'll update the first post and add a changelog.
 

dancer_69

Senior Member
Jan 2, 2007
2,011
617
@Airxtreme

The version in 1st post supports Iolite?
I didn't see it in supported devices list.
 

dancer_69

Senior Member
Jan 2, 2007
2,011
617
I'll download now and test, thanks.

EDIT
I just checked and I allready have this version(Os kitchen 1.4 RC2.7)
and I have successfully build an nbh with this version, I just not flash it yet.
So, it's supported.
 
Last edited by a moderator:

rgb-rgb

Senior Member
Feb 18, 2007
385
3
Texas
Okay,
I just download the New ATT Shipped ROM from HTC and I was going to give this kitchen a try.

I extracted the files from the shipped ROM.

When I started the kitchen, it asked me to point to the RUU file. I selected the RUU_signed.nbh that I had just extracted and I get the message "There was no os.nb present i this file! Can't continue"

What am I doing wrong?
 

airxtreme

Retired Recognized Developer
Feb 19, 2008
1,119
23
Okay,
I just download the New ATT Shipped ROM from HTC and I was going to give this kitchen a try.

I extracted the files from the shipped ROM.

When I started the kitchen, it asked me to point to the RUU file. I selected the RUU_signed.nbh that I had just extracted and I get the message "There was no os.nb present i this file! Can't continue"

What am I doing wrong?

Give me the link to download the rom so I can try to see why no OS.nb is detected.
 

jagan2

Recognized Developer
Jul 8, 2009
2,234
1,994
I uploaded 28223 SYS/XIP files, if you want other builds tell me.

Thankyou actually i wanted to test the sys xip provided by u coz whenever i try to sort sys and xip myself for oskitchen it crashes platformbuilder.exe so will try the one made for oskitchen.

But plz plz its too big file for me. I request you to upload build 23529 qvga lang 0409 only and specially on mediafire or any uploading site which supports parallel downloads. I will be waiting ....:)
 

airxtreme

Retired Recognized Developer
Feb 19, 2008
1,119
23
Thankyou actually i wanted to test the sys xip provided by u coz whenever i try to sort sys and xip myself for oskitchen it crashes platformbuilder.exe so will try the one made for oskitchen.

But plz plz its too big file for me. I request you to upload build 23529 qvga lang 0409 only and specially on mediafire or any uploading site which supports parallel downloads. I will be waiting ....:)

http://www.mediafire.com/?zy0ejwmiwmy
 

Top Liked Posts

  • There are no posts matching your filters.
  • 4
    [WM Kitchen] OsKitchen Zero v1.33.5: The Easiest & Most Complete Kitchen (20/10/2010)

    Index of this thread
    1. (This Page) General Informations, Download links, Screenshots
    2. Using OsKitchen Zero (Tutorial)
    3. Moving from Ervius Visual Kitchen to osKitchen
    4. Frequently Asked Questions
    5. Useful Resources (Links where to find the latest Windows Mobile Builds and EXT packages)

    Description

    What does this kitchen do that others don't? You should ask yourself what the other kitchens do that this one doesn't because it literally does everything: importing the ROM directly from the EXE updater, detecting all the informations to rebuild the ROMs from the ROM file itself (no more messy BAT/CMD to edit to get things working), sorting the packages with the best EXT packages conversion engine available (no more EXT packages with weird names or out of place), building ROMs for different languages in the same pass picking all the correct windows mobile packages (EA/NonEA/AH/CS/Transcriber/Uniscribe/Fonts) to use, directly installing packages on the devices without having to flash each time (package installer), automatically recmodding of packages (without touching any of the original files) to allow cooking windows mobile 6.5 ROMs using older kernels, automatic manila CFC compression to save space and improve speed (and supporting latest manila builds where CFCGui has issues) and much, much more while keeping all the user interface well organized and being extremely easy to use. Start the kitchen, import a stock ROM and go! Give it a try and find out yourself how it lives up the hype or if still unconvinced scroll down to see how much simple yet complete the kitchen is by looking at the screenshots.

    Features

    The kitchen has the most streamlined and self-explanatory UI you can find, it can natively import and rebuild ROMs for all the devices in the supported list without having to mess with any batch/cmd files, it shows detailed informations about every Windows Mobile package and warn about conflicts and unmet dependencies, it can build multilanguage ROMs in the same pass by automatically choosing all the right localization packages required for each language, it can import windows mobile builds of any kind, convert OEM packages/CABS/HTC Hotfixes directly to EXT packages, can automatically recmod/UPX and natively compress/patch manila manila files with CFC, it automatically detects older kernels and suggests all the right packages to recmod to get the ROM working, it checks the ROM integrity while building to avoid many common user mistakes, has a lot of tweaks directly selectable with just a click from the kitchen interface, it has the most advanced search system available and much more.

    Supported devices
    • HTC: Artemis, Athena, Blackstone, Diamond, Elf, Gene, HD Mini, Herald, Hermes, Iolite, Jade, Kaiser, Leo, Mega, Nike, Opal, Polaris, Pharos, Quartz, Raphael, Rhodium, Sedna, Titan, Topaz, Trinity, Vogue, Whitestone (CDMA variants of all phones are supported as well)
    • Palm: Treo Pro
    • Sony-Ericsson: Xperia X1 (HTC Kovsky)
    • Samsung: i900/i910 (Omnia) (delete the giisr.dll in the OEMXIPKernel folder or the ROM won't boot)
    • Asus: P565 (XDA Zest) (even thought not officially on the list the kitchen can import the NB0 ROM extracted from the ABI file with p835abisplit2)
    • Other devices, with caveats: as long as you have tools to convert between NB and your phone format the kitchen should work fine unless platformrebuilder doesn't support your device (I.E. it crashes). If platformrebuilder DOES NOT support your device you can still put a dummy NK.exe from another device to stop platformrebuilder from crashing (be sure the NK version (6.1/6.5) is the same) and insert your own crafted XIP.bin (there's a setting in Advanced Tweaks to use a custom xip file).

    Download link
    (First time using osKitchen? Read the brief tutorial in the 2nd post)
    v1.33.5 All in one package:

    DISCLAIMER: This software is provided "as is" and I don't take any responsibility for any damage caused to phones or anything else. I added all sorts of integrity checks I could think of to prevent the generation of invalid ROM files and so far none of the thousands of users who downloaded the kitchen reported invalid ROM files but just like when flashing any cooked ROM don't forget that there is always the risk that the phone may end up bricked (due to defective usb controllers, defective cables, defective phone memory, wrong radio file, software interfering with the flashing tools, power outages, etc).

    System requirements
    • Microsoft .NET 2.0 (.NET 3.0 and 3.5 are 2.0 based so those work as well), already preinstalled on most computers, the kitchen won't start without it so it's easy to find out if it's missing
    • The following three system requirements also are preinstalled on most computers; the kitchen will warn you if they are needed so don't worry installing them unless required:
      • Microsoft Visual Studio 2008 runtime, required by xidump during the importing process
      • Visual Studio 2003 (7.1) Runtime Libraries, required by platformrebuilder to solve the "cereg400.dll cannot be loaded" error message, required by XIDump to solve the "Failed to init decompression!" error message and required by IMGFSFromDump to solve the "Unable to load compression DLL!" error message. Copy those libraries in the Resources\Tools folder and if that still doesn't work in the system32 subfolder of your windows folder (the right subfolder for 64bit systems is syswow64)
      • XmlLite Update Package required to solve the "Unable to load LibNB.dll" errors (only for Windows XP SP2)

    Changelog from v1.33.4 to v1.33.5
    • Fixed os.nb file deletion issue for devices with no sectorinfo

    Changelog from v1.33.3 to v1.33.4
    • Fixed delete shadow order entries not being saved
    • Implemented internal manifest management to reduce disk overhead during package scanning
    • Implemented detection of registry values that are found without a preceding registry key specifier
    • Improved file copy and file deleting speed

    Changelog from v1.33 to v1.33.3
    • Fixed issue with packages with duplicate files causing errors in the package installer
    • Fixed issues on CAB files with "\." InstallPath attribute
    • Un-tied Calibration Data and Skip Welcome screen settings
    • Fixed IMGFS cache not being applied correctly
    • Fixed issues when installing packages registry files containing multi_sz strings with the package installer
    • Fixed new packages sorting issue

    Changelog from v1.32 to v1.33
    • Fixed issue when using a drive root directory as temp folder
    • Fixed a localization manager issue that was causing longer startup times
    • Fixed some issues in CAB file folder mapping
    • Fixed the kitchen truncating i780/i900 BIN files
    • Added error messages when the DPI or MUI settings are missing on the phone
    • The kitchen now allows importing ROMs even when the language folder is missing (multilanguage Samsung ROMs)
    • Added a warning when the initflashfiles/app.dat files are not Unicode
    • The kitchen now reads app.dat as ASCII when Unicode characters are not detected
    • Fixed issue in which the initflashfiles.dat file was left locked for a few seconds during the import process prompting a retry/cancel file operation
    • Added detection and parsing of DPI_ EXT subpackages

    Changelog from v1.31 to v1.32
    • Implemented total integrity check that checks all the structure of packages, modules and every single line of initflashfiles/registry files for issues. All the issues within the package will be shown next to the package name in the packages list.
    • Added support for variables in initflashfiles.dat, app.dat to make localization easier (because the variables will be replaced with the correct localized folder when the ROM is built). The list of supported variables can be found in the FAQ of the official osKitchen thread.
    • Added “RAM Drive Mode” setting to have additional cleanups performed during the build process to reduce the space usage of the temporary folder
    • Fixed crash when trying to open a search result file that has a defective associated application
    • Implemented total integrity system: every package, DSM, module and initflashfiles file will be validated for integrity and all the problems detected will be shown with an error/warning icon on the left of the package
    • When importing a ROM the initflashfile values are saved with the converted hexadecimal values like the generated app.dat files
    • When importing a ROM the progress bar will now warn of temporary folder cleanup even when the import has failed
    • Removed the unnecessary PackagePath attribute from the project files
    • Fixed the kitchen crashing when the resources folder was missing or the command line parameters were wrong
    • Renamed universal package converter to universal package importer
    • Fixed LCID validation not checking the LCID length correctly
    • Fixed the pagepool size patching message reporting unlimited instead of the real size
    • In-line comments are now maintained when the initflashfiles is split during the ROM import
    • When importing a ROM the initflashfiles lines that are not valid will now be commented out
    • Removed the %LCID% variable as alternative to %ROM_LCID% in the ROM filename
    • The ROM filename variables replacement is now case-insensitive and the value of the variables has any non-filename friendly characters removed
    • Remove Uniscribe/Transcriber mutual exclusion warning
    • Improved error handling during the NBH generation process
    • Fixed error message during build when packages contain more than one RGU file
    • Fixed some registry entries being unrecognized when tabs were used for spacing
    • Fixed the recmod messagebox appearing twice when the device is selected and no is chosen as answer
    • Fixed the windows mobile build importer not deleting the imageinfo.txt files in modules
    • Implemented a rudimentary “Install Package on device” function that allows installing a package on the device to avoid having to flash the phone for every changed file. Currently only sends the main package (no LCID/res subpackages), doesn’t apply registry entries and applies initflashfiles entries with no variables replacement.
    • Fixed the kitchen crashing when the packages contained corrupted DSM files
    • Fixed WinCENLS_Lang_RTL_0401 detected as having the wrong syntax
    • Fixed error messages saying that the packages had a wrong syntax on _CS packages
    • Fixed Danish appearing as “da-dk” and “Portuguese” listed as “Portugese”
    • Fixed the locale listview showing the LCID in the country code column
    • Now the locale combobox shows the locale name and country instead of just the LCID
    • Implemented automatic Unicode detection in initflashfiles.dat files
    • Fixed the file copy operations continuing even after the non-resumable error message
    • Fixed package validation not working in the universal package importer/windows mobile build importer
    • Added an “Expand all” context menu entry for search results
    • Added warning when wince.nls ends up in both XIP and IMGFS partitions
    • The packages issues are now listed by subpackage
    • The “Install Package on Device” function now also includes the subpackages, the settings to compile the packages are extracted from the phone itself and all registry values except multistring/binary are added
    • Removed missing DSM warnings
    • Implemented binary entries support in the “Install Package on Device” function and fixed temporary folder issues
    • Fixed duplicate DSM creation in package properties and reduced the wait before the packageproperties form is shown
    • Fixed error message when loading old kitchen project files
    • Added support for REG_NONE registry keys
    • The kitchen GUI is now shown before the project files or imported ROM informations are automatically loaded
    • Fixed the new DSMs file for SYS/OEM packages being saved with a Guid different from the registry key one
    • Added support for REG_MULTI_SZ on “Install package on device”
    • Fixed the kitchen leaving old combo box values when loading projects referencing non-existing devices, profiles or windows mobile builds
    • Search now removes unnecessary wildcard characters from the search string when wildcard mode is enabled to improve search speed
    • Renamed “Empty project” to “New project”
    • Fixed crashes in “Install package to device” with some SYS/OEM packages
    • Implemented integrity check support for boot_ms.rgu and boot.rgu files
    • Removed TGTool from the kitchen archive
    • Disabled F5 refresh during ROM generation
    • Implemented path variables support in the “Install package on device” function (note: the WM build on the phone must be present in the kitchen and have the build number as folder name for the localization to work)
    • Fixed issue with "Install package on device" function and short filenames and multiple initflashfiles files
    • Halved the time required for project loading and packages list refreshing
    • Implemented IMGFS support for unicode characters
    • Implemented CE variables support in “Install package to device” function
    • Added HTC Oboe to the devices list
    • The sort column order is now reapplied after loading a project instead of defaulting to sorting by name
    • Fixes some issues with empty DSM files
    • Fixed crash when using unicode package names
    • Added check to prevent boot.rgu and boot_ms.rgu from being present in non-XIPKernel packages
    • Fixed the locales combo box not being refreshed after a new ROM has been imported
    • Fixed issue in which the kitchen would save a DSM file with random name instead of overwriting the correct DSM file if the source DSM file was corrupted
    • Implemented case insensitive manila.exe/mode9 CFC patch
    • Completed translation entries list for ROM importer
    • Added tools error handling in UPX/Recmod/PNG Compression/xidump/nbimagetool/TGTool/o2Util/ImgfsFromDump/OsNbTool/Platformrebuilder
    • Fixed erroneous error handling in imgfsfromdump that was causing file copy error messages if the tool failed
    • Fixed reduced OS file generation ignoring imgfsfromdump error messages
    • Fixed TSW/MST management not checking that the output file was correctly created
    • Fixed the kitchen ignoring missing custom user tools error messages and continuing the build process
    • Initflashfiles parsing now parses files as UTF8 when the UTF16 BOM header is not detected
    • The registry file validation now checks if the REGEDIT4 header is present
    • Fixed the locales selection combobox not detecting new language changes during refresh
    • Fixed “Install to device” function copying square resolution packages for some resolutions
    • Fixed LCID EXT packages lacking the RGU file not being moved into the correct main package folder
    • Fixed registry validation generating errors about dwords where values have initial spacing/tabulation
    • Added translation entries for the module validation messages
    • The kitchen now reads partitions informations from the OS.NB file and calls osnbtool with the proper partition numbers (to support older ROMs without ULDR)
    • The kitchen can now extract BIN files from more updaters (Samsung i780 and others)
    • Added translation entries for OS.NB generation error management
    • Added translation entries for the registry validation error messages
    • Improved error messages (added categories) on the error tooltips
    • Added translation entries for the package validation error messages
    • Added translation entries for the initflashfiles validation error messages
    • Added translation entries for the manifest validation error messages
    • Added initflashfiles variables for Application Data (%CE19%) and Program Files\Games (%CE8%)
    • The initflashfiles entries of imported CAB files are now mapped to the correct initflashfiles variables

    How to use

    Once unpacked the kitchen is ready for use, as soon as you start it you will be asked to import data from a stock ROM.

    Screenshots

    oskitchenv1321.png

    oskitchenv1322.png

    oskitchenv1323.png

    oskitchenv1324.png

    oskitchenv1325.png

    oskitchenv1326.png

    oskitchenv1327.png

    oskitchenv1328.png

    oskitchenv1329.png

    oskitchenv13210.png


    Tree Structure

    The new kitchen structure is very simple however it requires a ROM to be imported for device configuration files to be generated. Always import a ROM for your device and start working on it.

    • Output - Where generated roms are saved
    • Projects - Where the project files are saved
    • Resources - Tools and other internal kitchen files, shouldn't be touched!
    • Sources - Contains all the files of your Windows Mobile builds and Devices
      • Devices
        • #DEVICE NAME# (You can use the name "Common" to share packages between multiple devices)
          • EXT Packages - All the EXT packages must go here
          • OEM Packages - All the OEM packages must go here
          • Profiles
            • #Device Profile Name# - Contains the "Device Informations.XML" file and all the various packages required for building the ROM
              • NBH Structure - Contains files required by the kitchen to rebuild the NBH correctly
              • OEMXIPKernel - The OEMXIPKernel with all the device drivers and native kernel must go here
              • NB Structure - Contains files required by the kitchen to rebuild the Os.NB correctly
              • ROM Parts - .ROM, .VM, imgfs-template.bin, romhdr.bin and other files needed for relocation and XIP/IMGS generation must go here
      • Windows Mobile Builds
        • #Windows Mobile Build Number#
          • All - The language-neutral DPI and Resolution files must go here
          • Common - All the language-neutral Main Packages must go here
          • #LCID FOLDER# - All the localized packages must go in the appropriate LCID folder

    Additional files
    4
    Using OsKitchen Zero

    What you need to know first
    The first thing you need to know is that Windows Mobile is not like a desktop operating system: you can't take a ROM from another phone and flash it on a different phone model because Windows Mobile relies on an extremely specific kernel and drivers that are compiled by the manufacturer for each device model. The Windows Mobile ROM contains only the Windows folder - yes, that's right, the ROM is just the plain Windows folder with NO subfolders - while every other folder (Windows\Start Menu, Program Files, My Documents and also Start Menu links etc.) is generated when the ROM boots the first time.

    Every official Windows Mobile ROM is composed of packages. Microsoft and device makers create those packages to split windows mobile and the additional software into separated components. The real "Windows Mobile" code, interchangeable between phones, is stored in packages commonly called SYS packages, while everything the manufacturer added (the drivers and the additional applications for customization) are called the OEM packages. The EXT packages are "fake" packages that the kitchen uses to overcome the limitations of standard packages (for example EXT packages are often used to build multilanguage packages without having to create a single additional package for each language).

    The Windows Mobile package structure is very simple. SYS and OEM packages are identical in structure and can only contain:
    • A DSM file (a file that contains some package informations, for example what other packages it require or what files it contains, most kitchens usually ignore this)
    • A RGU file (a registry file containing the registry entries associated with the packages)
    • Other files or modules that compose the package: the modules are folders that usually have file-like names (meaning they have an extension) and are a different way to store executable and DLL files on the ROM.
      Note: A SYS/OEM package cannot have any subdirectory with the exception of modules directories.

    EXT packages - that as already said are "fake" packages that are converted to the Windows Mobile package format by the kitchen - have a different layout: everything goes into a "files" folder except the registry files (app.reg), dsm files, initflashfiles entry files (.dat) and there can be subfolders with a LCID (language-ID) code as name (a LCID is a string composed of four HEXadecimal numbers identifying a language, e.g. 0409 for US English, 040C for Spanish, etc.) to store language-specific files in the same structure (.dsm and .reg in another "files" subfolder, like for the main folder).

    EXT packages are the main way custom packages or packages from other devices are distributed on websites and forums. Recent HTC ROMs contains additional informations that allow kitchens to automatically convert OEM packages to the more user-friendly EXT packages: this allows to quickly remove applications just by disabling the package; other ROMs instead have everything stored in a single package (usually OEMMisc) and require more work to remove original applications.

    The only important thing you still need to know is how the rest of the filesystem structure (Program Files, My Documents, Start Menu, etc.) is created during the first boot. All the system folders are generated and populated during the first boot because, as wrote before, the ROM contains only the Windows folder. Windows Mobile has two facilities for the first-boot (hard-reset) initialization: INITFLASHFILES.DAT, a text file that is usually in the OEM_Lang folder and that only allows creating folders and copying files (Documents folders, default pictures, and most start menu entries are usually added this way) and .PROVXML files that are some XML files that can do other advanced operations (like setting registry keys, certificates, phone settings).

    Usually anything you can perform with PROVXML files, that unfortunately are difficult to edit and require a large knowledge of the format, can also be easily performed using initflashfiles and registry files. You can use the app.dat and app.reg files inside EXT packages (or initflashfiles.txt and RGU files in OEM packages) to add entries to both the initflashfiles file and to the registry: the kitchen will use them properly during the building process adding the app.dat entries to initflashfiles.txt and the reg entries to the final registry (the ROM boots with a precompiled registry HV file but you'll usually never have to mess with that when using a kitchen).

    Manufacturers also use some advanced proprietary post-install tools to install custom cabs, apply themes and operator configurations (e.g. AutoRun, RunCC). Those rely on TXT configuration (*config.txt) files and can cause trouble (error messages about missing files during the first boot) when removing packages or files from packages that those config file point to if you don't update them.

    When you want to upgrade a Windows Mobile Build the changes in the start menu are usually so many that it's REALLY recommended to start over with a new fresh initflashfiles.txt for that windows mobile build (you can find one for each language in the Da_G's rollup threads). Since in the official ROMs the start menu entries are all crammed into the initflashfiles.txt file (the app.dat exists only in the "fake" EXT packages) you will have to either take the time to create app.dat files for each package or to copy back all the initflashfiles entries for OEM/EXT applications back after you put the new initflashfiles for the windows mobile build you changed. The kitchen will try to move the config.txt and initflashfiles entries inside the correct packages while the ROM is imported to make SYS upgrades easier.

    Now that you know the basics you can proceed to the first step...

    Preparing the kitchen (Importing the Device ROM file)
    1. Download osKitchen Zero and unpack the ZIP archive
    2. Find a ROM update file for your device: the kitchen can import the EXE from all HTC and some Samsung updaters or alternatively the raw ROM file (the main used extensions: .NBH,.BIN and .NB are supported)
    3. Open osKitchen Zero and the Import ROM Wizard will open
    4. Select the device you want to work on from the drop-down list, you can actually write any device name because the list is just for reference to make sure people understand that the kitchen has been tested only with those devices
    5. Select the ROM update file
    6. Click NEXT

    Building your first ROM to make sure everything works
    At this point the main kitchen window will open. Since you imported a ROM all the "Project Settings" options will only have one choice, go on and select the only available choice for all the fields (device model, device profile, windows mobile build, language) and clicking Yes in case the kitchen asks you to automatically apply recommended changes should be enough to build a bootable and working ROM. The only setting that has more than one choice is the Compression setting that if you want to have the most available space to add your programs should be set to "LZX", if you want to use another compression first make sure that your phone will be able to flash a bigger ROM file.

    Now you can go ahead and build your first ROM by clicking the "Start building button": the kitchen will work for a while, then tell you that the building process has been completed and ask you if you want to open the Output ROM folder; you can then answer yes, take the ROM file that has been generated and flash it, making sure it's the right format for your phone.

    NOTE: don't try importing a ROM made for other phones different than the one you want to flash because the kitchen will rebuild the ROM for the device you imported and not any other. If you flash a ROM made for another device you risk bricking your device.

    Once the ROM works (if it's a supported device it should work fine on the first try, if it doesn't please report the issue here so we can help fixing it) you can start working on the ROM. So that's it, you're ready to go. If you read the "What you need to know first" you will probably already have an idea of where to start for whatever change you want to do.
    4
    This is what I found in my archive.

    seems like i packed a useful file it into the kitchen zip... maybe it's the right thing for ya.

    [edit]further research revealed this msvcr file
    1
    Moving from Ervius Visual Kitchen to osKitchen
    1. Open osKitchen and import the latest ROM for your device
    2. Replace the OEM packages
      • Locate the folder oskitchen created in your device (it's in the Sources folder) and delete all the packages in the "OEM Packages" folder
      • Open the OEM folder in the Ervius Kitchen folder, locate the folder of your device and copy&paste all the OEM packages that are inside the Common and the LCID folder (0409 for english, etc.) into a folder with any name you want inside the osKitchen "OEM Packages" folder (where you deleted them). The .VM folder can be ignored.
    3. Replace the EXT packages
      • Locate the folder oskitchen created in your device (it's in the Sources folder) and delete all the packages in the "EXT Packages" folder
      • Open the EXT folder in the Ervius Kitchen folder, locate the folder of your device and copy&paste all the folders that are inside the Common (usually empty) and the Windows Mobile Build subfolder (it's a 5-digit number) in the osKitchen "EXT Packages" folder (where you deleted them).
    4. Replace the OEMXIPKernel
      • Locate the folder oskitchen created in your device (it's in the Sources folder), go in the Profiles subfolder and then in its "default" subfolder, you'll find a folder named OEMXIPKernel, delete it.
      • Open the ROM folder in the Ervius Kitchen folder, locate the folder of your device, open the Windows Mobile Build subfolder (it's a 5-digit number) and then copy the OEMXIPKernel folder in the osKitchen "Profile\default" subfolder (where you deleted it).
    5. Import the Windows Mobile Build
      • Locate the oskitchen Sources folder, open the "Windows Mobile Builds" subfolde and delete any folder in there.
      • Create a new folder with the number of the windows mobile build present in ervius kitchen (5-digit number) and create three subfolders inside: Common, All and a LCID one for each language (0409 for english, etc)
      • Open the ROM folder in the Ervius Kitchen folder, locate the folder named "Shared", open its Windows Mobile Build subfolder (it's a 5-digit number) and copy the MSXIPKernel folder in the osKitchen Windows Mobile Build "Common" folder you created earlier.
      • Open the SYS folder in the Ervius Kitchen folder, locate the Windows Mobile Build subfolder (it's a 5-digit number) and proceed as following:
        • Everything in the "Common" subfolders of the folders that start with DPI_ goes in the "All" folder you created in the osKitchen Windows Mobile Build folder.
        • Everything in the LCID (0409 for english, etc) subfolders of the folders that start with DPI_ and of the SHARED folder goes in the LCID (0409 for english, etc) folder you created in the osKitchen Windows Mobile Build folder.
        • Everything in the "Common" subfolder of the "SHARED" folder goes in the "Common" folder you created in the osKitchen Windows Mobile Build folder.
    1
    I have extrated cryp32.dll from my cooked rom 29315 AKU 6.5.3.12.37 (enable/fix SHA2) using ROM Extractor. Maybe files can be copied to windows folder with total comander.

    Other option could be recmod the crypt32.dll & crypt32.dll.0409.mui folders with this tool: http://xdaforums.com/showthread.php?t=576027

    Not sure if it will work. Please report.

    Use at your own risk.