- Taken from the Cyanogen Wiki CyanogenMod Wiki
Most carriers "lock" their handsets to discourage customers from taking their handset and moving to another carrier. Carriers also depend on "exclusivity" agreements to encourage users to switch to their plans so they can use a particular handset (e.g., Apple's iPhone on the AT&T network). To use the handset on another carrier's network it would be necessary to "unlock" the handset. This is done with a code based on the IMEI of the handset that can be provided by your carrier or firms on the internet that are slightly more reliable than west African ebay bidders. Unlocking is not possible with CyanogenMod or any other Android replacement.
Furthermore, they may impose software limitations to prevent using the handset in a manner that might undercut their voice plans (e.g., Skype, Google Voice), or putting strain on the data network (e.g., tethering, streaming video). The way to get around this is to acquire 'root' (i.e. Administrator) access on the device, so you can install/modify/fix/break anything you want.
- Rooting directions vary from phone to phone, but a good place to start would be the Android Development forums at XDA-Developers (.com).
In and of itself, root only gives you access to secured parts of the phone, just like if you're using using Windows and you have to click that little Run As Administrator prompt. Basically it's a system developed a long while back that keeps the regular day to day operations from being able to have too negative an impact on the rest of the system.
The positive thing about root is everything it then allows you to do further on down the line including custom apps, configurations and even OS'.
Here's a nice little Wiki article that gives a little more detail: Why Root - Android Wiki
- what is it?
it's all kinda easy...
imagine your fathers pc:
you can log in as a user, your father may have allowed you to install stuff. but hey the c:/windows/ folder is locked and you can't screw up the computer.
android works on linux.
linux has the following system:
as a regular android user you are an "admin user". you can install stuff, update, make the screen shiny and just work on it.
super users can screw up the kernel, over clock the processors (and overheat them by accident), get more sound from the speakers by "over clocking" that to, replace the system with another one, etc.
this has something to do with the security of the phone and the security of specific folders (with the most important folder called "ROOT").
like my android milestone is protected in two ways:
1: the phone's "bios" (protects the phone from weird changes and combines all devices in your phone to a working system)
2: the phones ROOT (contains all info on how the phone should work)
the bios must be cracked to make changes in the system (like ROOTing) some nerds do this and post "backups" of this system to xda-developers.
hackers/programmers make changes to specific files to remove the lock on SU (superuser) and post these in this backups.
SU-acces allows you to do things that are not supposed to work like sharing your 3G-connection to wifi. this is blocked till 2.1 because phone carriers din't like that. now with the 2.2 update it becomes legal). or change the folder where your apps are installed from phone memory to the SD card(once again in the 2.2 update they fixed this).
But, as you can think with your brains. Rooted systems can be broken by the most stupidest terminal commands (since you can just command the phone to blow itself lituraly), or even when you delete a file from the ROOT folder by accident. bricking the phone becomes very easy. that's why phone sellers won't help you as soon as they notice you were using a ROOTED phone.
you can test if your phone is rooted by downloading a small app called "terminal emulator" and filling in the code:
this (SuperUser) command, means that you tell the terminal that you want to start changing important stuff and you need all acces possible.
If the system is rooted you are presented by a # after you click the Enter(return) button on your keyboard.
if the system isn't rooted you are presented by the text "No acces" or something like it.
Rooting is only cool for people who: build their own systems, want to be their 1G phone (very old phone) a bit faster, or just want to prank to their friends on how they ruined their phones (and how much money they have to buy a new one).
Rooting is not cool for people who: know nothing of terminals and linux systems, are no developers for google, have brains, want to keep their phone carriers friendly,experience that in a pocket they can accidently push buttons and people who want to use their phone the best way possible (it costed manufacturers loads of time to adjust the system in such a way that the phone works the best, why would you screw that up?).
hope this solves the big question about Rooting.
but for those people that only read the last line:
rooting is giving yourself acces to the folder called ROOT, where the system get's it's knowledge on how many volts it should send to the different parts of your phone, and how everything in your phone should work. a good thinking (wo)man wouln't concider rooting for even a second!
- to get a good understanding of root, read this: What is root? -- definition by The Linux Information Project (LINFO)
- Here's the Evo info on what root is - Quick INTRO TO ROOTING for those new to rooting
- Generically speaking, rooting often is nothing more than hitting a known exploit where for a very brief instant, root access becomes available. These injection points are given names, like RageAgainstTheCage. During that time of root vulnerability, a system injection is made to hold the root door open until you're established as root.
Because they're timing dependent, doing it by hand may or may not require multiple, boring iterations - hence, the methods get scripted (sometime with the necessary iterative loops) and the result are the one-click methods.