Since the inception of android devices, theme and ROM developers took advantage of the flexibility of the Android OS by building their custom roms and mods. You can find these roms at xda-forum. It’s good a place to look for mods, roms and themes.

I am one of lurkers of that forum before and I wanted to try those cool themes on my Optimus one but I was too afraid to root my phone. As a newbie there are terms that I didn’t understand. But I patiently read all I needed to know and after that I have gained confidence in flashing ROMS.

This guide will walk you through the process of installing custom ROMs to your android devices. I will try to explain it in a more detailed way.

This post is only for installing ROMS and themes, if you want to know why we need to do this read my previous post about rooting and custom roms.

I used LG Optimus One for this post. If you are using different phone the process is basically be the same but I suggest you read specific instructions for you phone. I am not responsible if you brick your phone in the process. Full charge your phone before doing any of this

Lets start!

What you will need

  1. Rooted phone
  2. Custom recovery tool
  3. Terminal Emulator
  4. Titanium Backup
  5. Class 4 SD card or higher
  6. ROM to use
  7. Gingerbread Theme

Rooted phone

For LG Optimus one I used z4root.

z4root doesn’t work on all devices and if you happen to have upgraded your firmware to 2.2.1 and up z4root won’t work. Check full compatibility here. If this doesn’t work for you try using superoneclick or gingerbreak. Rooting is different using these two.

Rooting on Z4root

  1. Download z4root here
  2. Copy apk file to your SD card
  3. Reboot your phone
  4. Open and select Settings > Application > Unknown Sources
  5. Go to your file manager and open the z4root apk file
  6. Click and install
  7. After install click open
  8. Select Permanent Root. You will be asked to Turn on USB debugging. Click OK and tick Turn on USB debugging.
  9. Continue and confirm rooting.
  10. Your screen will go white for about 15 seconds then reboots automatically.
  11. Wait for it to boot, open Z4root again and you should see re-root and un-root which it means your phone is already rooted.

Create Backup

Now that you are rooted you can backup all your apps. This is very important! You don’t want to lose all your apps and system data. Download Titanium backup from the market an install.

  1. Open titanium backup
  2. Go to Backup/Restore
  3. Click menu and select Batch
  4. Run “Backup all user apps + system data”
  5. Wait until the backup is finished. This will take some time depending on how many apps you have.
  6. When you are done you can see your backup inside your SDCard under TitanumBackup folder.
  7. Copy ALL contents of your SDcard to your computer.

Now you all your apps are safe. The next step will remove everything in your internal and external memory.

Custom Recovery Tool

Now that your phone is rooted it’s time to install custom recovery. Custom recovery is basically a tool that is similar to BIOS (PC) with some added features. If you boot to custom recovery you will have an option to partition disk, clear data, backup/restore, flash ROMs etc.

At the moment there are two custom recovery tools available, ClockworkMod and Thunderg (AmonRA edited by drellisdee). You can use either of the two but this is also depends on the ROM you are installing. For my case I will use Megatron ROM by Noejn and the instruction is to use Drellisdee’s custom recovery so I will be using that.

Download AmonRa recovery here

  1. Unzip recovey_installer.rar
  2. Copy the 3 files to SDcard root directory (not inside any folder)

Install Terminal Emulator from the market

  1. Open terminal emulator
  2. Type “su”to get super user access. Press Enter. You will notice that $ will change to #
  3. Type “sh /sdcard/rf.sh”. Press Enter
  4. It will reboot your phone to custom recovery. To navigate use vol up, vol down, menu button, and back button.

Now here’s the tricky part.

  1. Create a Nandroid Backup – Select NandBackup (+ext and secure if you like) – This will create a NAND flash backup of your entire phone. In case something breaks you can always restore this to the current state of your phone. Not the apps but you can reinstall them from the titanium backup we did earlier. Note: you can also do Nandroid backup using other apps.
  2. When it’s done go back to main menu and select USB-MS toggle and activate it. Plug USB cable to your PC
  3. Copy the Nandroid back up to your computer. This is located inside Nandroid folder.
  4. After copying deactivate USB-MS. Disconnect USB
  5. Go to “Partition sdcard” and select Partition SD
  6. Select swap: 0, ext: 512 (use vol-up and down to change values). Continue and wait for it to complete.
  7. After that go back to Partition menu and select Repair SD:ext.
  8. Go back again to Partition menu and select SD: ext2 to ext3, confirm and continue.
  9. Go back again to Partition menu and select SD: ext3 to ext4, confirm and continue.
  10. Go back to main menu and select Wipe
  11. Select Wipe only /data. Complete wipe and go back
  12. Select Wipe only /cache. Complete wipe and go back
  13. Select Wipe only Dalvik-cache. Complete wipe and go back
  14. Select Wipe only /sd-ext. Complete and go back
  15. Activate USB-MS toggle again an insert USB to your computer.
  16. Copy Megatron zip to sdcard
  17. Deactivate USB-MS and disconnect USB from your computer.
  18. Go to Flash zip menu
  19. Select Flash zip from Sdcard
  20. Navigate sdcard and select Megatron-v1.zip. This will take about 5 mins.
  21. After it’s done go back to main menu and select Reboot system now
  22. This is the first time to boot on a new ROM so it will take long to boot, don’t panic. It took about 10 mins for me, it loaded LG logo twice and then the new android logo appears.
  23. You’re done! Check system version build number should be Megatron v1 now.

Install Titanium Backup again then copy the titanium backup we did earlier from your computer to /sdcard/TitanumBackup folder. You can select what to install from your previous firmware.

Now that we have a new ROM we can install a custom theme. You can skip this part if you want but your theme still looks android 2.2. We will install gingerbread theme as below (minus the wallpaper):


Installing a Theme

This theme that we will install has been tested working for megatron ROM. If you have other themes in mind you have to make sure that they are compatible. If you have CM7 ROMs you should be using CM7 themes or theme chooser themes. I know this is a lot to process at the moment but you have flashed your first ROM, everything should be easier from here-on.

Download theme here

  1. Copy Gingerbread theme v1.2.zip to SDcard
  2. Reboot to recovery. (Shutdown phone, then reboot to recovery by holding power button, home button and vol-down button.)
  3. Go to Flash zip menu (as we did earlier)
  4. Select Flash zip from SDcard
  5. Browse and select Gingerbread theme zip
  6. Then continue flash
  7. After that restart phone and it will take longer to boot again as it deploys new files.
  8. You’re done!

Wrap up

Installing ROMs and Themes could be very intimidating if you haven’t done any in the past. When I first read the instructions in the developers forum I thought those instructions are not for beginners because on the first look I didn’t understand what they were saying. But everything you need is already there you just need patience to search for words and read everything that you don’t understand. This guide that I did hopefully helped beginners speed up a little bit. If you have questions don’t hesitate to comment, I’m not an expert yet on this one but I will help in any way I can.