How To: Create Your Own Custom ROM for Android, Part 1 – Setting Up The Android Kitchen
March 26, 2010 in Android Development How To's, Android How To's, Featured, How To's, ROM Development How To's, Video
So you love loading custom ROMs, but you just wish you could choose what features you wanted in the ROM or even grab a ROM from another device and port it to your phone? Well, thanks to DsiXDA over at XDA Developers, there is a neat little program that can help you do just that. And best of all? No programming skills required. So here’s how to setup the program and get started on your first custom ROM!
I. Before You Begin
1. This ONLY works for HTC Android devices at the moment, later versions might support others (check here for an update when it does).
II. Download a Virtual Machine and Set It Up.
1. Download VirtualBox for free from here (the one for Windows Hosts at the top). Then click next on the setup process until it installs.
2. Open VirtualBox and click on New.
3. Name the New Virtual Machine whatever you want (we named it Linux for simplicity’s sake).
4. For Operating System choose Linux, then choose Ubuntu for Version and click next.
5. Click Next again leaving the Memory Setting at what it is preselected at (should be 384mbs).
6. Click Next on the Boot Disk screen as well leaving boot hard disk and create new hard disk both selected.
7. Keep clicking Next until you get to the slider that asks how much space to set for the Linux. Move the slider to 8Gbs and click next.
8. Click next until it is done and shows you the original screen you started on but now with the Linux Machine Powered Off on the left.
III. Install Linux Ubuntu on the Virtual Machine
1. Download Ubuntu from here.
2. Once it is downloaded, in the VirtualBox program, click the Start button at the top.
3. Close out all the warnings that come up.
4. Then click on Devices > CD/DVD Devices > More CD/DVD Images… then select the .iso image for Ubuntu you downloaded.
6. Follow the prompts on the screen to install Ubuntu on your Virtual Machine.
7. Once it is installed and reboots, goto Applications > Accessories > Terminal and type this line with hitting enter at the end:
sudo apt-get install sun-java6-bin sun-java6-jre
It will ask you for a password, type in the password you created when you went through the Ubuntu installation process (it asked you for it before finishing the install).
Then it will ask you y/n. Hit y then enter. Then when it shows you the terms and conditions, hit right arrow on your keyboard and click enter to select ok. Then hit left arrow on your keyboard and enter to select Yes.
*NOTE – Your keyboard and mouse will not function on your regular computer once you use them in the Ubuntu virtual machine. To re-enable them, click the Ctrl button on the right side of your keyboard.
**IF YOU GET AN ERROR INSTALLING THE JAVA FILES,
Download the java files manually FROM INSIDE THE EMULATOR/LINUX using Firefox here:
Then open the Terminal App in Ubuntu and type this with hitting enter at the end of the line:
sudo dpkg -i sun-java6-jre_6.18-4_all.deb sun-java6-bin_6.18-4_i386.deb
And that should fix it.
IV. Download and Setup The Android ROM Kitchen
!THIS NEXT SECTION NEEDS TO BE DONE WITHIN THE UBUNTU VIRTUAL MACHINE!
1. Click on the Firefox logo at the top of your Ubuntu installation (in the Virtual Machine).
2. Type this into the url box:
theunlockr.com/2010/03/26/how-to-create-your-own-custom-rom-for-android-part-1-setting-up-the-kitchen (to navigate to this page from within the virtual machine).
3. Now download the latest version of the kitchen file  in the first post from the link below(again from inside the Ubuntu installation on the virtual machine. We are doing this because we want to save this file in our Ubuntu Virtual machine, NOT our regular computer).
4. Again on the Ubuntu machine, Find the .zip file you just downloaded, right click it and click open with Archive Manager and then click Extract at the top.
5. Once you click Extract, it will ask you where. Double click the folder that has the name you created when you installed Ubuntu (my username was theunlockr so my folder is called theunlockr. It is the first folder under recently used in the list on the left). Then click Extract at the bottom right.
V. Run the Android ROM Kitchen
1. To run the Android ROM kitchen, click on Applications at the top of Ubuntu > Accessories > Terminal then type the following and hit enter:
./menu
2. You will now be greeted by the simple text menu of the application. Enjoy!
VI. Create Your First Custom ROM
Head over to our How To: Create Your Own Custom ROM for Android, Part 2 – Creating Your First ROM



