Skip to main content
replaced http://android.stackexchange.com/ with https://android.stackexchange.com/
Source Link
  • ROM is an umbrella term for any data you can flash to NAND. In most android contexts flashing ROM = installing mobile operating system. In other contexts it may just mean replacing some files to customize your skin. Etc.
    While ROM may be a bit of a misnomer (actually refers to non-volatile memory--not data), most people don't know the difference between a kernel, OS, bootloader and etc. So many modifications just get called ROMs, this avoids confusion and flamewars (like when people call linux an OS instead of saying GNU/linux is an OS or even GNU/linux/X).
    See also Why can't they make a generic phone OS?Why can't they make a generic phone OS?
  • ROM is an umbrella term for any data you can flash to NAND. In most android contexts flashing ROM = installing mobile operating system. In other contexts it may just mean replacing some files to customize your skin. Etc.
    While ROM may be a bit of a misnomer (actually refers to non-volatile memory--not data), most people don't know the difference between a kernel, OS, bootloader and etc. So many modifications just get called ROMs, this avoids confusion and flamewars (like when people call linux an OS instead of saying GNU/linux is an OS or even GNU/linux/X).
    See also Why can't they make a generic phone OS?
  • ROM is an umbrella term for any data you can flash to NAND. In most android contexts flashing ROM = installing mobile operating system. In other contexts it may just mean replacing some files to customize your skin. Etc.
    While ROM may be a bit of a misnomer (actually refers to non-volatile memory--not data), most people don't know the difference between a kernel, OS, bootloader and etc. So many modifications just get called ROMs, this avoids confusion and flamewars (like when people call linux an OS instead of saying GNU/linux is an OS or even GNU/linux/X).
    See also Why can't they make a generic phone OS?
Source Link
jiggunjer
  • 387
  • 5
  • 15

TL;DR version:

Unlocking the bootloader

  • The initial program when you boot is the bootloader. If "locked" it may: 1) block attempts at flashing 2) refuse to boot the phone if something unauthorized was flashed. Unlocking it means changing a setting that affects this behaviour.

Rooting

Jailbreaking

  • iphone word for rooting. Jailbreak and rooting are similar but not identical from the perspective of the abstract process. Jailbreaking implies getting around a bootloader (or ignoring Apple's security) and then getting admin privileges, whereas rooting is purely getting the privileges--nothing else is implied. Also the gain in privileges (freedom!) is arguably greater with jailbreaking, as sideloading is already allowed with android

ROM

  • ROM is an umbrella term for any data you can flash to NAND. In most android contexts flashing ROM = installing mobile operating system. In other contexts it may just mean replacing some files to customize your skin. Etc.
    While ROM may be a bit of a misnomer (actually refers to non-volatile memory--not data), most people don't know the difference between a kernel, OS, bootloader and etc. So many modifications just get called ROMs, this avoids confusion and flamewars (like when people call linux an OS instead of saying GNU/linux is an OS or even GNU/linux/X).
    See also Why can't they make a generic phone OS?

NAND

  • A type of solid state storage, another example is NOR memory.

MMC/SD

  • MMC is/was the the competitor of SD. Both are memory card standards that use NAND memory. Apart from physical form these standards decribe the interface/protocol used to access NAND. This means these memory formats come with a different or additional memory controller.
    While the MMC format is older, many devices use eMMC instead of eSD. The "e" stands for embedded and just means the storage is non-removable in the typical sense.
    Compared to MMC, SD has more pins, is thicker and supports DRM. It is also slightly more expensive. They both use the SPI protocol to access the NAND.

Nandroid

  • A system image used for backups. Often does not include the bootloader.

Operating System

  • Android, Windows, other linux distros, Mac OS X, iOS are all operating systems. In a more technincal sense the kernel can be called the operating system. It is a program that provides an environment for other programs to run safely and use its HAL.

Mod (e.g. CyanogenMod)

  • 3rd party files that may be flashed to the phone to provide extra/other features. Could be a complete operating system like CM.

Recovery (ClockworkMod, Amon Ra)

  • Phones can boot into the main OS or Recovery. This is like a mini OS that allows users to perform maintenance actions such as deleting, backing up or installing files.Often resides in the /recovery partition.

Custom Kernel (e.g. LeshaK's kernel)

  • Part of the operating system that controls the hardware and all the other programs that run. It is the first non-bootloader code loaded. Often resides in the the /boot partition.

Firmware

  • Software on embedded devices.

Driver

  • program used by the kernel to communicate with hardware. Typically written by the manufacturers of the hardware. The android source tree comes without kernel and drivers for most devices. THis is why non-google devices have a harder time keeping up-to-date.

Over The Air (OTA) update

  • Update you can download and install with your phone only (i.e. no cables/USB needed).

Fastboot

  • PC Program from the ADK produced by google. Allows bootloaders to flash data to the NAND.

SIM unlocking

  • Certain mobile providers may offer devices as part of a contract. These devices have software restrictions on what SIM cards you can use--to prevent changing provider.

Flashing

  • Copying/writing to NAND memory. So even moving a file to your sdcard can be called flashing.

SPL (Second Program Loader)

Post Made Community Wiki by jiggunjer