Extensions Reference¶
Alphabetical reference of all official Armbian build framework extensions.
Extensions live in the extensions/ directory of the build repository.
To enable one or more extensions:
| Bash | |
|---|---|
Extensions with dedicated documentation pages are linked below. All others are documented by a short description and key parameters.
allwinner-kernel-bump¶
Bumps the kernel version for Allwinner-based boards.
amlogic-fip-blobs¶
Fetches Amlogic FIP (Firmware Image Package) blobs needed for bootloader assembly on Amlogic SoCs.
apa¶
Enables Armbian Package Archive (APA) in the target image by default.
arm64-compat-vdso¶
Enables 32-bit compat vDSO for arm64 kernels. Requires a 32-bit ARM cross-compiler for GCC builds (gcc-arm-linux-gnueabi or custom CROSS_COMPILE_COMPAT). For clang builds uses the built-in LLVM backend.
armbian-config¶
Installs armbian-config from the Armbian GitHub repository into the image.
armbian-live-patch¶
Installs the Armbian Live Patch systemd service into the BSP package.
bcmdhd¶
Builds the Broadcom BCM WiFi (bcmdhd) driver as a DKMS kernel module. Requires working kernel headers.
bcmdhd-spacemit¶
Builds the Broadcom BCM WiFi driver for SpacemiT platforms as a DKMS kernel module.
bluetooth-hciattach¶
Sets up Bluetooth via hciattach for boards that require serial attachment.
brostrend-aic8800-dkms¶
Installs the AIC8800 WiFi/BT DKMS driver for BroStrend USB adapters. Fetches the latest aic8800-dkms release from Shadowrom2020/aic8800-dkms GitHub and builds the kernel module in the chroot. Forces INSTALL_HEADERS=yes — requires a kernel with working headers package.
c-plus-plus-compiler¶
Adds a C++ compiler to host build dependencies. The C++ compiler is no longer included by default; enable this extension when the build requires it.
ccache-remote¶
Enables ccache with a remote storage backend (Redis or HTTP/WebDAV) for sharing the compilation cache across multiple build hosts. Requires ccache 4.4+.
cleanup-space-final-image¶
Runs zerofree and cleans APT caches in the final image to reduce disk footprint.
cloud-init¶
Installs and configures cloud-init in the target image.
detect-unused-extensions¶
Developer/testing extension: a hook honeypot used to verify the extension framework works correctly.
fake-vcgencmd¶
Installs a fake vcgencmd stub for Raspberry Pi software compatibility on non-Pi boards.
fs-btrfs-support¶
Adds Btrfs filesystem support: host build tools and image packages. Auto-enabled when ROOTFS_TYPE=btrfs.
fs-cryptroot-support¶
Adds LUKS/cryptroot support. Auto-enabled when CRYPTROOT_ENABLE=yes.
fs-f2fs-support¶
Adds F2FS filesystem support. Auto-enabled when ROOTFS_TYPE=f2fs.
fs-nilfs2-support¶
Adds NILFS2 filesystem support. Auto-enabled when ROOTFS_TYPE=nilfs2.
fs-xfs-support¶
Adds XFS filesystem support. Auto-enabled when ROOTFS_TYPE=xfs.
gateway-dk-ask¶
NXP ASK (Application Solutions Kit) integration for the Mono Gateway Development Kit (LS1046A). Builds ASK kernel modules (CDX, FCI, auto-bridge, sfp-led, lp5812) in-tree with the kernel and packages userspace tools (fmlib, fmc, libfci, libcli, dpa-app, cmm) plus patched system libraries and configs into a single .deb. Requires iptables at runtime.
gen-sample-extension-docs¶
Generates extension hook documentation and a sample extension file. Useful for extension developers.
grub¶
Standard GRUB bootloader setup for UEFI-capable boards. Supports DISTRO_GENERIC_KERNEL mode (uses distro kernel instead of Armbian’s). Sets GRUB_GFXPAYLOAD_LINUX=text to keep the framebuffer console bound to fbcon (prevents a black local console after Plymouth quits on CLI installs), passes splash plymouth.ignore-serial-consoles so kernel boot messages remain visible while Plymouth draws the splash on the framebuffer. Deliberately omits quiet and loglevel=3, and disables Ubuntu’s vt.handoff=7 injection.
grub-riscv64¶
GRUB bootloader setup for RISC-V 64-bit boards. Mirrors the console/splash cmdline conventions of the grub extension.
grub-with-dtb¶
GRUB with device tree blob (DTB) embedding support.
gxlimg¶
Builds the gxlimg tool used for creating Amlogic bootable images.
image-output-abl¶
Converts the output image to ABL (Android Boot Loader) format using mkbootimg.
image-output-arduino¶
Converts the Armbian image into a QDL-flashable archive for Arduino UNO Q (Qualcomm QRB2210). Fetches Qualcomm flash binaries during image creation.
image-output-oowow¶
Creates an image compatible with the OOWOW recovery system for Khadas boards.
image-output-ovf¶
Produces an OVF (Open Virtualization Format) archive for use in VMware and other hypervisors. Depends on image-output-qcow2.
image-output-qcow2¶
Produces a qcow2 image suitable for QEMU/KVM virtualization.
image-output-utm¶
Produces a UTM-compatible image for macOS virtualization. Depends on image-output-qcow2.
image-output-vhd-azure¶
Produces a VHD image for use with Microsoft Azure.
image-output-vhdx¶
Produces a VHDX image. Depends on image-output-qcow2.
initramfs-usb-gadget-ums¶
Adds USB Mass Storage (UMS) gadget support to the initramfs, allowing the board to expose its storage over USB.
jethub-burn¶
Automatically converts the Armbian .img into a JetHub burn image after the main build.
kernel-rust¶
Enables Rust language support in the Linux kernel (CONFIG_RUST). Installs a rustup-managed toolchain into ${SRC}/cache/tools/rustup/ and configures all required make parameters.
kernel-version-toolchain¶
Adds the compiler name and version (e.g. gcc13.3, clang20.1) to the kernel artifact version string, ensuring cache invalidation when the toolchain changes.
Variables: none (auto-detects from KERNEL_COMPILER).
lowmem¶
Applies Armbian optimizations for low-memory boards (reduced parallelism, swap configuration, etc.).
lsmod¶
Applies localmodconfig based on an lsmod output file to build a minimal kernel. Place the lsmod file in userpatches/lsmod/<board>.lsmod. Variable: LSMOD (defaults to $BOARD).
lvm¶
Adds LVM (Logical Volume Manager) support to the image.
marvell-tools¶
Fetches Marvell Armada A3700 build tools, DDR library, and binary blobs needed for bootloader assembly.
mesa-vpu¶
Installs Mesa 3D and VPU/Chromium acceleration packages. On Ubuntu: full 3D + 4K VPU. On Debian: 3D only.
mtkflash¶
Adds MediaTek device flashing tool support to the build.
net-chrony¶
Installs the chrony NTP daemon for network time synchronization.
net-network-manager¶
Installs NetworkManager and Netplan for network interface management.
net-systemd-networkd¶
Installs systemd-networkd and Netplan for network interface management.
net-systemd-timesyncd¶
Installs systemd-timesyncd for network time synchronization.
nicod-armbian-gaming¶
Gaming-oriented Armbian image configuration.
nomod¶
Builds the kernel with all modules disabled (localmodconfig with empty lsmod). Produces a non-working kernel — intended for rapid kernel build/packaging tests only.
nvidia¶
Builds the Nvidia proprietary kernel module via DKMS. Not available in minimal images.
odin2-preset-firstrun¶
Applies preset first-run configuration specific to the Odin2 gaming device.
photonicat-pm¶
Installs the photonicat-pm DKMS power-management driver for the Ariaboard Photonicat router. Fetches the latest release from HackingGate/photonicat-pm GitHub and builds the kernel module in chroot. Skipped on kernels ≥ 6.20. Requires working kernel headers.
preset-firstrun¶
Applies preset network and first-run configuration to the image (writes .not_logged_in_yet).
radxa-aic8800¶
Builds the Radxa AIC8800 WiFi driver as a DKMS kernel module. Requires working kernel headers.
rkbin-tools¶
Fetches Rockchip binary tools (rkbin) from the configured git repository. Variables: RKBIN_GIT_URL, RKBIN_GIT_BRANCH.
rkdevflash¶
Adds Rockchip device flashing tool support to the build.
sunxi-tools¶
Adds a 32-bit ARM cross-compiler to host dependencies for Allwinner (sunxi) builds. Only required outside Docker.
syterkit-allwinner¶
Writes the SyterKit bootloader image to the appropriate offset in the Allwinner output image.
ti-debpkgs¶
Installs Texas Instruments packages from the official TI Debian package repository.
u-boot-menu¶
Configures the U-Boot boot menu for boards that support it.
uboot-binman-fix-pkg-resources¶
Patches U-Boot’s binman tool to use importlib.resources instead of pkg_resources, restoring build compatibility on hosts with setuptools >= 82 (which removed pkg_resources). Covers U-Boot v2024.x–v2025.04.
uboot-btrfs¶
Enables Btrfs filesystem support in U-Boot (CONFIG_CMD_BTRFS).
uefi-edk2-rk3588¶
Integrates UEFI EDK2 firmware for Rockchip RK3588 boards.
ufs¶
Creates a UFS-sector-aligned image. Requires Debian Trixie (13) or newer as the build host. Set DOCKER_ARMBIAN_BASE_IMAGE=debian:trixie when building in Docker.
uwe5622-allwinner¶
Builds the UWE5622 WiFi driver for Allwinner-based boards.
v4l2loopback-dkms¶
Builds the v4l2loopback virtual camera kernel module via DKMS. Not available in minimal images.
vmware-vm¶
Creates a VMware-compatible image (VMDK + OVF) with VMware tools installed. Depends on image-output-ovf.
wayland-sessions-mask¶
Masks Wayland desktop session entries for boards with limited or unstable Wayland support.
watchdog¶
Installs the watchdog daemon and enables CONFIG_WATCHDOG / hardware watchdog device support in the kernel.
xorg-lima-serverflags¶
Configures X.Org server flags for the Lima open-source GPU driver.
yt6801¶
Builds the Motorcomm YT6801 Ethernet controller driver as a DKMS kernel module. Requires working kernel headers.
zfs¶
Builds ZFS kernel module and userspace tools via DKMS. Requires working kernel headers.