Overclock.net banner
1 - 14 of 14 Posts

· Premium Member
Joined
·
15,100 Posts
Discussion Starter · #1 ·
Seeing as there is many, many times when this question is answered repeatedly, I decided to make a thread to explain it, and I will add it to the "stickies."

First off, it's important to know that custom ROMs, unlocked bootloaders, and root are three very different things. While they tend to be thrown around loosely and some people do not know the difference, you CAN technically have any one of these things, alone, or a combination.

Bootloaders.

Bootloader, or boot.img, is, as it sounds, the first thing your phone finds when you initialize the boot. In the past, they were left fairly open to modification and the like, but in the past year or two more and more companies are locking phones down tighter. The development community generally finds ways around locked bootloaders, but there is no guarantees. An unlocked bootloader makes obtaining root and custom ROMs MUCH easier. There are ways to get around it (mostly something called kexec), but most are buggy and somewhat inconvenient, and very complicated so I won't explain them here. You can do that research if it pertains to you.

Here's a list of Android manufacturers and their stances on bootloaders. These are the ones I'm familiar with, feel free to let me know of others.

Samsung - Leaves it alone, rarely locks them. They did lock the Verizon Galaxy S3 and Verizon Note 2 by Verizon's request, and both were cracked (or for the GS3, an unlocked one was leaked). Generally, as far as I'm aware, Samsung has not encrypted any other bootloader on any other carrier.
HTC - Originally left them fairly wide open, then began locking them down. Upon user backlash, they created an unlock tool which allows unlocking of most old and almost all new devices. Some have been blocked by carriers (ATT One X, Verizon Rezound) but I believe these restrictions were bypassed and HTCdev has been successful for almost all of their new devices. HTC bootloaders use something called S-on and S-off. The S stands for security. Devices come S-on and developers work towards S-off. HTCdev does not grant S-off, but comes pretty close. HTC is not especially great at locking them tight, so S-off is very often obtained regardless. Generally, custom ROMs are very possible on HTC devices.
Motorola - Motorola is essentially a curse word to many devs at this point. They have a policy of locking up almost all their devices. Following user backlash, they said they would try to offer unlockable devices, and have slightly kept that promise. In Europe most Motorola devices now are unlockable, but in the US, very few are, and none on Verizon (the majority of their devices) are unlockable. They're also very good at locking them. I'm only aware of two Moto phones in recent years that have been cracked, and I believe they were because of a leaked passcode. Kexec is mostly used on Motorola devices because of this policy.
LG - Unsure, can someone post LG's stance so i can add it here?
Sony - Sony is very open about it and even encourages unlocking of bootloaders and I believe even honors warranties. Google has even accepted one Sony phone into the AOSP because of their very open approach.
Asus - Mixed bag. Original Transformer was unlockable but I believe recent ones have been locked. It's my understanding they do have an unlock tool available if you're willing to void your warranty.
Nexus - Since Nexus devices may come from these manufacturers but have a very different policy, I'll touch on them. Every Nexus thus far can be easily unlocked in about five minutes with very little risk involved. They come directly from Google and Google supports that.

Root

Having root access means being able to read and write to the lower level of the system. Android phones do NOT come pre-rooted, but almost all mainstream devices have been rooted. It generally is much easier to obtain root (especially on Motorolas) than unlock the bootloader. The specifics aren't important, but gaining root modifies the permissions in your phone. In some ways it increases security, but puts you in more control. Gaining root includes deploying an app called either Superuser or SuperSU (both do the same thing, SuperSU is gaining more popularity these days). Every time root access is requested by an app, SuperSU/Superuser will prompt you to either grant or deny that app access. Having root opens up a massive amount of new apps available through Google Play Store, including backup apps, system tools, and almost anything else under the sun. While customization without root is very possible, root allows for much deeper customization and theming. While you do not need to have an unlocked bootloader to have root, if you do have an unlocked bootloader, root is obtained VERY easily by flashing a simple zip file through recovery. OTA updates almost always break root, so especially if you've got a Motorola, research new updates before you update, in order to make sure root can be regained.

