Glossary
Technical terms used in the articles: Android, kernel, USB, memory and boot. Each article links to this glossary the first time it uses a term.
A
- ADB
Android Debug Bridge: a command-line tool to talk to a phone over USB or the network. It copies files, opens a shell and installs apps.
See also: adb sideload, Recovery
- adb sideload
Installing a zip by sending it from the PC to the recovery over
adb, without copying it to the phone first.- AMSS
The modem firmware of Qualcomm MSM chips. It runs on its own processor and, if Android sends it something wrong, resets the whole chip without leaving any log.
- APX
Low-level recovery mode on NVIDIA Tegra processors (including the Tegra 4i). Entered by holding the volume keys while plugging in USB; the chip boots with no firmware of its own and waits for a tool like nvflash to upload one over USB.
- ATAG
List of parameters (memory, command line, boot mode, logo address…) that the bootloader hands to the kernel at boot on ARM processors.
See also: Bootloader, LK (Little Kernel)
B
- BCB
Boot Control Block: an area of the
miscpartition where Android and the recovery leave each other commands, such as “boot into recovery next time”.See also: Recovery
- BCT
Boot Configuration Table: a binary block that tells the Tegra how its RAM is wired and where each partition sits. nvflash needs it to talk to the chip, and re-signs it every time it writes something.
- Boot partition
Flash partition that holds the kernel and ramdisk Android boots with. It is separate from the recovery partition.
- Bootloader
The first program that runs when the phone is switched on: it sets up the basics, loads the kernel and hands over to it.
See also: LK (Little Kernel), Preloader, ATAG
- bpp (bits per pixel)
Colour depth of an image. 16 bpp uses 2 bytes per pixel (RGB565); 32 bpp uses 4 (8 bits per channel plus alpha).
See also: Framebuffer, VRAM
C
- CCCI
Interface between the application processor and the modem on MediaTek chips. On Android it is loaded as kernel modules.
- CyanogenMod (CM)
Community ROM built from Android’s open source code, now discontinued (LineageOS continues it). CM7 is Android 2.3 and CM10 is Android 4.1/4.2.
See also: ROM, Gingerbread (Android 2.3)
D
- debugfs
Virtual kernel filesystem (at
/sys/kernel/debug) that exposes debugging settings and data. For OTG it is used to force host mode.See also: Kernel, USB host mode
- Device tree
In the ROM world, the folder holding one model’s configuration: partitions,
init.rc, boot files. It is not the kernel’s binary device tree (DTB).See also: Donor tree, ROM
- dmesg
Command that prints the kernel message log. It is the first tool for diagnosing hardware or boot failures.
- Donor tree
Kernel or source tree of another model with the same processor, used as a base when the source for your own model is not available.
- DSI and DBI
Two interfaces the processor uses to send the image to the panel. DSI is serial and fast; DBI is parallel and simpler. The TE (tearing effect) signal says when it is safe to refresh without tearing.
See also: ESD recovery, Framebuffer
E
- EBT
NVIDIA Tegra’s Early Boot Loader: the bootloader partition that holds the signature check a custom recovery has to get past.
- EHCI
Enhanced Host Controller Interface: the USB 2.0 host controller standard. The kernel implements it as a driver.
See also: USB host mode, USB OTG, PHY
- eMMC
Flash memory with a built-in controller that shows up as a disk (
mmcblk). It is not the same as raw NAND, which the kernel itself manages.- ESD recovery
Display driver routine that re-initialises the panel if it detects it locked up after an electrostatic discharge.
See also: DSI and DBI
F
- fastboot
Bootloader mode that lets you write partitions from a PC. Not every phone exposes it: the Y220, for example, does not.
See also: Bootloader, SP Flash Tool
- Framebuffer
Region of video memory whose contents are shown on screen. The kernel exposes it as
/dev/graphics/fb0.See also: VRAM, bpp (bits per pixel), Overlay (display layer)
- FunctionFS
Kernel mechanism that lets a user-space program implement a USB function (such as adb or MTP). Modern Android uses it and old kernels lack it.
- FUSE
Filesystem in Userspace: lets a user-space program provide a filesystem. TWRP needs it for
adb sideload.See also: adb sideload, TWRP
G
- Gingerbread (Android 2.3)
Android version 2.3, from 2010–2011. Its kernels and tools are old, which is why many modern solutions do not apply.
See also: CyanogenMod (CM), Kernel
- GPIO
General-purpose pin that software can read or write: keys, LEDs, reset lines.
See also: I2C
- GPL
The Linux licence. Anyone who distributes a binary containing the kernel must offer the source to whoever receives it, although not every vendor publishes it.
See also: Kernel, Donor tree
- gralloc
Android module that allocates the graphics buffers shared between display, camera and GPU.
See also: Framebuffer, Mali and UMP
H
- HAL (hardware abstraction layer)
The piece of Android that translates between the system’s generic API and a phone’s actual hardware (camera, sensors, radio). Each vendor or port writes its own.
See also: Kernel, Donor tree
- hostapd
Program that turns the phone’s Wi-Fi into an access point, the basis of the Wi-Fi hotspot.
See also: Tethering, wpa_supplicant, nl80211 and cfg80211
I
- I2C
Two-wire serial bus used to talk to sensors and controllers: touch, accelerometer, camera.
See also: GPIO
- ID pin
Pin 4 of the micro-USB. An OTG cable grounds it to tell the phone it should act as a host.
See also: USB OTG, USB host mode, VBUS
- ION
The Linux kernel’s allocator for shared memory used at once by the CPU, GPU, camera and video codec. On older Qualcomm phones it replaced PMEM.
- IPv6
Version 6 of the IP protocol. Android 4.2 expects
/proc/net/if_inet6and fails if the kernel has it turned off.- ISP
Image signal processor: turns the camera sensor output into a photo (JPEG) or a preview.
See also: YUV, UYVY and YUYV, Overlay (display layer)
K
- Kernel
The core of the operating system (Linux on Android): it manages hardware, memory and processes.
See also: Boot partition, GPL
- Kernel panic
Unrecoverable kernel error: the kernel stops and the device reboots. Its message is kept in
last_kmsg.
L
- last_kmsg
Copy of the kernel log from before the last abrupt reboot or panic, available at
/proc/last_kmsg. Essential for understanding a hang.See also: dmesg, Kernel panic
- LK (Little Kernel)
Bootloader used by MediaTek and Qualcomm on Android. It runs after the first-stage loader (on MediaTek, the preloader), brings up the display, draws the logo and loads the kernel.
See also: Bootloader, ATAG, Preloader
M
- M4U
MediaTek memory management unit for multimedia peripherals (display, camera). The addresses it assigns are called MVAs.
See also: Overlay (display layer), Framebuffer
- Mali and UMP
Mali is ARM’s GPU family; UMP is the module that manages the memory it shares with the rest of the system.
See also: gralloc, Framebuffer
- MT6572
Dual-core Cortex-A7 MediaTek processor used in low-end phones such as the Huawei Y220.
- MTD
Memory Technology Device: the Linux layer for raw flash memory. Each partition shows up as
/dev/mtd/mtdN.- MTP
Media Transfer Protocol: the mode in which a phone presents itself to a PC to copy files, without exposing storage as a disk.
See also: USB mass storage (UMS), FunctionFS
N
- NAND
Flash storage memory without its own controller: the kernel handles bad blocks and wear levelling.
- NAT
Network address translation: lets several devices share the phone’s connection when tethering.
- Netfilter
Kernel framework for filtering and translating packets.
iptablesand NAT depend on it.- nvflash
NVIDIA’s official tool to write partitions on a Tegra over USB in APX mode. Unlike writing the sectors by hand, it also updates the BCT’s and the bootloader’s integrity metadata.
- NVRAM
On MediaTek, a partition with each device’s unique data, such as the IMEI and radio calibration.
O
- ONCRPC
Remote procedure calls an application processor and the modem of a Qualcomm MSM chip use to ask each other for things (time, audio, GPS, carrier data). Each service is a program number.
- Overlay (display layer)
Hardware layer of the display that shows an image (camera preview, video) without going through the GPU.
See also: Framebuffer, M4U, YUV, UYVY and YUYV
P
- PHY
Physical-layer circuit of an interface: in USB, the one that handles the D+ and D− electrical signals. Many OTG faults are measured here.
See also: USB OTG, Pull-up and pull-down, SE0, EHCI
- PMEM
Contiguous memory pool that older Qualcomm kernels (2.6.x) gave to display, camera and audio. HALs from that era expect its
/dev/pmem*devices.See also: ION, HAL (hardware abstraction layer)
- PMIC
Power management chip: regulators, battery charging, the power button.
See also: GPIO
- Preloader
The first MediaTek code to run at power-on, before the LK. It is also how SP Flash Tool writes to a device.
See also: LK (Little Kernel), Bootloader, SP Flash Tool
- Pull-up and pull-down
Resistors that set the level of a line. A USB device puts a pull-up on D+ (or D−) to announce itself; the host has pull-downs on both.
R
- Ramdisk
Small filesystem loaded into RAM at boot that contains
initand the minimum needed to mount the system.See also: Boot partition, Kernel
- RBL
NVIDIA Tegra’s Recovery Boot Loader: the fallback stage the chip falls back to if the EBT fails to boot. It is usually left untouched when patching the EBT, to keep that safety net.
- Recovery
A separate boot mode, with its own partition, for maintenance: installing zip files, backups and wiping data.
See also: TWRP, Boot partition, BCB
- ROM
A complete Android system built from source, usually by the community, to replace the stock one.
See also: CyanogenMod (CM), Stock, Device tree
S
- SE0
USB line state in which D+ and D− are both low. It is what the port sees when no device is connected.
See also: Pull-up and pull-down, PHY
- SLUB
The kernel memory allocator. With
SLUB_DEBUG_ONit enables costly checks on every cache.- SP Flash Tool
MediaTek tool for writing firmware through the preloader. It is the way out when a phone no longer boots.
- Stock
The factory firmware: the one the phone ships with. It is the reference for comparing the behaviour of your own ROM.
See also: ROM, Donor tree
T
U
- UBIFS
Filesystem for raw NAND flash, running on top of UBI, a volume management layer. The Y220’s
system,dataandcacheuse it.- USB host mode
The phone acts as the “PC”: it drives and powers whatever is connected (flash drive, mouse). The opposite is peripheral mode, the usual one when plugged into a PC.
- USB mass storage (UMS)
Mode in which the phone shows up on a PC as a disk, exposing the microSD. The alternative is MTP.
See also: MTP
- USB OTG
On-The-Go: lets a phone act as a USB host to connect flash drives, mice and keyboards, using a special adapter.
See also: USB host mode, ID pin, VBUS, PHY
V
- VBUS
The 5 V line of USB. In host mode someone has to power it: the phone or an external supply.
See also: USB OTG, USB host mode, ID pin
- vermagic and MODVERSIONS
Mechanisms the kernel uses to check that a module was built for it. Without
MODVERSIONS, a module from another build with the samevermagicstill loads and can cause a panic.See also: Kernel, Kernel panic
- VRAM
Memory reserved for the framebuffer. Its size depends on the resolution and the bits per pixel.
See also: Framebuffer, bpp (bits per pixel)
W
- Watchdog
A timer that reboots the device if the system stops “feeding” it, a sign that it hung.
See also: Kernel panic
- wpa_supplicant, nl80211 and cfg80211
wpa_supplicantauthenticates to Wi-Fi networks. It talks to the driver over WEXT (the old interface) or over nl80211 on top of cfg80211 (the modern one). Each version expects one of them.
Y
- YUV, UYVY and YUYV
Image formats that separate brightness (Y) from colour (U and V). UYVY and YUYV carry the same data in a different byte order, and mixing them up tints images green and magenta.
See also: ISP, Overlay (display layer)