PDA

View Full Version : WM6 XIP and SYS Porting Tutorial


Garmin
07-01-2008, 06:26 AM
nb: try it at your own risk,.



Okay, here i'll describe how to port XIP and SYS folder to build your fresh new ROM,.


- for a newbie, why do we need to port this? "its necessary to make a new OS and build"
ex: CE OS 5.2.2000 Build 20000.1.0.0


Then lets start working out,.

What do you need?
Atom WM6 Kitchen (see the usage and how to use HERE (http://forum.xda-developers.com/showthread.php?t=345735))
Hypercore Kitchen (see the usage and how to use HERE (http://forum.xda-developers.com/showthread.php?t=345735))
M'reloc (see the usage and how to use HERE (http://forum.xda-developers.com/showthread.php?t=331094))

Already have it all?
continue this step by step then,.


You have to extract the XIP from the source that usually came from OS.nb file (downloaded ROM that have a newer OS and build), here is the step by step,.

nb: The safest way, is to change the coredll.dll only, if you wish to change all of it, its up to you,.

1. Extract XIP.BIN from the source, by using XIP_Extract found in hypercore\tools\convert\XIP_extract,.

RomMaster.exe OS.nb. -w 5 -b 0x00310000 -x -o xip.bin ---------> There, you'll see a "command program", run it, then write like above,.



2. Run "XIPPort" then select "dump xip.bin", there, you'll have a new folder named "OUT" that contains with 2 folders inside, "FILES" and "MODULES",.

http://i225.photobucket.com/albums/dd142/heaven_approach/XIP1.png

---------> What's inside the FILES folder? it is the XIP that needed for building imgfs, to create diskimage_Ver.nb0, and make your device booting,.
---------> What's inside the MODULES folder? it is the module, that your device performance and works, depend on, so becareful okay,.



3. Open M'reloc, choose module coredll.dll inside "MODULES" folder,.

http://i225.photobucket.com/albums/dd142/heaven_approach/XIP2.png

---------> there, you have to change the V and D base, become atom V and D base (For Atom, V=03F4E000 , D=01FFC000)
---------> and, you have to change the V and D base, in the imageinfo.txt (inside the modules folder)



4. Copy coredll.dll and coredll.dll.txt and do the next step,.





Then, its time for you to change your diskimage_Ver.nb0 XIP, here's the step by step,.

1. Extract XIP.BIN from your diskimage_Ver.nb0, by run program "romtoolz" inside the TOOLS folder (Atom WM6 Kitchen),.

http://i225.photobucket.com/albums/dd142/heaven_approach/XIP5.png

---------> Choose the source (diskimage_Ver.nb0),.
---------> Then choose where do you wan the xip.bin to be extracted,.



2. Run XIPPort (you could find it in the same folder), then select "Dump Xip.bin" , you'll see new folder created, named "OUT" that contains with 2 folders inside ("FILES" and "MODULES")

------------------- its just like step number 2 above ----------------




3. Copy the file that have been M'reloced (coredll.dll and coredll.dll.txt) into MODULES folder, then, select "Realloc P" then, select "Write Maps",.

http://i225.photobucket.com/albums/dd142/heaven_approach/XIP6.png

---------> Open MAP Physical.txt, try to find, is there any "!!!!", if you have it, try to check, have you m'reloc the module correctly? and try to select "Realloc P" then "Write Maps" again,.



4. Select "build xip_out.bin" , you will have a new files named "xip.out.bin",.

------------------- Screenshot above (right) ----------------



5. Select "write xip_out.bin to:" then write like this,.

------------------- Screenshot above (right) ----------------


---------> 0018000C ----------> This is the default xip address for XDA ATOM
---------> diskimage_Ver.nb0 --> Means that the xip.out.bin will be written to the file named diskimage_Ver.nb0





nb: All this stuff must be located in one folder (diskimage, xipport, etc) or it wont work,.



----- finally, now you have a new OS ready to update your device ROM,. -----










GOOD LUCK,.

Happy ROM Cooking to all of you,.




- Kumara -

Garmin
07-01-2008, 06:27 AM
reserved,.

Garmin
07-01-2008, 06:32 AM
reserved too,.

MickyMax
07-01-2008, 07:42 AM
---------> 0018000C ----------> This is the default xip address for XDA ATOM


It's the same thing for Kaiser ? :confused:

udayrulz
07-01-2008, 08:20 AM
Thanks Garmin , another STICKY! ,waiting for you to complete this btw i need the link to build 2000 too :D , PM me hehe

yass
07-01-2008, 04:26 PM
Many thx for this, looking forward to read the complete version :) Please upload the necessary apps or link to where to find aswell :)

regards
yass

Garmin
07-01-2008, 06:05 PM
It's the same thing for Kaiser ? :confused:


no no no no,.

its not the same,.
try to ask someone expeienced on it, try to ask the addres of OS.nb for kaiser,. is not that actually,.

but, the procedure was just same,.

thanks,.

MickyMax
07-01-2008, 07:06 PM
no no no no,.

its not the same,.
try to ask someone expeienced on it, try to ask the addres of OS.nb for kaiser,. is not that actually,.

but, the procedure was just same,.

thanks,.

Thank you :)

lnks
08-01-2008, 02:18 PM
It's so nice to see this.
May I ask how to deal with in cooking the xip part of Atom XDA LIFE?
Thanks!

MickyMax
08-01-2008, 02:21 PM
Thank you for the nice screenshots ;)

