• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

[REF] Guide to the Galaxy S II and Android (04/10/11)

Search This thread

willk22

Senior Member
May 19, 2009
133
220
London
Please suggest any changes, additions etc :)

Please don't try to hold me responsible if following anything here makes your phone die. Pretty please!


I have been looking through the forums, rom threads etc, and have seen a lot of questions cropping up again and again. Therefore I decided to start this project!

Basically I hope this will become a reference for newbies to get themselves accustomed to android and the galaxy s II! I will try to update it regularly with information about ROMS, Flashing and general android/samsung terminology.

If you think that I have given a wrong definition or think that anything needs clarifying more please tell me! Also, if you think that I should add anything then feel free to suggest.

Here we go...

Contents

1. Rooting
- Rooting your phone

2. Kernels
- Eplanation
- Links


3. Odin

- Guide to using Odin

4. Custom ROMs
- Risk
- Benefits
- AOSP ROMs


5. ClockWorkMod

- Explanation
- How to Backup/NANDroid
- How to Restore
- How to install a ROM using CWM


6. /efs

- What it is
- How to back it up


7. List of Custom ROMs


8. The Forums


9. Glossary


10. To Do list



Rooting
Rooting is the process of getting 'root access'. In a nutshell this means that you can edit the system partition of your phone. The best analogy of this I can think of is if you imagine a tree! The tree you see above the ground is what you can edit on your phone normally, for example you can add music files, edit text files, etc etc. The 'roots' of the tree are the android system files themselves, they are unseen and are not usually meant to be messed with. It can also be seen as the equivelant of having administrator privilages in windows - with them you have better access to your computer.

Rooting voids your warranty!
But you can un-root your phone by flashing a 'stock' ROM and Kernel.

Gaining root access however allows us to customise our phones even further, for example you can:
  • Edit files to create themes
  • Backup usefull system files
  • Remove bloatware and unwanted apps

Rooting the Galaxy S II
Rooting the Galaxy S II is, thankfully, easy! Unlike certain other phone manufacturers *cough* HTC *cough* samsung haven't imposed any unnecessary locks on the phone, and so we dont have to hack our phones to pices to be able to root them.

Several guides already exist in the development forum on how to root you phone - it involves a custom kernel:

http://forum.xda-developers.com/showthread.php?t=1103399 (by Chainfire)

Or, here is the Noobs Guide:

http://forum.xda-developers.com/showthread.php?t=1126522 (capaxdoli)

And an extremely detailed thread from wibbsy:

http://forum.xda-developers.com/showthread.php?t=1246131 (wibbsy)

Superuser and Busybox
Superuser is an app that is present on pretty much all custom ROMs. It allows you to manage 'superuser' rights for your phone, in other words which apps you want to allow to have root access. If you dont have it on your custom ROM then you would want to download it from the market (free). Once you have it downloaded you dont need to do anything! It will warn you when an app wants root access, and ask you to allow once, allow all the time, or never allow. It can also be seen as a firewall for your phone, you can deny access to the root of your system files to apps you dont think should be down there!

Busybox is basically a set of commands that aren't built into android to begin with, but are part of Unix (which android is based on). They add additional functionality for root application to perform their job! To be honest this is all I know about busybox, but it is very useful, and lots of root apps need it, so download it!



Kernels
This brings me along nicely to Kernels! Kernels are basically a bridge between your apps and your hardware. It controls everything that apps send to the processor, and everything the processor sends back.

This, as you can imagine, makes kernels VERY important. On XDA, you might see a kernel posted in the development forums. The are usually identified as [Kernel] in the thread title. You will probably also see more brackets in the title, these identify what modules the developer has added to the kernel, or what features it includes. For example [OC/UV 1.5GHZ]. This means that the kernel will enable the phone to be overlcoked to 1.5GHz, but also means the processor is undervolted (meaning it draws less power from the battery).

For more details look here:
http://forum.xda-developers.com/showthread.php?t=894880 (mroneeyedboh)

And here for more details on 'govenors':
http://forum.xda-developers.com/showthread.php?t=843406 (RJackson)

Odin
Odin is a piece of software that allows us to flash anything we want to the phone. The file is attached to the bottom of this post.

It is perfectly safe IF USED CORRECTLY!

This is a general guide for using Odin, take a look at this picture (thanks to screamworks):



To get Odin to connect to your phone, you need to boot into 'download mode' by pressing volume down, home, and power keys at the same time, and connect your phone to your PC via USB.

