Tell me more ×
Android Enthusiasts Stack Exchange is a question and answer site for enthusiasts and power users of the Android operating system. It's 100% free, no registration required.

What is the difference between:

  • Rooting
  • Jailbreaking
  • ROM
  • NAND and Nandroid
  • Operating System
  • Mod (e.g. CyanogenMod)
  • Recovery (ClockworkMod, Amon Ra)
  • Custom Kernel (e.g. LeshaK's kernel)
  • Firmware
  • Driver
  • Over The Air (OTA) update
  • Fastboot
  • SIM unlocking
  • Flashing

(any other often-confused terms that I've missed?)

share|improve this question
See my two related answers: How do I root my phone I've rooted my phone, now what – Bryan Denny Nov 15 '10 at 16:46

7 Answers

Rooting and Jailbreaking are essentially the same things, Jailbreaking is the iPhone users' word for what Android users call Rooting. Rooting is when you gain "Root" access to the phone giving you the power to do anything you want to it (it comes from the Unix Root User, essentially the Unix equivalent to the Windows Administrator account). Normally you're prevented from being Root for your own good, as it's very easy to break your phone once you have root access, and quite hard to break it without.
More info: What does “to root a phone” mean? and I've rooted my phone. Now what? What do I gain from rooting?

A Nandroid backup is a backup of your phone that is an exact image of the state of your phone. So you could make an exact copy of your current phone, then do major changes to it, and then restore to your previous backup by flashing the backup back to the phone. Flashing means to copy or to install.... you are essentially wiping the device and restoring a previous state (a backup) or you are flashing a new ROM (see below). NAND is your device's flash storage, which is why copying files there is called "flashing".

The Android operating system is the software that manages the hardware in an Android phone such as the screen, data communications, storage, camera and GPS. It provides a common layer that allows applications the use of and access to these resources on a range of different devices without the app having to know anything special about the actual hardware that it is running on. The Android Operating System also includes a number of standard apps and services such as the Contacts, Camera, Photo Gallery and web browser apps and allows the user to do such things as control the screen brightness or connect to wifi networks.

Although the real definitions are different, in the Android world, ROM, Mod, Custom Kernel and Firmware are all used as if they mean essentially the same thing. They all refer to a customised version of the Android operating system that has been modified to work on a particular brand of phone with a specific set of customisations or changes. This can be done so that an old phone like the G1 can be given a brand new version of Android, such as 2.2 even if the manufacturer has decided not to provide it. Or could be to provide extra functionality not available in the manufacturer's supplied version of Android, or to fix problems in the manufacturer supplied version.
More info: What's the difference between an AOSP ROM and a stock ROM?, What are the advantages of a custom ROM? and Where can I find stock or custom ROMs for my Android device?

A Driver is what tells the Android software operating system how to talk to all the different hardware that is in an Android phone. When someone is putting together a ROM for a particular phone model they will need to include of all that phone's drivers inside the ROM (for things like the cellular modem, WiFi access, the particular camera type, the specific processor, etc) otherwise the ROM either won't work on that phone, or will only be able to work certain parts of the phone and, for instance, may not be able to use the front-facing camera, or may not be able to connect to a WiFi network. This is exactly the same as when you plug something new into Windows and it runs the New Hardware Added wizard and goes looking for a new driver before you can use it.

An Over The Air (OTA) update is when your phone receives an update to its Android operating system "over the air", ie it is sent the files automatically over the cellular network from either Google or from your phone network without ever needing to be plugged into a PC. This contrasts with the way that, for example, the iPhone is updated where it has to be physically plugged into a computer running iTunes to get its updates.

The bootloader controls how the device boots. Google's PC-side tool for getting into the bootloader and other related tasks is called Fastboot, and running the bootloader interactively may be called "Fastboot mode". A locked bootloader will verify the Android system partition and restore it to stock if it doesn't match, whereas an unlocked bootloader doesn't do the same checking, which is why unlocking the bootloader is required to permanently root a device.

The bootloader may also play some part in flashing firmware, though this is usually part of recovery. While you normally don't want to mess with the bootloader, advanced users will often flash a custom recovery like ClockworkMod (though a locked bootloader may prevent this). This allows one to flash firmware that hasn't been signed by the manufacturer (such as custom ROMs), since stock recovery usually checks for the signature, and do advanced tasks like complete Nandroid backups. Recovery is a bit like the BIOS boot screen on PCs in that you get to it by pressing a special combination of buttons as the phone starts up. Recovery can also do things like run an update file from the phone's SD card, or let you connect from a PC via ADB (Android Debug Bridge) to manage the device from the command line.

Many mobile phone networks that sell GSM phones on a contract restrict the phone so that it can only be used on their phone network, this is known as a SIM lock, network lock or subsidy lock. This allows a provider to ensure that a phone that they've subsidised can only be used on a network that will help them them recoup that money. The phone reads the IMSI code of the inserted SIM card and checks that it corresponds with the allowed country or network codes that the phone has been programmed with. SIM unlocking removes this restriction from a phone so that any network's SIM card can be inserted and used. This generally involves typing a code into the phone's dialler that removes the lock. There are different ways to get this code depending on your device and network, some networks will give you the unlock code once you reach the end of your contract's term, some manufacturers publish these codes on their websites, some manufacturers embed these codes into their devices in a way that can be extracted by an app and some require use of special PC software to reprogram the phone. The SIM lock is usually implemented in hardware/read-only firmware, so it's generally not possible to unlock your device without a code. See also Can I use my device on a different carrier?

share|improve this answer

Rooting and Jailbreaking refers to the same thing. The term Jailbreaking comes from Apple's iPhone community, the preferred term in Android is rooting.

Rooting/Jailbreaking refers to enabling the administrator/superuser/root/user-id-0 user on the phone. In unrooted device, the superuser account is disabled for security purpose. The superuser possess full privilege over the system, including deleting or modifying critical system files.

More about rooting: what does "to root a phone" mean?

share|improve this answer
3  
Rooting = Gain root access (root user, user 0). Jailbreaking = same as rooting except in android you are never bound by a proprietary bootloader/software so its not jailbreaking per say, same concept though. – Dmitriy Likhten Nov 16 '10 at 20:35

Firmware refers to the whole Android Software Stack: Kernel (incl. drivers), Dalvik VM, and the Operating System. However, it does not include applications installed from Market.

Firmware can be official (released by the manufacturer and/or service provider) or it can be unofficial (released by modding community).

share|improve this answer

CyanogenMod has a good definition of ROM (and a lot of the other terms on that list)

Read Only Memory. In the context of an Android device, ROM is the internal flash memory where the core operating system resides. It can also refer to a specific version firmware that can be applied to a device through a process usually referred to as flashing. An improperly flashed ROM can often brick the device, rendering it unusable. Source

share|improve this answer
The wiki page has moved: wiki.cyanogenmod.org/wiki/Terminology – CatShoes Nov 20 '12 at 20:23

Over The Air update refers to an official update from your device manufacturer and carrier, the update being pushed automatically to your device.

OTA update is basically an official firmware update, as it covers the whole Android stack (drivers, firmware, kernel, VM, applications).

share|improve this answer

Android Kernel refers to the Linux Kernel and the set of drivers that comes with the Linux kernel. The kernel does not include Applications that comes with Android nor the Java/Dalvik Virtual Machine.

Costum Kernel refers to community-made modifications to the Linux Kernel. The Kernel provides low-level services, resource management, and security.

The Driver is a part of the kernel which talks directly with the hardware, it provides a standard interface which hides the intricacies of a particular hardware.

Modifications in the Kernel and Driver typically includes hardware-specific bug fix, optimizing resource management, and unlocking hardware features that was disabled in the driver-level.

share|improve this answer

my understanding is that different mod/rom is similar to likes of ubuntu and fedora (different variant of linux) in PC world. Kernel is lower level than this, like both ubuntu 10.10 and fedora 14 are using the same linux kernel 2.6.35

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.