Glossary

From postmarketOS

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:

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

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

[2]

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