Everything in red:
NEVER TOUCH
NEVER TOUCH
NEVER TOUCH
NEVER TOUCH


It's that simple! I would be more specific but most Roms, Kernels and CSCs have methods on their respective threads for using Odin with their ROM, so it best to look there.

Wait... (I hear you say...)

Why bother flashing a custom ROM if there is a risk of damaging your phone? Well, they usually come with the following benefits:

- Deodexed, basically allows deeper theming of applications
- Zipaligned, reduce the amount of RAM used when running an application
- Optimisations, meaning that the developer has tweaked the roms system files for bettery speed, battery life and stability
- Quicker Updates, Rom developers will more often then not update their rom to fix bugs FAR quicker then samsung ever will
- Additions, Developers also like to add their own additions to their ROMs, such as themes and applications

The benefits far outweigh the risk!

AOSP
AOSP (Android Open Source Project) ROMs are built from the original android source. They are essentially a 'clean' version of android without any additions from manufacturers (e.g no Touchwiz, Sense, MotoBlur etc...). They are popular mainly because they are so customisable. Here is a list of the three main AOSP build you will find:

'Pure' AOSP
This is a build straight from Google's sources and does not contain any modifications whatsoever, other then those that make it run on the particular device. Here is the AOSP project website for more information:

http://source.android.com/

CyanogenMod
This is an extremely popular AOSP build that provides endless customisation to the user. The builds are fast, stable and reliable, and nearly every android device has a cyanogen mod ROM built for it. It is also popular for its 'nightly' (literally) updates. More information can be found on the Cyanogen website here:

http://www.cyanogenmod.com/

MIUI

MIUI is a chinese rom that has been heavily customised, and is influenced by iOS. Think what would happen if an android phone and an iPhone had a baby... Despite commiting the henious crime of trying to be an iPhone, it does work. MIUI Roms are essentially all about speed and looks, if that is what you are after! Here is the MIUI website for further information:

http://www.miuiandroid.com/



ClockWorkMod (CWM)



Clockworkmod is a 'custom recovery' made by xda member koush. Every phone had a recovery partition designed so that if the user messes up a ROM installation, they can recover their phone. CWM is a modified recovery installed into the recovery partition that allows advanced control over ROM recovery, installation and much more.

Features of CWM include:
- NANDroid Backup, This allows you to completely back up your existing ROM with all its files, data and apps
- Restore Backup, Restores a previous backup (obviously...)
- ROM installation, Allows you to install a ROM contained inside a flashable .zip file
- Wipe data/Factory reset, completely erases all of your data contacts, apps etc, leaving your phone 'as new'
Amongst others...

How to install CWM
If you have already rooted your phone using the CF-root Kernel, then you already have CWM! If not, then just install the kernel linked to above in the 'how to root your phone' section

How to make a NANDroid backup using CWM
Backups are important because they allow you to restore your ROM incase flashing goes wrong, or you phone starts playing up and displaying wierd bugs.

To make a backup, you need to boot into CWM recovery (done through the 'cwm' app installed onto your phone when you flash the cf-root kernel). Then, you need to navigate down to 'backup/restore' using the volume keys, and select it using the home key. From here, just click 'backup' and you are all set! Leave your phone make the backup (its takes some time) and then just reboot when it tells you its finished. To restore your backup, do the same but instead of clicking backup, click 'restore' instead. Choose which backup you would like to restore and leave the phone to do its magic. Done.

How to install a ROM using CWM
Installing a ROM using CWM is a lot less hassle then installing via Odin. The ROM developer will specify which method of installing their ROM you can use, but it is usually done by a CWM flashable .zip.

To flash:
1. Boot into CWM as described above
2. Navigate to 'install zip from sd card'
3. Select it, and then navigate to 'install zip from sdcard' again!
4. Select the ROM you downloaded from your sd card
5. Navigate down to yes
6. Let CWM install you new ROM!

Note: The same process applies for flashing a kernel

The /efs folder
The /efs folder is a folder in your phone that contains information specific to YOUR phone, for example your IMEI number, product number, Wireless MAC addresses, and much more. There have been reports of people messing up their /efs folder when unlocking their phone or flashing new ROMs, here is an example from the Nexus S development forum (jump to page 111 to see everyone start to panic):

http://forum.xda-developers.com/showthread.php?t=1034130

