Glossary

If you found a technical term related to this project that you had to research to understand, please add it here (alphabetically sorted).
See also:
* Alpine Linux:Glossary
* MediaTek Glossary
* Qualcomm Glossary
* Power Glossary
-----
=== Alpine Linux ===
The minimal Linux distribution which postmarketOS is based upon. Actually, pmOS only adds a few packages on top of it, and provides the installer and development environment - that is the plan, to keep following upstream as closely as possible. Alpine developers do not see their distribution as "GNU/Linux". That being said, it works a lot like a typical Desktop Linux distribution. You have your package manager, the typical shell commands, you can install typical Linux software, and so on.
=== android-msm ===
The Google-modified Linux version 3.4 kernel as base for all Qualcomm devices.
=== apk ===
One of the following:
* Android app format
* Alpine Linux package (also ends in .apk, but totally incompatible!), which are actually gzipped tar files
* Alpine Linux package manager (apk)
=== boot.img ===
Android specific format, that usually consists of the Linux kernel (in modern versions with a dtb appended) and the initramfs. This file gets flashed to the boot or recovery partition of the Android device.
Variations:
* Some old Samsung devices: boot.img is just a kernel with a baked in initramfs (more)
* qcdt: boot.img has a dtb appended (instead of appending it to the kernel, more)
=== dtb ===
The binary device tree (dtb), this is a file containing a description of the hardware in the device, since phones don't have discoverable busses like x86 platforms. These are created from dts files in the kernel repository and produce a file called zImage-dtb for some Android kernels (older Android kernels do not generate a dtb file at all and have hardcoded the information directly in the kernel source). In mainline kernels, dtb files for all supported boards are created at once.
=== dri ===
, the modern Linux kernel API for drawing to the screen, deprecating #fbdev/framebuffer
=== drm/kms ===
Direct Rendering Manager/Kernel Mode Setting is a slightly more complicated API than fbdev (and it replaces all fbdev functionality), it still provides a framebuffer but also has options to integrate hardware acceleration for 2D and 3D. All opensource fbdev drivers should be portable to a drm driver. (not to be confused with digital rights management)
=== FDE ===
Full Disk Encryption, the rootfs created by pmbootstrap is fully encrypted with , preventing the phone data from being retrieved without the password if the device is turned off. This can be enabled with --fde .
=== fdt ===
Flattened Device Tree is just another name for dtb. unpackbootimg generates files ending in .fdt.
=== FIMC-IS ===
Fully Interactive Mobile Camera Imaging Subsystem. Found in Samsung's Exynos socs, generally has to be disabled in kernel config to get postmarketos with downstream kernel to boot. See also FIMC-IS on linux-exynos. 
=== fbdev/framebuffer ===
 is a (more or less?) deprecated API from the Linux kernel that allows drawing to the screen. Newer drivers use the #DRI API instead. Android devices usually have drivers for framebuffer, instead of DRI.
=== IDA ===
The proprietary software is state of the art in the reverse engineering scene. It can be used to reverse engineer all kinds of blobs where the source code is not available, such as closed-source Firmware. Disassembling is hard, and there's a high learning curve involved. It also features a decompiler, which produces (non-working) C code for better understanding.
=== isorec ===
=== lk (little kernel) ===
lk is the kernel which fastboot runs on. At least all new-ish Qualcomm devices use lk and new-ish mediatek devices too. Google's Zircon kernel, the kernel that powers Fuchsia, is based on lk as well.
=== msm-uartdm ===
Qualcomm uart data mover mode
=== OpenRC ===
 is a dependency-based init for Unix-like systems. It is the default init system of Alpine Linux.
=== pmic ===
This stands for power management integrated circuit. It is the chip that controls the power to the various components of the phone.
=== qmi ===
Qualcomm Modem Interface. The internal interface inside Qualcomm SoCs that connect the modem and the application processor.
=== slpi ===
Sensor Low Power Interface. The interface that connect sensors like the accelerometer to the application processor in Qualcomm SoCs
=== Weston ===
Weston is the reference implementation of a compositor. It has various backends that lets it run on Linux kernel modesetting and evdev input as well as under X11.
We have chosen Weston as a demo because we didn't want to use X11, as this is slowly dying. Also there's libweston, which might come in handy later (you can write your own desktop environment and inherit the hardware compatibility from weston). Weston is nice as a demo and useful at this moment of the development, but not usable as phone interface, so we'll need different desktop environments packaged sooner or later. See 
Category:Technical Reference