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

Index of this thread

(This Page) General Informations, Download links, Screenshots

Using OsKitchen Zero (Tutorial)

Moving from Ervius Visual Kitchen to osKitchen

Frequently Asked Questions

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:

http://xdaforums.com/attachment.php?attachmentid=423263&stc=1&d=1287585346

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

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

Visual Studio 2003 (7.1) Runtime Libraries, needed to solve the cereg400.dll cannot be loaded issue: http://www.mediafire.com/?mjmmgtwmion

ImplantXIP and ImgfsToNB tools, needed for the alternative building method: http://xdaforums.com/attachment.php?attachmentid=374999&stc=1&d=1281153923