udayrulz
08-01-2008, 02:24 PM
Any one got a link to Jiggs's kitchen ?

yass
09-01-2008, 06:20 AM
Garmin, can you please upload Jigg's Kitchen? :)

regards
yass

tjlabais
10-01-2008, 02:01 AM
It's so nice to see this.
May I ask how to deal with in cooking the xip part of Atom XDA LIFE?
Thanks!

I have posted this in the Atom Wiki: Disassembly of Other Device ROMs
http://wiki.xda-developers.com/index.php?pagename=Other_Device_ROM

BUT, as far as assembly is concerned, you have to ask an Atom Life user because there have been reports that assembly doesn't quite work.

Garmin
10-01-2008, 06:44 AM
JIGGS KITCHEN???

How many time i have reviewed that jiggs never release a kitchen in a public,.

be patient please,.

i'll upload it,.

thanks,.

udayrulz
10-01-2008, 07:39 AM
ThanX bud , can you come on yahoo?

scorpio16v
10-01-2008, 07:02 PM
BUT, as far as assembly is concerned, you have to ask an Atom Life user because there have been reports that assembly doesn't quite work.

Oh no, it semms to work. :)
See the attached pictures. Both pictures are from Atom Life. The 1908 is from ferryboat's chinese ROM. The 1978 is the XIP from an other build by ferryboat, cooked in the original WWE build but with 4 MB PP.

Garmin
11-01-2008, 01:52 AM
Oh no, it semms to work. :)
See the attached pictures. Both pictures are from Atom Life. The 1908 is from ferryboat's chinese ROM. The 1978 is the XIP from an other build by ferryboat, cooked in the original WWE build but with 4 MB PP.

Great job scorpio,. :p

abusalza
14-01-2008, 12:37 PM
Hi, bro... as we know on both atom/ exec rom we used some module from original wm5. like cecompr.dll
and i have using cecompr.dll from original wm6 hermes to my rom N-Touch. See my new map

00000000 - 01f901fd L01f901fd NUL