Therefore, it is important to make a backup! Instead of just regurgitating guides on the forums already, here is a link to a very good one by Rawat:

http://forum.xda-developers.com/showthread.php?t=1068193 (Rawat)

The easiest way of doing it is by using terminal emulator rather then ADB (unless you have ADB all up and running and are confident with it)

Thank you to Godutch for suggesting this, I was never actually aware of it!

ADB
ADB stands for Android Debug Bridge, and is a useful tool for your device. It has many funtions including:
- Pushing .apks to your phone
- Pushing files to your phone to specific locations
- Rebooting to download and recovery

And I haven't even scratched the surface! It does a lot more trust me...

You will see guides on this forum saying 'this guide assumes you have ADB set up', which you definitely should do! However, there is a downside - it can be horifficaly complicated and fustrating to install for a newcomer to android, you have to mess around with SDKs, EXEs, Drivers, Paths, Yawwnnn....

So I'm going to let an expert describe how to do it! Here's the hard (but proper) way:

http://forum.xda-developers.com/showthread.php?t=879701 (Captainkrtek and Adrynalyne)

And here's the easy way, all nicely pacaged up for you:

http://forum.xda-developers.com/showthread.php?t=502010 (VanillaTbone)

I would write a short explanation of ADB installation for you here but it would just confuse you, so im gonna let other people do the work! :D

Custom Rom List
Well, Swi7chblade has done a far better job at doing a custom Rom list then me so I will give you a link to his instead ;)

http://forum.xda-developers.com/showthread.php?t=1253665 (Swi7chblade)


Stock ROMs

Intratech has a collection of stock ROMs, Kernels and Radios all compressed up nicely for you. Link is here:

http://forum.xda-developers.com/showthread.php?t=1075278

Why stock I hear you say? Flashing back a 'stock' ROM usually helps fix random issues you might get whilst switching ROMs, like bootloops. Also, some people prefer the stock experience!

The Forums

Well, I'm not going to patronise you by telling you how to be nice to people etc, but there is often a lot of confusion with regards to the forum rules:

http://forum.xda-developers.com/announcement.php?a=81 (MikeChannon)

I often see moderators with dangerously high blood pressure stressing the following points in particular:

- Use the search button
- Post in the right forums
- Use the search button
- Don't spam/ Flame
- Use the search button
- No ETAs
- Use the search button

:)

If you have owned a device that is supported by XDA before, or have had a look at other device forums, you may of noticed that the development forums for the GSII are slightly different. They are split into two sections:

- Original Android Development
- Android Development

This is an experiment being done by the moderators of the forum that (regardless of my own opinion) is meant to distinguish between 'original' Roms and 'derivative' Roms. For instance; cyanogenmod is a rom built from AOSP source and has been actively developed with added applications, improvements to code etc etc. It is therefore classified as 'original' and placed into the 'original android development' sub-forum. Roms that either use another Rom as a base or do not have any 'original' components are deemed 'derivative' and are placed into the 'android development' forum. Despite this, I urge you to look in both forums! The both have excellent Roms and just because some are deemed 'original' this does not mean they are superior to those that are not. There is great development going on in both forums :)


Useful Links

CF-ROOT and CWM: http://forum.xda-developers.com/showthread.php?t=1103399
Galaxy S II FAQ:http://forum.xda-developers.com/showthread.php?t=1065995
Korean Galaxy S II Thread: http://forum.xda-developers.com/showthread.php?t=1097347
Android Terminology (from the CM Wiki): http://wiki.cyanogenmod.com/index.php?title=Terminology


Glossary:

Flash - Put new firmware onto your phone
Firmware - A piece of software
OC - Overclock (the processor)
UC - Underclock (the processor)
Odin - Used to flash new ROMs to yor phone
ROM - a piece of firmware, usually modified by a developer
CWM - ClockWorkMod recovery, a very useful tool used to falsh new roms, kernels etc
Nandroid - A method of backing up your existing 'Rom' with all its apps, data, contacts etc. Done through CWM
.apk - The file type that android apps are contained in. To install just click on it!
AOSP - A ROM built from the original google android source, not a customised version of a manufacturers ROM
CyanogenMod - A very popular, customised, AOSP Rom



TO DO

