[HTC Desire C] russell664:
Hello guys as a developer when we make a rom, we have alot of requests from people which is fine and good. However, it comes to a point where we have so many requests for things, which we do not have time for in our free time. You have to remember we develop in our free time, and it is not a full time job, it is something we enjoy to do. Developers do expect requests, but not constantly, i will try to add features when people request it, but as explained above some of us, physically do not have the time, but some members annoy you by sending the same messages over and over again so the aim of this thread is:

If the Developers cannot do it, for whatever reason you should try it your self, and not just annoy them about it!

​

Now before we start there are things I want you to consider, before starting:

#include
*
* Your warranty is now void.
*By you using my Mods, Roms etc...
* I am not responsible for bricked devices, or dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed.
* Please do some research if you have any concerns about features included in this ROM
* before flashing it! YOU are choosing to make these modifications, and if
* you point the finger at me for messing up your device, I will laugh at you.

Do not Start a thread with upcoming, or WIP because it is a waste of space, only post it when it is ready.

If you don't plan on continuing development, do not post it!

Do not steal other peoples work, ask them first, if they say no, build your own from a RUU or from source.

You can ask for help from other Developers, but do not annoy them over the issue they will help in their own time

Now the main things are out of the way, just one more thing if you are using lets say my ReVoluTioN RoM as a base if you just place a theme over it, and say it is your work it ISN'T! If you are just going to do that make a new theme thread instead, that way you will be credited, however, if you are adding extra code and your OWN custom HTC apps, or whatever that is maybe then yes it is worth making a new rom thread,ONLY IF IT IS YOUR WORK at implementing such code or new features.

ALSO if you are using a Existing rom as a base, give the developer credit for that and a link to their profile, to make sure you appreciate their work! ​

Now Onto the Tutorial:

In this guide, or new RoM builders it is a good idea to use an android rom kitchen called dsixda's Android Kitchen it is Compatible with Windows, Linux and Mac OS X.

Just a note about this kitchen:

The kitchen will not automatically turn you into a developer. A developer is someone who writes code or builds something from the ground up and understands exactly what goes on behind the scenes. The kitchen hides all that and puts a user-friendly interface above it. However, this may be the push that gets you into development in the future.

A little bit of prior UNIX command-line knowledge would be useful to get started with the kitchen, but the help guides should be enough for a newbie. Knowledge of command lines is always important if you ever want to get involved in Android or development.

However, just as a reference this is what the user interface looks like:

In order to make the kitchen work you will need to be running one of the following operating systems:

Windows, this can be from Windows XP all the Way up to Windows 8

Linux/Unix, based system I use ubuntu 11.04 but 12.10 is good too

Mac/OSX, however it is recommended 10.4 or above.

First of all you need to download the kitchen from here: LINK

Once you have downloaded it follow the operating system guide of your choice below:

Windows, XP, 7 and 8:

There are currently three choices for windows users these include:

Cygwin, this is a UNIX command line environment for windows

Virtual Machine, this is a good choice but you need a powerful system, with a fast CPU and lots of RAM!

Use the Ubuntu WUBI installer, this basically creates a installation of ubuntu inside windows, and can be easily uninstalled.

WINDOWS OPTION 1: CYGWIN:

I currently use this option for my Rom compiling, but this is due to the fact I have a 2nd Gen Core i3, and 8GB of RAM if your CPU is not very fast I recommend the third option!

Lets get started then...

Fist of all download the Java JRE for windows, it is recommended you use this link.

Secondly, download the cygwin binaries from here.

Below you will find the additional steps required to get it working properly on your windows based system

WINDOWS OPTION 2: VIRTUAL MACHINE:

Before considering this option for building Roms in this environment reads the Pros and cons first.

Advantages of using virtual box:

The size of the installation doesn't have to be predetermined. It can be a dynamically resized virtual hard drive.

You do not need to reboot in order to switch between Ubuntu and Windows.

The virtual machine will use your Windows internet connection, so you don't have to worry about Ubuntu not detecting your wireless card, if you have one.

The virtual machine will set up its own video configuration, so you don't have to worry about installing proprietary graphics drivers to get a reasonable screen resolution.

You always have Windows to fall back on in case there are any problems. All you have to do is press the right Control key instead of rebooting your entire computer.

For troubleshooting purposes, you can easily take screenshots of any part of Ubuntu (including the boot menu or the login screen).

It's low commitment. If you later decide you don't like Ubuntu, all you have to do is delete the virtual hard drive and uninstall VirtualBox.

Disadvantages of using virtual box:

In order to get any kind of decent performance, you need at least 512 MB of RAM, because you are running an entire operating system (Ubuntu) inside another entire operating system (Windows). The more memory, the better. I would recommend at least 1 GB of RAM.

Even though the low commitment factor can seem like an advantage at first, if you later decide you want to switch to Ubuntu and ditch Windows completely, you cannot simply delete your Windows partition. You would have to find some way to migrate out your settings from the virtual machine and then install Ubuntu over Windows outside the virtual machine.

Every time you want to use Ubuntu, you have to wait for two boot times (the time it takes to boot Windows, and then the time it takes to boot Ubuntu within Windows).

If you still wish to use the virtual box route follow these steps to get it installed:

Installation of virtual box

