Android Terminology 101 [rooting, flashing, unlocking & more...]

So, recently I had done a poll asking you about your thoughts on the future of rooting with Android.

Throughout the responses I received and discussion with other individuals there seems to be some misunderstanding or misconception about which term meant what.  For example, commonly the reason most 'rooted' their device was to flash a new ROM.  In that scenario one does not necessarily require the other.  So let's take a look at the terms you'll find around the internet when talking about Android and try to help you understand them.

Oh, and these aren't going to be super technical.  Really... I understand these things cursorily; but I'll explain it in ways that I (and hopefully you) can understand).

In most operating systems there are portions of the system that are locked away.  It's for your own good, typically.  If you’re using Windows, you’ll notice that you can see all your files but often to access some of the Windows folders you’ll be asked for administrator privileges to either view or make changes.  This is because some of the underlying system is dependent on the state of the files and libraries.  Changing those could cause some errors if you don’t know what you’re doing.

To root your phone is essentially providing your device with that kind of access to those system files and activities.  Some apps require that kind of access to make these changes to those system folders which are normally out of bounds.

How do you root your device?  You would need to install a SU application into the system.  This is usually done by flashing the binary via a custom recovery (normally stock recoveries do not allow you to install that type of file).  Check out Chainfire’s SuperSU application via his site.

Current apps that I’m using that are granted SuperSU priveleges:
AirDroid (so we can get screenshots from the accompanying webapp)
BBQScreen (so I can display a live showing of what’s on my phone on my computer)
DiskUsage (so I can see the size of the system files/folders)
SolidExplorer (so I can edit system files)
GooManager (so it can reboot into recovery)
Mirror (so I can screen record my phone’s display)

Essentially this is uploading of files to your phone’s flash memory.

Now there’s 2 types of ‘unlock’ out there for phones.  The more common use case is where the phone is ‘carrier locked’, meaning it’s usable only to one carrier.  Attempts to put a different carrier’s SIM card into the phone will not let you activate on those towers.  To ‘carrier un-lock’ your phone you’re best to talk to the carrier.

The other type of ‘lock’ is the locking down of the ‘bootloader’ of the device.  Bootloader is the ‘base level’ of the phone and where you can be allowed to flash system level files to the flash memory.  If the bootloader is unlocked you can’t ‘flash’ files.  Once unlocked you could flash files like a new radio, or a custom recovery or even a system update.

To unlock the bootloader can vary from device to device.  On a nexus device you would need the command ‘fastboot oem unlock’ (you’ll need the Android SDK for this).  This step will wipe your device.

For other brands you maybe have a simple 1-click method or use apps like Odin to help you accomplish this.

This another partition on your phone's drive that allows you to apply some system updates.  People apply custom recoveries to allow them more options.  I like just flashing a touch based recovery (no having to use the volume keys for me).

Like the recovery but this is meant to load some of the first level software; like the recovery or radio even the system.

This is the piece of software that interfaces between your phone and the radio hardware.  Some folks will use a custom radio for a ROM so they can use specific features like LTE (where I can't normally on my Nexus 4).

This is the software interface of the system of your device.  Essentially they’re all the same, but they appear different.  In all practicality most OEM’s version of Android is its own ROM.  Some of those examples are TouchWiz, Sense, etc…

But a ROM can be custom built entirely.  Common examples are Cyanogenmod, Omni, Paranoid Android, PACRom… and many many MANY more.

So you can see that installing a ROM doesn't necessarily mean that you're rooted.  In fact Cyanogenmod has a non-root installer that will install the ROM (and then I believe the superSU is also installed if you so wish to have root access)

Sometimes a custom ROM, like TouchWiz or LG's come with a ton of extra apps that you may never ever use.  This is what we call 'bloat'.  It could be from the OEM themselves, or it could be from the carrier

This is the bit of computer code that lets your phone’s system talk with the hardware.  A custom kernel could allow you to take advantage of some hardware properties that may not have been present before.

I hope some of these definitions help you 'learn the lingo'.  Anything we miss?  Or did I explain something poorly (I probably did) and you can help shed some light on?  Drop us a line!