- CWM
- Finish glossary
- ADB
- Additions to rooting section (superuser, busybox etc)
- How to do a backup via CWM
- Expand ODIN section
- Link to stock ROM list
- Create a 'Custom ROM' list with links to all current custom roms
- Explanation of AOSP (including CM, MIUI)
- Forum etiquette
- Useful links
- Backing up the /efs folder
- Custom boot animations


 

Attachments

  • Odin3-v1.85.zip
    198.9 KB · Views: 18,733
Last edited:

godutch

Senior Member
Jun 29, 2009
2,558
374
www.burgerforumeu.nl
Nice guide, a few remarks:

root in unix terminology is the same as administrator in window, so rooting a phone means you are getting administrative powers, also rooting your phone voids warranty

maybe some other things could be included: the jig, BACKING UP /efs(this should be the most prominent caption) and adb (+adb frontends like qtadb)
 
Last edited:
  • Like
Reactions: MPPO

willk22

Senior Member
May 19, 2009
133
220
London
Nice guide, a few remarks:

root in unix terminology is the same as administrator in window, so rooting a phone means you are getting administrative powers, also rooting your phone voids warranty

maybe some other things could be included: the jig, BACKING UP /efs(this should be the most prominent caption) and adb (+adb frontends like qtadb)

Ok thanks for the hints, i will adjust the rooting section accordingly. I'm also going to add a to do list... right now...
 
  • Like
Reactions: fuusuke

godutch

Senior Member
Jun 29, 2009
2,558
374
www.burgerforumeu.nl
Don't forget the /efs directory, if it gets messed up (and sometimes it does) you will loose your phone and data connection permanently and you end up with an expensive Galaxy S mediaplayer. There is no known way to retrieve it and it does get messed up flashing custom roms (many nexus s users now have, well an expensive mediaplayer after flashing a certain rom)
 

willk22

Senior Member
May 19, 2009
133
220
London
Don't forget the /efs directory, if it gets messed up (and sometimes it does) you will loose your phone and data connection permanently and you end up with an expensive Galaxy S mediaplayer. There is no known way to retrieve it and it does get messed up flashing custom roms (many nexus s users now have, well an expensive mediaplayer after flashing a certain rom)

Would you be ever so kind as to write me a definition to add? I'm not going to lie I had never heard of this probelm but it does sound important
 
  • Like
Reactions: fuusuke

godutch

Senior Member
Jun 29, 2009
2,558
374
www.burgerforumeu.nl
  • Like
Reactions: haybill

JJEgan

Senior Member
Oct 24, 2010
30,293
5,889
How long before the post is ruined by idiots posting help questions in it .
Is their a way to lock it so as not to detract fro0m a very good stickie .
Just look at the FAQ page totally devoid now of being a FAQ .

Backing up EFS see topic Dev in section .

jje
 

godutch

Senior Member
Jun 29, 2009
2,558
374
www.burgerforumeu.nl
How long before the post is ruined by idiots posting help questions in it .
Is their a way to lock it so as not to detract fro0m a very good stickie .
Just look at the FAQ page totally devoid now of being a FAQ .

Backing up EFS see topic Dev in section .

jje


In the desire dev section there is a reference thread, new suggestions are posted and once in a while the thread is cleaned: all the suggestions are added to the OP and then together with useless posts deleted....
 

willk22

Senior Member
May 19, 2009
133
220
London
How long before the post is ruined by idiots posting help questions in it .
Is their a way to lock it so as not to detract fro0m a very good stickie .
Just look at the FAQ page totally devoid now of being a FAQ .

Backing up EFS see topic Dev in section .

jje

Well I guess that is something that mabye a moderator can do? It would be a dillema though because I really would like suggestions from the community on how to improve the guide and add suggestions and amendmants... but you are right!
 

drspikes

Senior Member
Aug 29, 2009
174
16
London
I've never seen definite evidence that having root voids warrantee.Looking through all the documents it only says things like if you change the software and this causes the problem they won't fix it. I suspect they would still fix a hardware fault. Samsung have given phones to known hackers. It would seem hard for them to argue that rooting invalidates warrantee when they have encouraged it.

Sent from my GT-I9100 using XDA App
 

willk22

Senior Member
May 19, 2009
133
220
London
I've never seen definite evidence that having root voids warrantee.Looking through all the documents it only says things like if you change the software and this causes the problem they won't fix it. I suspect they would still fix a hardware fault. Samsung have given phones to known hackers. It would seem hard for them to argue that rooting invalidates warrantee when they have encouraged it.

Sent from my GT-I9100 using XDA App

