PDA

View Full Version : To ROM cookers: working on a nice program for making ROMs


schaps
27th April 2007, 11:58 PM
Hello everybody!
Even if this is my first post on this forum, I use to visit this useful place since years, I tried many of those great WM6 ROMs made by our ROM cookers (thanks to all), then I tried to cook my own ROMs using tools recommanded in the Wiki.
But those kitchen tools weren't conveignent for my use, it was a lot of work and patience for making ROMs, we need to use many different programs and scripts, and I thought that the cooking process could be really simplified using an unified graphical interface like dutty's tool. I was patiently waiting for his Hermes Rom Koch V2, but finally I started to develop my own kitchen tool! :)

Here are some features of this program:
- ROM file manager (to add/delete/extract files or to create shortcuts)
- ROM layout editor (to edit init flash files)
- Registry editor (to modify/import/export default & user registry)
- CAB install files integration
- ROM creation from original OS image or dump directory

I posted some screenshots for better explanations. ;)

This program simply use aWaiter and ImgFS tools for ROM creation/extraction.

For now I still have a lot of work on it, but I would like some advises from experienced developers on this forum, because even if my program works, I would like to know if the cooking process is porper and safe, and how I could improve it (for example using internal functions for ROM creation/extraction instead of external programs, implementing NBH tools,...).

If some of our XDA-developers are interested, I would really like to make this project an Open Source "all-in-one" ROM cooking program, gathering all the others kitchen tools in an unified graphical interface offering the easiest way to cook nice ROMs for our Hermes and certainly for other devices.

I know that I didn't give many details about my program but don't hesitate to ask me about it. I would also have few questions for developers. :o

Developers and ROM cookers, I'm waiting for your feedback! :)

Thanks.

Lurch3559
28th April 2007, 12:24 AM
This looks very user friendly, I will be watching closely. Good work.

Midget_1990
28th April 2007, 12:30 AM
What language is it in? (programming language that is)

schaps
28th April 2007, 12:34 AM
What language is it in? (programming language that is)
I developed this program in C# (using .NET framework 2.0).

ahlok_hk
28th April 2007, 05:57 AM
Thx for your work! It would be better if the tool support packages.
http://forum.xda-developers.com/showthread.php?t=296861

BigQ
28th April 2007, 07:39 AM
Where to download??

schaps
28th April 2007, 03:29 PM
Thanks for the link. I already thought about working with packages because it seems to be a better way to make "clean" ROMs, but I couldn't find enough information about how to extract/build packages in ROM.

I tried bepe's package tool on my own cooked ROM and I noticed that removed files were marked as missing in packages, and all the files I added weren't moved from dump directory. There is nothing surprising, but I wondered if adding/deleting manually files from ROM, causing "corrupted packages", can have any effect on final ROM. If not then why packaging information (like .dsm and .rgu files) are still present in ROM after all packages were merged? What exactly contains .dsm files, and how to create them for adding new packages?

Could someone tell me more about building packages, or tell me where I could find all the information I need.

Thanks

schaps
28th April 2007, 03:34 PM
I'm still working in this project, so I didn't plan any release yet.

filippodisvevia
29th April 2007, 03:19 AM
Good idea and nice project.

Go on dude !

Good work.

doedoe
29th April 2007, 12:28 PM
Great work so far - I fullly support this project.

Lookign forward to the release.

tadzio
29th April 2007, 01:22 PM
Could someone tell me more about building packages, or tell me where I could find all the information I need.


Great project - and I agree, it definitely should support packages. If you've had a look at bepe's kitchen, you already know how much easier it is to understand the purpose of all the files in a ROM if they are organized in packages. :-)

.rgu files are Registry "source code". They are not part of the package mechanism. And yes, when cooking a ROM you can leave them out, as they are not needed at run time. Saves a bit of space.
The .dsm files, otoh, are needed at run time.

When I cooked my ROM, I did find some information (written by bepe) here in the forum about how to make your own packages. Can't remember where that was, but I found it on my hard disk, so I simply quote it here again:


How-To build ur own OEM Package:

An OEM Package is just a simple folder containing files and registry settings for the ROM

First of all you'll need a GUID number for your Package.
Go to http://www.famkruithof.net/uuid/uuidgen to get one.
In my case:
283b9db7-cb03-4c1b-820e-ca49b2c3b5db

Necessary steps:
1. Create a new folder:
Dev/OEM/[Your package name]/
2. Create a empty text file:
Dev/OEM/[Your package name]/283b9db7-cb03-4c1b-820e-ca49b2c3b5db.dsm

(CreateOS.exe will finish this file for you)

If needed:
3. Create an UNICODE text file:
Dev/OEM/[Your package name]/283b9db7-cb03-4c1b-820e-ca49b2c3b5db.rgu

This file could be used to add registry entries to the ROM
First line is:
REGEDIT4
...
and there MUST be a empty line at the end!!

4. Create an UNICODE text file:
Dev/OEM/[Your package name]/initflashfiles.txt
This file could be used to create folders or copy files, shortcut on the ROM.
For Example/ Ilustration: Open or read Dev/LOC/initflashfiles.dat using a text editor or any premake initflashfiles.txt at one of the OEM folder.

and there MUST be a empty line at the end of iniflashfiles.txt also!!

Copy all files you need to Dev/OEM/[Your package name]/



Hope that helps. If I remember correctly, bepe told me that the OEM folder is treated a bit differently from the SYS folder, so it might be you can't create packages there. But then, you probably also shouldn't. :-)

Oh, and about the initflashfiles.dat: you are aware that the initflashfiles.dat just copies files and does not move them? Using this feature extensively uses up ROM space very quickly, so it should be done for small files (like the start menu shortcut files) only.

Cheers
tadzio

schaps
29th April 2007, 03:52 PM
Thanks a lot for your help tadzio!
I also read the different steps about how to add a new OEM package, I found information on this Wiki if someone is interested : http://wiki.ppcgeeks.com/index.php?title=Kitchen.
I think I know enough about it but what I would know is how to extract packages then to merge them for creating a ROM image, like do bepe's tools?

I confirm I also heard that OEM folder processing is different from SYS folder.

Concerning the initflashfiles.dat I guessed that files were copied from ROM to storage memory, good to have a confirmation. So it means that if we want to include a new program in ROM, we should better to let it in Windows folder than to put it in a Program Files folder, right? I have another question about initflashfiles.dat, I saw that it sometimes uses variables for directories instead of strings (for example Directory(LOC_XXX), Directory(0409_XXX),...), where could I find those variable declarations?

jdac21
17th August 2007, 05:17 PM
schaps for president

ctrlaltdel
20th August 2007, 06:41 AM
Thanks for the link. I already thought about working with packages because it seems to be a better way to make "clean" ROMs, but I couldn't find enough information about how to extract/build packages in ROM.

I tried bepe's package tool on my own cooked ROM and I noticed that removed files were marked as missing in packages, and all the files I added weren't moved from dump directory. There is nothing surprising, but I wondered if adding/deleting manually files from ROM, causing "corrupted packages", can have any effect on final ROM. If not then why packaging information (like .dsm and .rgu files) are still present in ROM after all packages were merged? What exactly contains .dsm files, and how to create them for adding new packages?

Could someone tell me more about building packages, or tell me where I could find all the information I need.

Thanks

Hi Schaps,

you can have a look in this link:
http://forum.xda-developers.com/showthread.php?t=312985

it's a tool to re-build DSM file, which is better than just creat an empty .dsm file when making new package.

hope this help. It will be cool if your new tool support package.

:)