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
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 ininitramfs
(more) - qcdt:
boot.img
has adtb
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
Direct Rendering Infrastructure, 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 LUKS, 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[1]. 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
Linux 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 Interactive Disassembler 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
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 Wayland 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 #62