Better safe then sorry!

Plus phones can easily be unrooted.
 

godutch

Senior Member
Jun 29, 2009
2,558
374
www.burgerforumeu.nl
I've never seen definite evidence that having root voids warrantee.Looking through all the documents it only says things like if you change the software and this causes the problem they won't fix it. I suspect they would still fix a hardware fault. Samsung have given phones to known hackers. It would seem hard for them to argue that rooting invalidates warrantee when they have encouraged it.

Sent from my GT-I9100 using XDA App


It's true, I can't find the reference right now but a member called Kalua( he is an official samsung repair center) posted a part of the official service manual which says it voids warranty



http://gathering.tweakers.net/forum/list_category/13


it's very hard to retrieve/find indivual posts though


edit: found it: http://gathering.tweakers.net/forum/view_message/36107694
 
Last edited:

crx16

Member
Nov 27, 2005
48
5
Could you explain the usb jig please. Isnt the binary clock reset when re rooting? In fact a whole how to re root your gs2 so samsung will never know guide would be great.

Sent from my GT-I9100 using XDA App
 

santiago84

Member
Jul 15, 2008
21
0
Thanks for this. It's very much appreciated by all noobs to Samsungs. I look forward to future updates

Sent from my GT-I9100 using XDA Premium App
 

blue265

Senior Member
Jan 31, 2011
451
126
Toronto
Very good idea and think this will help a lot of people ;) This will definitely be a good link to send those who are new to the device
 

JJEgan

Senior Member
Oct 24, 2010
30,293
5,889
I've never seen definite evidence that having root voids warrantee.Looking through all the documents it only says things like if you change the software and this causes the problem they won't fix it. I suspect they would still fix a hardware fault. Samsung have given phones to known hackers. It would seem hard for them to argue that rooting invalidates warrantee when they have encouraged it.

Sent from my GT-I9100 using XDA App

No Rooting letter from Samsung .

http://www.samfirmware.com/apps/blog/show/5267754-newsletter-by-samsung-electronics-
 
  • Like
Reactions: wrayrb

Hrti

Senior Member
Aug 2, 2010
351
22
This looks really nice, and will be a good ref for many. I even found myself asking lots of these questions in many threads because I'm used to the HTC way of rooting.

A nice little section to add would be a "unroot your device" for people with warranty purposes. This is a question that pops up everywhere.

Keep up the good work!

Sent from my GT-I9100 using XDA Premium App
 
  • Like
Reactions: geronimo_2

