Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,810,255 Members 53,422 Now Online
XDA Developers Android and Mobile Development Forum

XDA-developers ROMkitchen: cook your own ROMs

Tip us?
 
Peter Poelman
Old
#1  
Peter Poelman's Avatar
Retired Administrator - OP
Thanks Meter 48
Posts: 1,129
Join Date: Jan 2003
Location: Amsterdam
Default XDA-developers ROMkitchen: cook your own ROMs

Announcing: ROMkitchen



Special Edition ROMs are soooo yesterday.... We're proud to unveil our largest project yet: ROMkitchen. Now you too can modify your ROM to contain precisely what you need. Create your personal ROM, based on the ROM you like.

Wanna see: Have a look at our showroom kitchen to see what we mean. As you can see the showroom kitchen shows the PPC2002 based 3.17.03 ROM released by O2, as well as the 4.00.05 Microsoft WM2003 test ROM. Neither of these ROMs is really present though: you need to download the scripts, include your own ROM images, and run the scripts on your own unix machine. But once you do, you and your friends can create ROMs to your heart's content.

Why didn't we just include these files and make it all work? Because we're not licensed to distribute these ROMs, that's why.

So now what?
  • Play around to see if you like it.
  • download all the files visible when logging in using FTP to xda-developers.com username 'kitchen', password 'kitchen'.
  • Put them on your own unix machine, which should be capable of executing php scripts, and which should have a 'little' memory, disk and processing power left over. (We're afraid ROMkitchen wasn't built with resource-efficiency in mind.)
  • Add your own ROM files, see the readme files in the "data/00[...]/_/cfg" directories for details.

Notes:
  • If you set up your ROMkitchen, make sure you only use it for yourself, and with ROMs you legally own. We're not responsible for abuses.
  • If you use an ftp-client which can ignore files which are newer on your side, you can regularly check for updates and always have the newest kitchen.
  • ROMkitchen does not yet support outputting self-extracting binaries a-la Jeff's exe. We're working on that.
  • ROMkitchen currently supports English language ROMs only. We're working on this too.
  • The welcome exe is back in ROMs made with it: a little too much hassle to make our own. So you'll have to go through the silly tutorial every cold-boot.
  • XDAunlock is missing still. (It will be incorporated, but most people will be making 4.00.05 ROMs, and it doesn't work on that anyway...)

How does it work?
The ROMkitchen consists of a number of php scripts that present the form with all the options to choose from, and which copy files ready for our 'mkrom' utility to process. If you take a look you can see the raw structure of the data that is presented and inserted into the ROM. We'll find some time soon to explain, but you can already learn quite a bit if you look at the files and directories carefully.
The Following 2 Users Say Thank You to Peter Poelman For This Useful Post: [ Click to Expand ]
 
kalex
Old
#2  
kalex's Avatar
Senior Member
Thanks Meter 6
Posts: 266
Join Date: Jun 2003
xda-developers u are AWESOME


I'm going to try it as soon as i get home tonight. So all that is needed at first is a 2003 or 2002 image file?


thanks


alex
 
Richjn
Old
#3  
Member
Thanks Meter 0
Posts: 41
Join Date: Jul 2003
Location: Australia
This looks awesome

Is it possible to run this program on Cygwin ? I have configuered the Cygwin download to include Bash and Perl but can't find a reference to dd. I confess that although I have a reasonable amount of programming experience I have never used Unix before so don't even know how to invoke the scripts ops: so any help would be much appreciated.

Richard
 
kalex
Old
#4  
kalex's Avatar
Senior Member
Thanks Meter 6
Posts: 266
Join Date: Jun 2003
just uploaded everything to my unix box and tried to run setup.sh from 4.00.05 directory. i also uploaded bootloader.nb0 and rom.nb1 files to the cfg directory. when i run ./setup.sh this is what i get:

[root@killer _]# ./setup.sh
Usage: splitrom <romimage(s)> [options]
-wx xipchain where to write xipchain
-wo osrom where to write output image
-wb bitmap where to write bitmap
-wl bootloader where to write bootloader

-rl bootloader which bootloader to use for NBF
-n nbfinfotext what NBF header to use [ex: PW10A1-ENG-3.16-007]
-ri nbfinfofile or where to read NBF header info from
-wi nbfinfofile where to save NBF header info
-rx xipchain where to get xipchain from
-rb bitmap where to get bitmap from
-rm romsection@offset insert new romsection.

-ob offset where to find the bootup image
-oe offset the end of the desired os image ( default: 0x81f00000 )
-t NBF | B000FF | NB? | IMG type of result image (default is NB1)


also when i tried to convert the default.fdf file to default.reg i get error saying "unknown fdf file signature" and it creates a 0 byte default.reg file.

any help is appreciated. i know i'm asking too many questions, but same happened with ur mkrom tools and once i got answers from u i was able to build roms without any problems.

thanks


alex
 
Phoxie_Phreak
Old
#5  
Junior Member
Thanks Meter 0
Posts: 5
Join Date: Jul 2003
Hold on a tick, if you guys added one more feature it would go nova, however. Some features I would like to see is the ability to mix drinks, roll joints, cook dinner, and cure premature baldness/cancer.

It would also be nice if you could arrange for the program to be delivered to my house by the drunken, naked Chinese twins, Fok u and Fok me.

You guys are the bomb. Keep up the great work!

-
 
itsme
Old
#6  
Retired Admin
Thanks Meter 5
Posts: 652
Join Date: Mar 2003
Location: delft 52'00N 4'22E
Quote:
# Put them on your own unix machine, which should be capable of executing php scripts, ...
this implies that you should also have setup a webserver, for running the php scripts.

you will have to change the 'splitrom' commandline in setup.sh depending on what source file you have.
it is not a configure all automatically script, just a guide, to what sort of is supposed to happen for setup.
 
Jeff Summers
Old
#7  
Member
Thanks Meter 0
Posts: 32
Join Date: Jun 2003
Location: Eindhoven, The Netherlands
Holy Cow, you guys are amazing....

This is just a short message to say I'm fighting with it as we speak. My friend's box does have PHP, this is good. I've already found that it needs two subdirs under its root ('download' and 'workspace') to be world-writeable. Took me a while to figure that one out. Haven't got it running yet though, this ROM setup.sh thing is far less than intuitive. But I have the two ROMs which have all the other mumbo-jumbo done: 3.17.03 and 4.00.05, and I will get this to run, if it's the last thing I do.

Jeff (Just back from the U.S., up since 4 am, severe jetlag)
 
Peter Poelman
Old
#8  
Peter Poelman's Avatar
Retired Administrator - OP
Thanks Meter 48
Posts: 1,129
Join Date: Jan 2003
Location: Amsterdam
Quote:
Originally Posted by Jeff Summers
I've already found that it needs two subdirs under its root ('download' and 'workspace') to be world-writeable.
Whoops... I guess you're right, that should have been documented. The things you take for granted sometimes...

Thanks, and good luck...
 
othman
Old
#9  
Member
Thanks Meter 0
Posts: 84
Join Date: May 2003
Location: Riyadh, Saudi Arabia
Default Thanks

hey, you are doing a great job guys, keep it up.

welcome back Jeff Summers.

Othman
 
Jeff Summers
Old
#10  
Member
Thanks Meter 0
Posts: 32
Join Date: Jun 2003
Location: Eindhoven, The Netherlands
OK, here's the status:

I'm close, really close. It wouldn't detect my OS, the bash on the system I'm on is in /usr/local/bin instead of /bin and now it's complaining about a missing perl file. I'm working on it though...

Thread Tools
Display Modes