The official build framework for the Armbian Linux distribution. This repository contains the complete toolchain and scripts required to compile custom OS images from source, including kernel configuration, U-Boot handling, and board-specific tweaks for various ARM and ARM64 single-board computers.
Go to file
Ricardo Pardini 06675ca040 meson64-6.17: rework g12b pinmux/pinctrl; thanks to retro98boy
> The kernel upstream fixed the missing PWM pinctrl C code for g12b and
> sm1, but did not add these PWM pinctrl nodes in the device tree.
> Therefore, only need to delete the
> meson-g12b-pinctrl-Add-missing-pinmux-for-pwm.patch from the repository
> and add a meson-g12b-dt-Add-missing-pinmux-node-for-pwm.patch.
> This patch does not include all PWM pinctrl nodes, only adding some
> g12b PWM pinctrl nodes as in the old patch. Notably, pwm_b_z_pins was
> renamed to pwm_b_z0_pins, but this is not used in the build repository.

- thus:
  - added `meson-g12b-dt-Add-missing-pinmux-node-for-pwm.patch`
  - dropped `meson-g12b-pinctrl-Add-missing-pinmux-for-pwm.patch`
  - kept `dt/meson-g12b-a311d-cainiao-cniot-core.dts`

Co-authored-by: retro98boy <retro98boy@qq.com>
2025-10-12 21:10:42 +02:00
.github Automatic board configs status synchronise 2025-10-11 18:05:45 +02:00
.vscode chore: edit code format config (#3578) 2022-03-26 12:41:25 +01:00
config meson64: bump edge to 6.17 2025-10-12 21:10:42 +02:00
extensions extensions: radxa-aic8800: allow 6.17; skip DKMS only on >= 6.18 2025-10-08 22:43:49 +02:00
lib Add Wi-Fi injection patch for Linux 6.12 kernels. 2025-10-11 14:04:48 +02:00
packages bsp: armbian-install: Correct the eMMC indication for some devices. 2025-10-11 14:04:35 +02:00
patch meson64-6.17: rework g12b pinmux/pinctrl; thanks to retro98boy 2025-10-12 21:10:42 +02:00
tools repo: add loong64 support 2025-08-05 15:12:06 +02:00
.editorconfig shellfmt/.editorconfig: enable trim whitespaces, run shellfmt, no actual code changes (#4849) 2023-02-23 09:24:41 +01:00
.gitignore Adjusting ORAS cache location, runners (#5129) 2023-05-02 11:08:34 +02:00
action.yml build(deps): bump actions/checkout from 4 to 5 2025-08-13 05:42:34 +02:00
compile.sh artifacts: download-artifact CLI. makes sure to only used local .deb, or download from OCI, never build 2023-05-16 20:09:47 +02:00
CONTRIBUTING.md Improve labeling system - refactor labeling logic (#5916) 2023-11-19 22:36:06 +01:00
CREDITS.md Add / modify (c) in bash scripts (#4922) 2023-03-09 18:30:40 +01:00
LICENSE
README.md Update logo that is b/w compatible 2025-08-28 05:57:22 +02:00
requirements.txt build(deps): bump pyyaml from 6.0.2 to 6.0.3 2025-09-30 06:40:47 +02:00
shell.nix Add compatibility for non-FHS 3.0 systems 2023-07-19 23:16:22 +02:00
VERSION Bump version 2025-08-10 18:55:22 +08:00

Armbian logo

Purpose of This Repository

The Armbian Linux Build Framework creates minimal, efficient, and fully customizable operating system images based on Debian or Ubuntu. It is designed specifically for low-resource single board computers (SBCs) and other embedded devices.

This toolchain compiles a custom Linux kernel, bootloader, and root filesystem, providing fine-grained control over:

  • Kernel versions and configuration
  • Bootloader selection and customization
  • Filesystem layout and compression
  • Additional firmware, overlays, and device trees
  • System optimizations for performance and size

The framework supports native, cross, and containerized builds for multiple architectures (x86_64, aarch64, armhf, riscv64), and is suitable for development, testing, production deployment, or automation pipelines.

It ensures consistency across devices while remaining modular and extensible through a variety of configuration files, templates, and user patches.

Quick Start

git clone https://github.com/armbian/build
cd build
./compile.sh

Resources

DocumentationWebsiteBlogCommunity Forums

Armbian logo

Build Host Requirements

  • Supported Architectures: x86_64, aarch64, riscv64
  • System: VM, container, or bare-metal with:
    • ≥ 8GB RAM (less with KERNEL_BTF=no)
    • ~50GB disk space
  • Operating System:
    • Armbian / Ubuntu 24.04 (Noble) for native builds
    • Any Docker-capable Linux for containerized setup
  • Windows: Windows 10/11 with WSL2 running Armbian / Ubuntu 24.04
  • Access: Superuser rights (sudo or root)
  • Important: Keep your system up-to-date — outdated tools (e.g., Docker) can cause issues.

Download

Prebuilt Armbian OS Images: https://www.armbian.com/download

Contribute

Learn how to report issues, suggest improvements, or submit code: CONTRIBUTING.md

Support

Armbian offers multiple support channels, depending on your needs:

  • Community Forums
    Get help from fellow users and contributors on a wide range of topics — from troubleshooting to development.
    👉 forum.armbian.com

  • Discord / IRC/ Matrix Chat
    Join real-time discussions with developers and community members for faster feedback and collaboration.
    👉 Community Chat

  • Paid Consultation
    For advanced needs, commercial projects, or guaranteed response times, paid support is available directly from Armbian maintainers.
    👉 Contact us to discuss consulting options.

Contributors

Thank you to all the people who already contributed to Armbian!

Armbian Partners

Armbian's partnership program helps to support Armbian and the Armbian community! Please take a moment to familiarize yourself with our Partners.