The first thing you have to do is obtain VirtualBox. First of all visit the VirtualBox website's download page and install it the same way you would any normal Windows program.

Once Virtualbox is installed, launch it from the windows start menu, after this click New to create a new virtual machine. Once the wizard comes up press the next button as seen below:

You can call the machine whatever you want. If you're installing Ubuntu, it makes sense to call it Ubuntu, I guess. You should also specify that the operating system is Linux.

VirtualBox will try to guess how much of your memory (RAM) to use for the virtual machine. If you have 1 GB or less of RAM, I would advise you stick with the recommendation. If, however, you have over 1 GB, about a quarter your RAM or less should be fine. For example, if you have 2 GB of RAM, 512 MB is fine to allocate. If you have 4 GB of RAM, 1 GB is fine to allocate. If you have no idea what RAM is or how much of it you have, just press next.

If this is your first time using VirtualBox (which it probably is if you need a tutorial on how to use it), then you do want to Create new hard disk and then click Next.

Click next at this section, don't change anything!

A dynamically expanding virtual hard drive is the best option, because it'll take up only what you actually use. I have come upon weird situations, though, when installing new software in a virtualized Ubuntu, in which the virtual hard drive just fills up instead of expanding. So I would actually recommend picking a Fixed-size storage.

Ubuntu's default installation is less than 3 GB. If you plan on adding software or downloading large files in your virtualized Ubuntu, you should tack on some buffer.

Click Create and wait for the virtual hard drive to be created. This is actually just a very large file that lives inside of your Windows installation.

Then this will show up:

The next thing to do to make the (currently blank) virtual hard drive useful is to add the downloaded Ubuntu disk image (.iso) boot on your virtual machine. Click on Settings and Storage. Then, under CD/DVD Device, next to Empty, you'll see a little folder icon. Click that.

Select the Ubuntu .iso you downloaded earlier.

Once the image is selected, click ok.

You may get a bunch of random warnings/instructions about how to operate the guest operating system within VirtualBox. Read those, and then you may also want to mark not to see those again.

Wait for Ubuntu to boot up.

Once it's started up, just follow the regular installation procedure as if you were installing Ubuntu on a real hard drive (instead of a virtual one).

Afterwards, in order to use your virtualized installation (instead of continually booting the live CD), double-check that the CD/DVD Device entry is Empty again.

Now you have ubuntu installed on virtualbox! Now on the the next part, making the kitchen work.

WINDOWS OPTION 3: WUBI INSTALLER:

Before you start this download the ubuntu iso image from the website, and burn it to a cd!

You may want Linux but think Virtual Box is too much effort to install, or it runs too slow for you, then you can try the 'Wubi' installer from Windows. This method will install Ubuntu Linux inside a file in your Windows operating system and will boot from it.

Use this method only as a last resort, as it will modify your PC's boot loader and may also require some hunting for video drivers if you're not lucky. The benefit to this method is that it runs the kitchen super fast. The downside is that setting it up may require some technical expertise and Linux experience! If it's not working out for you, just go back to Windows and run the Wubi installer again to uninstall.

You can find lots more info about Wubi in YouTube and Google search. In the meantime, here is a summary of the required instructions:

First, download and install the Wubi installer. A good size to allocate for Ubuntu would be 20 GB (this is for all your roms and updates)

When it finishes installing, the PC will reboot.

Select Ubuntu from the boot selection menu.

Notes:

NOTE: If the screen remains blank afterwards and never shows the login screen, then you have a video driver issue. You will need to reboot, and then at the Ubuntu boot options, press 'e' to edit the command line. To force the generic video drivers you will need to add something like this: nomodeset (Just Google it)

When you arrive at the desktop, configure your Wi-Fi connection by clicking on the seashell-shaped icon at the top right section of the screen.

Follow the instructions in the next section of this FAQ ("Ubuntu Linux") for installing Java. That should be all you need to do. I really hope this helped you out.

NOTE: If you had to do the video workaround earlier on, then you'll need to edit /etc/default/grub and change the appropriate lines so that it always boots up in this mode and so you won't need to edit it every time in the boot menu. i.e. Open up an xterm and then type sudo vi /etc/default/grub, modify the file, then type sudo update-grub. Again, Google is your friend.

Ubuntu 11.04 to 12.10:

UBUNTU NATIVE INSTALL:

Before you follow any of these step mentioned in this ubuntu section, you NEED to have it installed either on a physical drive (Partition) or inside a virtual machine. If you do not meet the requirements you need to first install ubuntu, which will be mentioned above this post.

Okay these next steps of setting up the running requirements for the kitchen on linux are very easy compared to the windows setup, the required steps are:

First open up the terminal windows, the buttons to quickly do this are:

CTRL + ALT + T

If you are using the 64-bit version of ubuntu, type the following into your terminal:

sudo apt-get install ia32-libs

Now if you go onto the ubuntu market place, a shortcut is found on the sidebar.

Once you are in to market, in the search bar type "Java"

There will be many choices which come up, but you need to install the package name of:

OpenJDK Java Runtime

This option is usually displayed at the top of the search result.​

Once the Java has installed, type "java -version" If installed correctly it will bring back some information into the terminal.

java -version

If you are using Ubuntu in a virtual machine, you NEED to follow these extra steps to complete installation.

This thread will be updated as soon as possible, i need to get other stuff done so hang tight. :)