01f901fd - 01f901fd L00000000 Start: first DLL address
01f901fd - 01fd1000 L00040e03 NUL
01fd1000 - 01fd2000 L00001000 initialized data of region_1 ceddk.dll
01fd2000 - 01fe1000 L0000f000 initialized data of region_1 TrueFFS.dll
01fe1000 - 01fe2000 L00001000 initialized data of region_1 cecompr.dll
01fe2000 - 01fef000 L0000d000 initialized data of region_1 stratad_intel_l.dll
01fef000 - 01ff0000 L00001000 initialized data of region_1 regenum.dll
01ff0000 - 01ff1000 L00001000 initialized data of region_1 pm.dll
01ff1000 - 01ff2000 L00001000 initialized data of region_1 mspart.dll
01ff2000 - 01ff3000 L00001000 initialized data of region_1 imgfs.dll
01ff3000 - 01ff4000 L00001000 initialized data of region_1 fsreplxfilt.dll
01ff4000 - 01ff5000 L00001000 initialized data of region_1 fsdmgr.dll
01ff5000 - 01ff6000 L00001000 initialized data of region_1 fatutil.dll
01ff6000 - 01ff7000 L00001000 initialized data of region_1 fatfsd.dll
01ff7000 - 01ff8000 L00001000 initialized data of region_1 encfilt.dll
01ff8000 - 01ff9000 L00001000 initialized data of region_1 diskcache.dll
01ff9000 - 01ffa000 L00001000 initialized data of region_1 devmgr.dll
01ffa000 - 01ffc000 L00002000 initialized data of region_1 crypt32.dll
01ffc000 - 01ffd000 L00001000 initialized data of region_1 coredll.dll
01ffd000 - 01ffe000 L00001000 initialized data of region_1 certmod.dll
01ffe000 - 01fff000 L00001000 initialized data of region_1 cachefilt.dll
01fff000 - 02000000 L00001000 initialized data of region_1 busenum.dll
02000000 - 02000000 L00000000 End: last DLL address

02000000 - 03df2000 L01df2000 NUL
03df2000 - 03df8000 L00006000 Virtual base address of ceddk.dll
03df8000 - 03e44000 L0004c000 Virtual base address of TrueFFS.dll
03e44000 - 03e5a000 L00016000 Virtual base address of stratad_intel_l.dll
03e5a000 - 03e5e000 L00004000 Virtual base address of cecompr.dll
03e5e000 - 03e62000 L00004000 Virtual base address of regenum.dll
03e62000 - 03e71000 L0000f000 Virtual base address of pm.dll
03e71000 - 03e79000 L00008000 Virtual base address of mspart.dll
03e79000 - 03e83000 L0000a000 Virtual base address of imgfs.dll
03e83000 - 03e8d000 L0000a000 Virtual base address of fsreplxfilt.dll
03e8d000 - 03ea2000 L00015000 Virtual base address of fsdmgr.dll
03ea2000 - 03eab000 L00009000 Virtual base address of fatutil.dll
03eab000 - 03ebe000 L00013000 Virtual base address of fatfsd.dll
03ebe000 - 03eca000 L0000c000 Virtual base address of encfilt.dll
03eca000 - 03ed0000 L00006000 Virtual base address of diskcache.dll
03ed0000 - 03edc000 L0000c000 Virtual base address of devmgr.dll
03edc000 - 03f4e000 L00072000 Virtual base address of crypt32.dll
03f4e000 - 03fe4000 L00096000 Virtual base address of coredll.dll
03fe4000 - 03ff0000 L0000c000 Virtual base address of certmod.dll
03ff0000 - 03ffa000 L0000a000 Virtual base address of cachefilt.dll
03ffa000 - 04000000 L00006000 Virtual base address of busenum.dll
04000000 - 80580000 L7c580000 NUL

chartreux
14-01-2008, 01:57 PM
good point indeed since our ATOM imgfs only use XPR compression and no need to hanle LZX Decompress method, can save 8192 bytes for imgfs modules. :D

kitsda
16-01-2008, 11:27 AM
I try to "rommaster.exe os.nb ... from Hermes
but it have an error

[Error] File struct error, xip end offset is 0x7c90ee19, but file length
is 0x043aa800.


Please someone help

abusalza
18-01-2008, 11:21 AM
I try to "rommaster.exe os.nb ... from Hermes
but it have an error