Custom ROMs

The thing root and unlocked bootloaders work towards. It's very in depth, but I'll try to explain it in layman's terms. Custom ROMs are versions of Android modified by anyone who chooses, and distributed to people to run on their phones. Often they are debloated (carrier junk removed), have performance modifications or battery life changes, and may come themed. These are often used to be running the latest version of Android before the manufacturer or carrier pushes the update out. As they are typically done as a hobby, they will usually have more bugs than a standard ROM, especially when new. There are two different types of major custom ROMs. AOSP or stock. Stock is built on top of the original ROM or one from a similar phone. They will be TouchWiz (Samsung) Sense (HTC) or Blur (Motorola) based ROMs and look similar to what came on your phone. On the other hand, AOSP (Android Open Source Project) ROMs are versions based on the vanilla android Google produces, that exists on Nexus devices. it has no Touchwiz, Sense, or Blur. It's a preference. These may have more bugs as they're significantly different from the manufacturer's software. Popular AOSP distrobutions include CyanogenMod, AOKP, and many others. Almost all custom ROMs come pre-rooted.

Kernels are the lower level of the ROM. I'm not an expert on kernels to be honest, but these are what allow overclocking. They tend to vary by device and some may be buggier or have bad battery life, so you'll have to test these yourself. Be sure to flash the right kernel, however. AOSP kernels and TouchWiz/Sense kernels are not interchangeable usually. For the most part, kernels cannot be changed without an unlocked bootloader, but custom ROMs sometimes can be changed a bit (though it's much harder for developers!).

Recovery

Recovery mode is on every phone I'm aware of. It's the mechanism through which updates are installed. However, stock recoveries, even on Nexus devices, do not allow flashing of unsigned files. That's where custom recoveries come in. Popular recoveries include ClockworkMod and TWRP. They are accessed by pressing a key combination whilst turning your phone on, and allow nandroid backups (full system image backups), restores, and allow unsigned images to be flashed. Custom recovery, to my knowledge, can be flashed on any device with root, and root can be gained by any device with custom recovery. to find which comes first you'll have to research your device. Recovery is the console through which all custom ROMs are flashed. Even most locked bootloaders allow custom recoveries.

If you have any suggestions, please go ahead and post them up! Hope this helps clear these things up..
 

· Registered
Joined
·
1,896 Posts
Nice primer. When I get some time I can post up a quick explanation of ADB and fastboot, as well as some tips for newbies.

A couple quick suggestions first:
-You should note that while rooting is relatively safe, you can brick your device pretty easily by messing with the wrong kernel/ROM/recovery. With this kind of information must come the warnings
smile.gif

-Also, for those looking to flash a custom ROM, there should be a note about things like "nightlies" and "stables". A nightly build is typically the most recent build (they're generally built every night, as the name suggests) but are also the most buggy since they involve all the most recent modifications. Some devs make them, others don't. For example, CyanogenMod puts out nightlies for pretty much every device they develop for, but AOKP doesn't have official nightlies (although some individual developers under the AOKP banner put out "preview" or "unofficial" builds on a semi-regular basis). Generally, beginners should not use nightly builds as they'll cause too many problems and beginners won't know what to do when these issues pop up. After that come more "solid" releases. AOKP official releases fall under this category. While I don't use CM, I believe their "M" snapshots are around this level. These are typically OK to use, as they are built to be somewhat stable. Regardless, all custom ROMs have inherent risk.
 

· Registered
Joined
·
789 Posts
I could of used this information a few months back. I had to hunt to find all the information I needed, and you list everything right here. I am running an unofficial CyanogenMod 10 on my HTC Evo Design 4G, which runs with only one or two bugs. I used to run a stock ICS ROM for it.
 

· Premium Member
Joined
·
15,100 Posts
Discussion Starter · #4 ·
Quote:
Originally Posted by audioxbliss View Post

Nice primer. When I get some time I can post up a quick explanation of ADB and fastboot, as well as some tips for newbies.

A couple quick suggestions first:
-You should note that while rooting is relatively safe, you can brick your device pretty easily by messing with the wrong kernel/ROM/recovery. With this kind of information must come the warnings
smile.gif

-Also, for those looking to flash a custom ROM, there should be a note about things like "nightlies" and "stables". A nightly build is typically the most recent build (they're generally built every night, as the name suggests) but are also the most buggy since they involve all the most recent modifications. Some devs make them, others don't. For example, CyanogenMod puts out nightlies for pretty much every device they develop for, but AOKP doesn't have official nightlies (although some individual developers under the AOKP banner put out "preview" or "unofficial" builds on a semi-regular basis). Generally, beginners should not use nightly builds as they'll cause too many problems and beginners won't know what to do when these issues pop up. After that come more "solid" releases. AOKP official releases fall under this category. While I don't use CM, I believe their "M" snapshots are around this level. These are typically OK to use, as they are built to be somewhat stable. Regardless, all custom ROMs have inherent risk.
Could probably go with a warning. Though if you're doing it, you're gonna have to find instructions somewhere. They'll usually tell you the risks involved too
smile.gif
Maybe i'll add it to the next revision.

Technically, you can get AOKP nightlies. You just have to compile it yourself. In recent times, CM has been focusing more on Nightlies. It used to be the nightlies were very buggy and you didn't dare run CM unless it was an RC or stable release, but with CM9 and 10 they haven't even done RCs, and just release a stable when they declare it good enough, lately when Google releases a new version to develop on. Early nightlies may be rough, but a month or so in just about all the bugs should be squashed.

Thanks for the feedback though! If you want to do a writeup about fastboot and ADB you're welcome to. Go ahead and post it in this thread, I'll link it in the OP
smile.gif
I've actually never used much ADB, in all my rooting and ROMing years I've never needed it. Only used ADB to unlock my N7 bootloader.
 

· Premium Member
Joined
·
3,595 Posts
I think this thread is a nice idea, but I have some constructive criticism, if that's okay:

Some descriptions are not worded well for beginners who have no context or frame of reference for this stuff. For example, root is described as "being able to read and write to the lower level of the system". That is correct, but probably just sounds like gibberish or is meaningless for those who don't understand file systems and permissions. A better description, I think, would be something like "Root, which is short for root access, grants the user access to and control of files and settings that are normally protected by the operating system."

Other descriptions don't actually explain the technology. For example, the entire description for bootloaders is "first thing your phone finds when you initialize the boot.". A short, nontechnical description like "The bootloader contains the instructions for your device to boot the operating system. This code is the first thing your phone executes when you turn it on, and is in many ways like the BIOS on a PC." (I realize the BIOS on a PC doesn't actually contain the bootloader, and that the Android bootloader technically starts the kernel, but the concept works).

Lastly, I attached a picture which graphically shows the android system hierarchy. A little advanced for this article, but great for visual learners.

Android-system-architecture.jpg 194k .jpg file
 

Attachments

  • Rep+
Reactions: H969

· Premium Member
Joined
·
15,100 Posts
Discussion Starter · #6 ·
Quote:
Originally Posted by MrLinky View Post

I think this thread is a nice idea, but I have some constructive criticism, if that's okay:

Some descriptions are not worded well for beginners who have no context or frame of reference for this stuff. For example, root is described as "being able to read and write to the lower level of the system". That is correct, but probably just sounds like gibberish or is meaningless for those who don't understand file systems and permissions. A better description, I think, would be something like "Root, which is short for root access, grants the user access to and control of files and settings that are normally protected by the operating system."

Other descriptions don't actually explain the technology. For example, the entire description for bootloaders is "first thing your phone finds when you initialize the boot.". A short, nontechnical description like "The bootloader contains the instructions for your device to boot the operating system. This code is the first thing your phone executes when you turn it on, and is in many ways like the BIOS on a PC." (I realize the BIOS on a PC doesn't actually contain the bootloader, and that the Android bootloader technically starts the kernel, but the concept works).

Lastly, I attached a picture which graphically shows the android system hierarchy. A little advanced for this article, but great for visual learners.

Android-system-architecture.jpg 194k .jpg file
I'll take that into consideration. Generally I didn't try to get THAT beginner, as I figured most people on this site would understand those descriptions. Most OCNers know what they would mean.

I could simplify it more, though
smile.gif


Thanks!
 

· Ncase M1 Lover
Joined
·
1,490 Posts

· Registered
Joined
·
910 Posts
Quote:
Originally Posted by exzacklyright View Post

Added some articles related to android:

How to install ADB

and

Titanium Backup Guide for newbies
hahahaha +1 for both of these. Both essential to know about when you enter rooting field.

@OP: I run an HTC device with S-OFF. To put it better I would say that S-ON is what's granted by HTCdev unlock but the boot.img of a ROM will still need to be flashed. With S-OFF thats not required. Also in regards to the actual cracking of S-OFF for an HTC phone, S-OFF can only be done after HTC releases kernel sources (and HTC is very slow at this. ONE S and ONE X only found theirs recently as i recall). The DROID DNA from VERIZON can't be unlocked via HTCdev as well (from certain devices onwards)
As for Sony, youre wrong, its not 1 device but 2 (maybe 3). Im pretty sure the one u mentioned is Xperia S. But the Xperia Z (maybe ZL as well) was added to Google's Source Code.

To touch on more experience users, I think itd be important to mention ion (a kernel requirement fro JellyBean) but like you said, ure not a kernel guy so whatever. Basically its just what distinguishes a device as legacy or not. And Im not gonna touch on it any further because it becomes a bit technical
tongue.gif


For the ROOT section I think its important to note that HTC, u need to unlock bootloader, flash recovery, and then flash root file and stuff but that should be specified in any device rooting guide anyways/.

Anyways I love the idea of this thread but I think you need to highlight the advantages of rooting at the beginning. Might get more people interested in reading a wall'o'text
tongue.gif
 

· Premium Member
Joined
·
15,100 Posts
Discussion Starter · #9 ·
You definitely don't need to unlock bootloader on all HTCs to root...
 

· Registered
Joined
·
10,524 Posts
i have not see n one guide the explains weather or not ROM are device specific. all guides act like every android device has modded kernels and roms available and something makes me think only the popular phones have modded roms and kernels.
 

· Premium Member
Joined
·
15,100 Posts
Discussion Starter · #11 ·
Yes, ROMs are device specific. That said, many are available for many devices. Cyanogenmod for example.

What device are you referring to? Almost everything has some available.
 

· Registered
Joined
·
10,524 Posts

· Premium Member
Joined
·
15,100 Posts
Discussion Starter · #13 ·
In that case no. Never heard of it, but just Googled it and it sounds like a bottom tier phone that's been out for years, running Froyo.
 

· Registered
Joined
·
10,524 Posts
i Google it for you, it came out in 2011. and yeah that's why i want to over clock it to make it faster. this is what i'm talking about, every one acts like it's so awesome and can be done for all the android device but , that's flat out not true and is the wrong mentality. if i was writing a guide i'd include the mentality that it's only for popular devices and make sure people know this stuff is device specific so that if they are like me and find little no google results they know it isn't possible.

thankfully-ish in my case this phone even though it's PSO has all i ask for in android, which is music, sega emulators and a physical keyboard, though i'm finding out how bad most android keyboards suck with out d-pad like my black jack 1 had (i lost it to the washing machine)

Tough i did make another thread asking about droids with good decent KBs and or equipped with d-pads.(just encase i do get enough scratch some time this year to get one.)
 
1 - 14 of 14 Posts
This is an older thread, you may not receive a response, and could be reviving an old thread. Please consider creating a new thread.
Top