Top Liked Posts

  • There are no posts matching your filters.
  • 197
    Please suggest any changes, additions etc :)

    Please don't try to hold me responsible if following anything here makes your phone die. Pretty please!


    I have been looking through the forums, rom threads etc, and have seen a lot of questions cropping up again and again. Therefore I decided to start this project!

    Basically I hope this will become a reference for newbies to get themselves accustomed to android and the galaxy s II! I will try to update it regularly with information about ROMS, Flashing and general android/samsung terminology.

    If you think that I have given a wrong definition or think that anything needs clarifying more please tell me! Also, if you think that I should add anything then feel free to suggest.

    Here we go...

    Contents

    1. Rooting
    - Rooting your phone

    2. Kernels
    - Eplanation
    - Links


    3. Odin

    - Guide to using Odin

    4. Custom ROMs
    - Risk
    - Benefits
    - AOSP ROMs


    5. ClockWorkMod

    - Explanation
    - How to Backup/NANDroid
    - How to Restore
    - How to install a ROM using CWM


    6. /efs

    - What it is
    - How to back it up


    7. List of Custom ROMs


    8. The Forums


    9. Glossary


    10. To Do list



    Rooting
    Rooting is the process of getting 'root access'. In a nutshell this means that you can edit the system partition of your phone. The best analogy of this I can think of is if you imagine a tree! The tree you see above the ground is what you can edit on your phone normally, for example you can add music files, edit text files, etc etc. The 'roots' of the tree are the android system files themselves, they are unseen and are not usually meant to be messed with. It can also be seen as the equivelant of having administrator privilages in windows - with them you have better access to your computer.

    Rooting voids your warranty!
    But you can un-root your phone by flashing a 'stock' ROM and Kernel.

    Gaining root access however allows us to customise our phones even further, for example you can:
    • Edit files to create themes
    • Backup usefull system files
    • Remove bloatware and unwanted apps

    Rooting the Galaxy S II
    Rooting the Galaxy S II is, thankfully, easy! Unlike certain other phone manufacturers *cough* HTC *cough* samsung haven't imposed any unnecessary locks on the phone, and so we dont have to hack our phones to pices to be able to root them.

    Several guides already exist in the development forum on how to root you phone - it involves a custom kernel:

    http://forum.xda-developers.com/showthread.php?t=1103399 (by Chainfire)

    Or, here is the Noobs Guide:

    http://forum.xda-developers.com/showthread.php?t=1126522 (capaxdoli)

    And an extremely detailed thread from wibbsy:

    http://forum.xda-developers.com/showthread.php?t=1246131 (wibbsy)

    Superuser and Busybox
    Superuser is an app that is present on pretty much all custom ROMs. It allows you to manage 'superuser' rights for your phone, in other words which apps you want to allow to have root access. If you dont have it on your custom ROM then you would want to download it from the market (free). Once you have it downloaded you dont need to do anything! It will warn you when an app wants root access, and ask you to allow once, allow all the time, or never allow. It can also be seen as a firewall for your phone, you can deny access to the root of your system files to apps you dont think should be down there!

    Busybox is basically a set of commands that aren't built into android to begin with, but are part of Unix (which android is based on). They add additional functionality for root application to perform their job! To be honest this is all I know about busybox, but it is very useful, and lots of root apps need it, so download it!



    Kernels
    This brings me along nicely to Kernels! Kernels are basically a bridge between your apps and your hardware. It controls everything that apps send to the processor, and everything the processor sends back.

    This, as you can imagine, makes kernels VERY important. On XDA, you might see a kernel posted in the development forums. The are usually identified as [Kernel] in the thread title. You will probably also see more brackets in the title, these identify what modules the developer has added to the kernel, or what features it includes. For example [OC/UV 1.5GHZ]. This means that the kernel will enable the phone to be overlcoked to 1.5GHz, but also means the processor is undervolted (meaning it draws less power from the battery).

    For more details look here:
    http://forum.xda-developers.com/showthread.php?t=894880 (mroneeyedboh)

    And here for more details on 'govenors':
    http://forum.xda-developers.com/showthread.php?t=843406 (RJackson)

    Odin
    Odin is a piece of software that allows us to flash anything we want to the phone. The file is attached to the bottom of this post.

    It is perfectly safe IF USED CORRECTLY!

    This is a general guide for using Odin, take a look at this picture (thanks to screamworks):



    To get Odin to connect to your phone, you need to boot into 'download mode' by pressing volume down, home, and power keys at the same time, and connect your phone to your PC via USB.

    Everything in red:
    NEVER TOUCH
    NEVER TOUCH
    NEVER TOUCH
    NEVER TOUCH


    It's that simple! I would be more specific but most Roms, Kernels and CSCs have methods on their respective threads for using Odin with their ROM, so it best to look there.

    Wait... (I hear you say...)

    Why bother flashing a custom ROM if there is a risk of damaging your phone? Well, they usually come with the following benefits:

    - Deodexed, basically allows deeper theming of applications
    - Zipaligned, reduce the amount of RAM used when running an application
    - Optimisations, meaning that the developer has tweaked the roms system files for bettery speed, battery life and stability
    - Quicker Updates, Rom developers will more often then not update their rom to fix bugs FAR quicker then samsung ever will
    - Additions, Developers also like to add their own additions to their ROMs, such as themes and applications

    The benefits far outweigh the risk!

    AOSP
    AOSP (Android Open Source Project) ROMs are built from the original android source. They are essentially a 'clean' version of android without any additions from manufacturers (e.g no Touchwiz, Sense, MotoBlur etc...). They are popular mainly because they are so customisable. Here is a list of the three main AOSP build you will find:

    'Pure' AOSP
    This is a build straight from Google's sources and does not contain any modifications whatsoever, other then those that make it run on the particular device. Here is the AOSP project website for more information:

    http://source.android.com/

    CyanogenMod
    This is an extremely popular AOSP build that provides endless customisation to the user. The builds are fast, stable and reliable, and nearly every android device has a cyanogen mod ROM built for it. It is also popular for its 'nightly' (literally) updates. More information can be found on the Cyanogen website here:

    http://www.cyanogenmod.com/

    MIUI

    MIUI is a chinese rom that has been heavily customised, and is influenced by iOS. Think what would happen if an android phone and an iPhone had a baby... Despite commiting the henious crime of trying to be an iPhone, it does work. MIUI Roms are essentially all about speed and looks, if that is what you are after! Here is the MIUI website for further information:

    http://www.miuiandroid.com/



    ClockWorkMod (CWM)



    Clockworkmod is a 'custom recovery' made by xda member koush. Every phone had a recovery partition designed so that if the user messes up a ROM installation, they can recover their phone. CWM is a modified recovery installed into the recovery partition that allows advanced control over ROM recovery, installation and much more.

    Features of CWM include:
    - NANDroid Backup, This allows you to completely back up your existing ROM with all its files, data and apps
    - Restore Backup, Restores a previous backup (obviously...)
    - ROM installation, Allows you to install a ROM contained inside a flashable .zip file
    - Wipe data/Factory reset, completely erases all of your data contacts, apps etc, leaving your phone 'as new'
    Amongst others...

    How to install CWM
    If you have already rooted your phone using the CF-root Kernel, then you already have CWM! If not, then just install the kernel linked to above in the 'how to root your phone' section

    How to make a NANDroid backup using CWM
    Backups are important because they allow you to restore your ROM incase flashing goes wrong, or you phone starts playing up and displaying wierd bugs.

    To make a backup, you need to boot into CWM recovery (done through the 'cwm' app installed onto your phone when you flash the cf-root kernel). Then, you need to navigate down to 'backup/restore' using the volume keys, and select it using the home key. From here, just click 'backup' and you are all set! Leave your phone make the backup (its takes some time) and then just reboot when it tells you its finished. To restore your backup, do the same but instead of clicking backup, click 'restore' instead. Choose which backup you would like to restore and leave the phone to do its magic. Done.

    How to install a ROM using CWM
    Installing a ROM using CWM is a lot less hassle then installing via Odin. The ROM developer will specify which method of installing their ROM you can use, but it is usually done by a CWM flashable .zip.

    To flash:
    1. Boot into CWM as described above
    2. Navigate to 'install zip from sd card'
    3. Select it, and then navigate to 'install zip from sdcard' again!
    4. Select the ROM you downloaded from your sd card
    5. Navigate down to yes
    6. Let CWM install you new ROM!

    Note: The same process applies for flashing a kernel

    The /efs folder
    The /efs folder is a folder in your phone that contains information specific to YOUR phone, for example your IMEI number, product number, Wireless MAC addresses, and much more. There have been reports of people messing up their /efs folder when unlocking their phone or flashing new ROMs, here is an example from the Nexus S development forum (jump to page 111 to see everyone start to panic):

    http://forum.xda-developers.com/showthread.php?t=1034130

    Therefore, it is important to make a backup! Instead of just regurgitating guides on the forums already, here is a link to a very good one by Rawat:

    http://forum.xda-developers.com/showthread.php?t=1068193 (Rawat)

    The easiest way of doing it is by using terminal emulator rather then ADB (unless you have ADB all up and running and are confident with it)

    Thank you to Godutch for suggesting this, I was never actually aware of it!

    ADB
    ADB stands for Android Debug Bridge, and is a useful tool for your device. It has many funtions including:
    - Pushing .apks to your phone
    - Pushing files to your phone to specific locations
    - Rebooting to download and recovery

    And I haven't even scratched the surface! It does a lot more trust me...

    You will see guides on this forum saying 'this guide assumes you have ADB set up', which you definitely should do! However, there is a downside - it can be horifficaly complicated and fustrating to install for a newcomer to android, you have to mess around with SDKs, EXEs, Drivers, Paths, Yawwnnn....

    So I'm going to let an expert describe how to do it! Here's the hard (but proper) way:

    http://forum.xda-developers.com/showthread.php?t=879701 (Captainkrtek and Adrynalyne)

    And here's the easy way, all nicely pacaged up for you:

    http://forum.xda-developers.com/showthread.php?t=502010 (VanillaTbone)

    I would write a short explanation of ADB installation for you here but it would just confuse you, so im gonna let other people do the work! :D

    Custom Rom List
    Well, Swi7chblade has done a far better job at doing a custom Rom list then me so I will give you a link to his instead ;)

    http://forum.xda-developers.com/showthread.php?t=1253665 (Swi7chblade)


    Stock ROMs

    Intratech has a collection of stock ROMs, Kernels and Radios all compressed up nicely for you. Link is here:

    http://forum.xda-developers.com/showthread.php?t=1075278

    Why stock I hear you say? Flashing back a 'stock' ROM usually helps fix random issues you might get whilst switching ROMs, like bootloops. Also, some people prefer the stock experience!

    The Forums

    Well, I'm not going to patronise you by telling you how to be nice to people etc, but there is often a lot of confusion with regards to the forum rules:

    http://forum.xda-developers.com/announcement.php?a=81 (MikeChannon)

    I often see moderators with dangerously high blood pressure stressing the following points in particular:

    - Use the search button
    - Post in the right forums
    - Use the search button
    - Don't spam/ Flame
    - Use the search button
    - No ETAs
    - Use the search button

    :)

    If you have owned a device that is supported by XDA before, or have had a look at other device forums, you may of noticed that the development forums for the GSII are slightly different. They are split into two sections:

    - Original Android Development
    - Android Development

    This is an experiment being done by the moderators of the forum that (regardless of my own opinion) is meant to distinguish between 'original' Roms and 'derivative' Roms. For instance; cyanogenmod is a rom built from AOSP source and has been actively developed with added applications, improvements to code etc etc. It is therefore classified as 'original' and placed into the 'original android development' sub-forum. Roms that either use another Rom as a base or do not have any 'original' components are deemed 'derivative' and are placed into the 'android development' forum. Despite this, I urge you to look in both forums! The both have excellent Roms and just because some are deemed 'original' this does not mean they are superior to those that are not. There is great development going on in both forums :)


    Useful Links

    CF-ROOT and CWM: http://forum.xda-developers.com/showthread.php?t=1103399
    Galaxy S II FAQ:http://forum.xda-developers.com/showthread.php?t=1065995
    Korean Galaxy S II Thread: http://forum.xda-developers.com/showthread.php?t=1097347
    Android Terminology (from the CM Wiki): http://wiki.cyanogenmod.com/index.php?title=Terminology


    Glossary:

    Flash - Put new firmware onto your phone
    Firmware - A piece of software
    OC - Overclock (the processor)
    UC - Underclock (the processor)
    Odin - Used to flash new ROMs to yor phone
    ROM - a piece of firmware, usually modified by a developer
    CWM - ClockWorkMod recovery, a very useful tool used to falsh new roms, kernels etc
    Nandroid - A method of backing up your existing 'Rom' with all its apps, data, contacts etc. Done through CWM
    .apk - The file type that android apps are contained in. To install just click on it!
    AOSP - A ROM built from the original google android source, not a customised version of a manufacturers ROM
    CyanogenMod - A very popular, customised, AOSP Rom



    TO DO

    - CWM
    - Finish glossary
    - ADB
    - Additions to rooting section (superuser, busybox etc)
    - How to do a backup via CWM
    - Expand ODIN section
    - Link to stock ROM list
    - Create a 'Custom ROM' list with links to all current custom roms
    - Explanation of AOSP (including CM, MIUI)
    - Forum etiquette
    - Useful links
    - Backing up the /efs folder
    - Custom boot animations


    5
    How long before the post is ruined by idiots posting help questions in it .
    Is their a way to lock it so as not to detract fro0m a very good stickie .
    Just look at the FAQ page totally devoid now of being a FAQ .

    Backing up EFS see topic Dev in section .

    jje

    Well I guess that is something that mabye a moderator can do? It would be a dillema though because I really would like suggestions from the community on how to improve the guide and add suggestions and amendmants... but you are right!
    2
    Thank you for this awesome thread
    I will read a lot.
    I dont want my name on "post #5"

    Ha no you definitely don't!

    Added some stuff on the split development forums, and WOO STICKY! :D
    1
    Nice guide, a few remarks:

    root in unix terminology is the same as administrator in window, so rooting a phone means you are getting administrative powers, also rooting your phone voids warranty

    maybe some other things could be included: the jig, BACKING UP /efs(this should be the most prominent caption) and adb (+adb frontends like qtadb)
    1
    Nice guide, a few remarks:

    root in unix terminology is the same as administrator in window, so rooting a phone means you are getting administrative powers, also rooting your phone voids warranty

    maybe some other things could be included: the jig, BACKING UP /efs(this should be the most prominent caption) and adb (+adb frontends like qtadb)

    Ok thanks for the hints, i will adjust the rooting section accordingly. I'm also going to add a to do list... right now...