[Error] File struct error, xip end offset is 0x7c90ee19, but file length
is 0x043aa800.


Please someone help

Download the lasted rommaster. U can search on development threads:)

afeng11
18-01-2008, 01:46 PM
Download the lasted rommaster. U can search on development threads:)

how to use a new version Certificate?how can i get a new version?thx

guoyuhang
18-01-2008, 01:57 PM
:):):)THANK

abusalza
18-01-2008, 02:51 PM
how to use a new version Certificate?how can i get a new version?thx

Please more specific?

afeng11
20-01-2008, 03:51 AM
Please more specific?

how to update Certificate in xip section?thx

abusalza
20-01-2008, 04:17 AM
how to update Certificate in xip section?thx

Dump your xip.bin and under to files folder u can see sysroots.p7b. This is a certificate roots. U could change this files from others devices. But a have not to change this file. i 've just adding some certificates from oem of atom life. And also oem.cer from atom life

kitsda
20-01-2008, 01:12 PM
Download the lasted rommaster. U can search on development threads:)

abusalza, Thank you very much for your reply
now I downloaded new version of Rommaster.exe
I follow this thread instruction and I can cook Atom
by porting hermes XIP..
But after my flash back to ATOM
It's cannot boot anymore, after I try many times and many way.
I found the way to solve this problem from XDA-wiki

- take battery out
- hold [camera button]+[Reset stylus] and insert battery in and release button..
- my Atom bootloader coming again ... cheers,,,

I don't know what procedure I am wrong ....
I will try again later....

Thank you very much,abusalza ...

SirNTD
26-01-2008, 03:34 AM
Thank you for the nice screenshots ;)

is this topic opened 4 atom life
i dunt know everything about atomlife rom
how to upgrade unlock the rom
plz help

Garmin
26-01-2008, 10:50 PM
Dump your xip.bin and under to files folder u can see sysroots.p7b. This is a certificate roots. U could change this files from others devices. But a have not to change this file. i 've just adding some certificates from oem of atom life. And also oem.cer from atom life


For the certificate, we have 3 kind of files,.

1. sysroot.p7b and sysroot.p7b imageinfo.txt (inside FILES folder (xip.bin dump) )
2. OEM.cer (Inside OEM Folder) - Atom use Quanta Priviledge Certificate
3. mxip_OEM.... (Inside OEMDriver Folder) - used to add a certificate to the root certificate


The most important things for certificate was "O2 Asia Secure", if its not there, then you'll have a problem,.


For now the OEM.cer i use builded on 2004, i have the newer (from OS Ready to be dumped) that builded on 2006, but i dont use it, because i think Quanta privilage wasnot thee,. :c

Premananda_laishram
31-01-2008, 04:29 AM
nb: try it at your own risk,.



Okay, here i'll describe how to port XIP and SYS folder to build your fresh new ROM,.


- for a newbie, why do we need to port this? "its necessary to make a new OS and build"
ex: CE OS 5.2.2000 Build 20000.1.0.0


Then lets start working out,.

