How To: Create Your Own Custom ROM for Android, Part 1 – Setting Up The Android Kitchen

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:

Java6 Bin
Java6 Jre

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).

Kitchen

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

If this procedure helped you, please consider donating to the original developer or at least sending them a thank you.

Now that you are rooted, head here to learn some of the fun things you can do!

For all the devices we have rooting procedures for, head here.


Something Wrong? If you notice an issue with the procedure (broken link, steps out of date, etc.), use this form to let us know! Otherwise, if you just are having trouble with the procedure, reach out to us on Twitter, Facebook, or Google+.

  • Saeed

    Hey, Can I grab a rom from wildfire or any htc devices and port it to my htc tattoo?? plz help me! 

  • http://twitter.com/parat0xical Joseph Choo

    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?

  • Pingback: Got Ubuntu 11.04 - Android Forums

  • Pingback: [Custom Rom] SmartLucky - Seite 15 - Android-Hilfe.de

  • Michael Ortega

    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

    the java files are not there

  • Guest

    the java files died?

  • Mdallasyoung

    does this work on windows 7 becuse everything you guys talk about is linux

  • Pingback: Where is the kitchen?

  • Arun Kumar

    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