Huskywonderboff said on June 27, 2011
i tried… running sun java in the terminal but still getting errors. asks for my password and after i type it in it gives an error saying not found. so i tried downloading the file from inside the emulator and it still says file not found fml. plz help
Damon said on August 25, 2011
I get the same thing, does anybody know how to work around this?
tekn010933 said on July 22, 2011
Thank you for the tutorial and the step by step on setting up from the beginning to the end, as always will gladly donate to the Developer from XDA for sharing tools and “how to” in creating custom’s made Rom’s!
Salahudean said on August 24, 2011
Does it have to be Ubuntu 9.1? cuz I already have Ubuntu 11.6 loaded up on my PC
Damon said on August 25, 2011
I type in the JAVA fix, but it comes up, saying, [sudo] password for …:
I try and type it in, and it won’t let me, what do I do?
Wendall Dobson said on September 24, 2011
Since it is a password you can’t see it but you are typing, finish and hit enter.
Calenoxny18 said on September 10, 2011
hey at then end . when i type the command, I get nothing . help pz
nirmalshah2000 said on September 19, 2011
Does the procedure shown above for creating custom roms support Android Honeycomb (3.0 and above)? I want to create a custom rom for tablets such as Acer Iconia A500 or Samsung Galaxy Tab 10.1
Wendall Dobson said on September 24, 2011
Trying this now, have VB and Ubuntu 11.6 installed, having a hard time with Java…any help would be appreciated.
Jerry_mccallum said on September 25, 2011
need help installing java
Jerry_mccallum said on September 25, 2011
need help installing java
Tim Johnson said on October 5, 2011
i’m getting no such file or directory, when typing in terminal .:/menu. i followed all the steps thru extraction point. what did i do wrong?
Butcher666_gokstad said on October 23, 2011
Hi man !
I got the same problem on the first attempt.
You mustn’t extract the archive on your desktop on Ubuntu.
Extract it in your home folder and it will go on !
Tim Johnson said on October 5, 2011
nvm i got it working had to double click menu in the kitchen folder and opened it….automatically opened on terminal
Koutouyo said on October 19, 2011
To install java you must move file to home by right click file you want to move and choose move to home. Then type terminal code like above, this should work
The file download by firefox in download folder just in case you guys don’t known where it is
Saeed said on October 24, 2011
Hey, Can I grab a rom from wildfire or any htc devices and port it to my htc tattoo?? plz help me!
Joseph Choo said on November 5, 2011
I tried mounting the image (part III. step 4.) and got this error:
E_FAIL (0×80004005)
Component:
Medium
Interface:
IMedium {aa8167ba-df72-4738-b740-9b84377ba9f1}
Callee:
IVirtualBox {2158464a-f706-414b-a8c4-fb589dfc6b62}
I wouldn’t mind installing ubuntu/linux (whatever its called, I’m really new with all these modding stuff)
on my physical hard disk drive.
I’m running Win 7 x64, is that a problem?
Michael Ortega said on December 20, 2011
When I try step III, Part 7 (trying to install Java):
To run a command as administrator (user “root”), use “sudo “.
See “man sudo_root” for details.
michael@michael-laptop:~$ sudo apt-get install sun-java6-bin sun-java6-jre
[sudo] password for michael:
Reading package lists… Done
Building dependency tree
Reading state information… Done
E: Couldn’t find package sun-java6-bin
michael@michael-laptop:~$
what do I do? Anything I can do? I have tried to use the direct download links provided but one doesn’t have anything to download with it and the other that actual says it has a file, none of the links go to a page that actually works. Is this just too old now?
Williamburkhardt said on December 21, 2011
the java files are not there
Guest said on December 30, 2011
the java files died?
Mdallasyoung said on January 6, 2012
does this work on windows 7 becuse everything you guys talk about is linux
Arun Kumar said on January 18, 2012
just change the directory that is containing the menu file using
$ cd
then type
$./menu and hit enter !!
arunkumar@arunkumar-VirtualBox:~$ cd dsixda-Android-Kitchen-68eb908
arunkumar@arunkumar-VirtualBox:~/dsixda-Android-Kitchen-68eb908$ ./menu
JCO said on October 5, 2010
I need help setting up my android kitchen i get permission denied also. I have the latest Ubuntu and the latest android kitchen. Need help please.