What do you need?
Atom WM6 Kitchen (see the usage and how to use HERE (http://forum.xda-developers.com/showthread.php?t=345735))
Hypercore Kitchen (see the usage and how to use HERE (http://forum.xda-developers.com/showthread.php?t=345735))
M'reloc (see the usage and how to use HERE (http://forum.xda-developers.com/showthread.php?t=331094))

Already have it all?
continue this step by step then,.


You have to extract the XIP from the source that usually came from OS.nb file (downloaded ROM that have a newer OS and build), here is the step by step,.

nb: The safest way, is to change the coredll.dll only, if you wish to change all of it, its up to you,.

1. Extract XIP.BIN from the source, by using XIP_Extract found in hypercore\tools\convert\XIP_extract,.

RomMaster.exe OS.nb. -w 5 -b 0x00310000 -x -o xip.bin

---------> There, you'll see a "command program", run it, then write like above,.



2. Run "XIPPort" then select "dump xip.bin", there, you'll have a new folder named "OUT" that contains with 2 folders inside, "FILES" and "MODULES",.

http://i225.photobucket.com/albums/dd142/heaven_approach/XIP1.png

---------> What's inside the FILES folder? it is the XIP that needed for building imgfs, to create diskimage_Ver.nb0, and make your device booting,.
---------> What's inside the MODULES folder? it is the module, that your device performance and works, depend on, so becareful okay,.



3. Open M'reloc, choose module coredll.dll inside "MODULES" folder,.

http://i225.photobucket.com/albums/dd142/heaven_approach/XIP2.png

---------> there, you have to change the V and D base, become atom V and D base (For Atom, V=03F4E000 , D=01FFC000)
---------> and, you have to change the V and D base, in the imageinfo.txt (inside the modules folder)



4. Copy coredll.dll and coredll.dll.txt and do the next step,.





Then, its time for you to change your diskimage_Ver.nb0 XIP, here's the step by step,.

1. Extract XIP.BIN from your diskimage_Ver.nb0, by run program "romtoolz" inside the TOOLS folder (Atom WM6 Kitchen),.

http://i225.photobucket.com/albums/dd142/heaven_approach/XIP5.png

---------> Choose the source (diskimage_Ver.nb0),.
---------> Then choose where do you wan the xip.bin to be extracted,.



2. Run XIPPort (you could find it in the same folder), then select "Dump Xip.bin" , you'll see new folder created, named "OUT" that contains with 2 folders inside ("FILES" and "MODULES")

------------------- its just like step number 2 above ----------------




3. Copy the file that have been M'reloced (coredll.dll and coredll.dll.txt) into MODULES folder, then, select "Realloc P" then, select "Write Maps",.

http://i225.photobucket.com/albums/dd142/heaven_approach/XIP6.png

---------> Open MAP Physical.txt, try to find, is there any "!!!!", if you have it, try to check, have you m'reloc the module correctly? and try to select "Realloc P" then "Write Maps" again,.



4. Select "build xip_out.bin" , you will have a new files named "xip.out.bin",.

------------------- Screenshot above (right) ----------------



5. Select "write xip_out.bin to:" then write like this,.

------------------- Screenshot above (right) ----------------


---------> 0018000C ----------> This is the default xip address for XDA ATOM
---------> diskimage_Ver.nb0 --> Means that the xip.out.bin will be written to the file named diskimage_Ver.nb0





nb: All this stuff must be located in one folder (diskimage, xipport, etc) or it wont work,.



----- finally, now you have a new OS ready to update your device ROM,. -----










GOOD LUCK,.

Happy ROM Cooking to all of you,.




- Kumara -

Can these be applied for Asus P525

Destix
02-02-2008, 01:30 PM
Hi ! Could anyone help me, i couldn't find "romtoolz".
Tried here:
http://forum.xda-developers.com/showthread.php?t=310076
i can't find ATOM WM6 Kitchen as but it's ok coz Jiggs never release it
also tried this http://forum.xda-developers.com/showthread.php?t=338082
and this http://forum.xda-developers.com/showthread.php?t=331529

Garmin
04-02-2008, 02:41 AM
Hi ! Could anyone help me, i couldn't find "romtoolz".
Tried here:
http://forum.xda-developers.com/showthread.php?t=310076
i can't find ATOM WM6 Kitchen as but it's ok coz Jiggs never release it
also tried this http://forum.xda-developers.com/showthread.php?t=338082
and this http://forum.xda-developers.com/showthread.php?t=331529

really? have you check the thread above?? or read it carefully??

banzro
12-02-2008, 04:38 PM
Just a stupid question for a beginner...

Step 1...4 are on old rom?

Step 5... are on the new rom I like to make working?

Where do i copy step 4 to?


Thanks

Roman

banzro
12-02-2008, 04:48 PM
How do i know the value of -b in the "romtoolz" tool of my device (polaris / hermes) ?

Roman

phnikola
12-02-2008, 08:07 PM
Dear all, I wanted to dump XIP of one of the ROMs with HyperCore kitchen. Since it couldnt do it, I used msflshtool from Scoter kitcheen, and XIPport to dump it. It is dumped into OUT folder with FILES and MODULES subfolders.

Now I want to rebuild ROM again with Hypercore kitchen. For that I need to place parts of this dumped XIP to Hypercore/Build/XIP folder.
Which parts? I am clear with files from FILES directory, but inside MODULES there are folders with dll extension instead of the real dll files. How to convert them?

Thanks a lot in advance!

GPSSlovakia
18-02-2008, 07:57 AM
Dear all, I wanted to dump XIP of one of the ROMs with HyperCore kitchen. Since it couldnt do it, I used msflshtool from Scoter kitcheen, and XIPport to dump it. It is dumped into OUT folder with FILES and MODULES subfolders.

Now I want to rebuild ROM again with Hypercore kitchen. For that I need to place parts of this dumped XIP to Hypercore/Build/XIP folder.
Which parts? I am clear with files from FILES directory, but inside MODULES there are folders with dll extension instead of the real dll files. How to convert them?

Thanks a lot in advance!

I have similar question:

How to rebuild ROM with XIP and what folders structure is required ?
What files are neede and where ?

Thanks.

ababrekar
24-02-2008, 02:17 PM
I have similar question:

How to rebuild ROM with XIP and what folders structure is required ?
What files are neede and where ?

Thanks.

you will need to copy the boot.rgu from xip/files/ and paste in the xip folder alongwith the xip.bin file.. that all u need to build ur rom in hypercore

ababrekar
24-02-2008, 02:27 PM
Okay, here i'll describe how to port XIP and SYS folder to build your fresh new ROM,.

- for a newbie, why do we need to port this? "its necessary to make a new OS and build"
ex: CE OS 5.2.2000 Build 20000.1.0.0

hi garmin. nice article brother.. very helpful.. just to be doubly sure before bricking my device :), i have one question. this is for my gene which has mun_rus's WM6 rom (my signature)

I have the coredll.dll folder from WM6 ROM in XIP dump
I have the coredll.dll folder from some other WM6.1 ROM in XIP dump
I have the .ROM & .VM folders from WM6 ROM in SYS dump
I have the .ROM & .VM folders from some other WM6.1 ROM in SYS dump
Now to port or to upgrade the WM6 ROM to WM6.1, should I just run the M'reloc to port the coredll.dll folder from WM6 to WM6.1 (as explained by you) and run the G'reloc to port the .ROM & .VM from WM6 to WM6.1?After doing this should I just copy these reloced files and folders to the WM6 rom dump and hope that the OS is upgraded to WM6.1 now? Hoping to read a reply from an expert like you (definately need an expert guidance :))

j.vd.spank
02-04-2008, 07:38 PM
Dear all, I wanted to dump XIP of one of the ROMs with HyperCore kitchen. Since it couldnt do it, I used msflshtool from Scoter kitcheen, and XIPport to dump it. It is dumped into OUT folder with FILES and MODULES subfolders.

Now I want to rebuild ROM again with Hypercore kitchen. For that I need to place parts of this dumped XIP to Hypercore/Build/XIP folder.
Which parts? I am clear with files from FILES directory, but inside MODULES there are folders with dll extension instead of the real dll files. How to convert them?

Thanks a lot in advance!

I have the same question.. How can I rebuild the dll's? So I can put them in the ROM/XIP/ folder of HyperCore...

homer285
07-07-2008, 01:02 PM
Actually I this method by Garmin works fine for WM5 and WM6 but for WM6.1 all modules need to change address and replace, then merely drop all modules and files intact into ROM/XIP minus the .txt files and use Bepe's extended kitchen in route directory, as for SYS,
Open your old SYS folder and copy the .VM and WinCENLS_WWE folders into your new SYS folder
Go to your old SYS\Shell and copy shell32.exe and shellres.dll into your new SYS\Shell