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 9c4f8fa339 mixtile-blade3: mainline: updates to mainline DT with "working" RTL8169's
- For 6.18 + 6.19
- mixtile-blade3: add 4-pin header fan at 40c
- mixtile-blade3: add gpu nodes
- mixtile-blade3: add vcc5v0-host-en "usb" pinctrl
  - somehow results in 2 working RTL8169's behind the ASM1182e on pcie2x1l0
  - which just means the _schematics lie_
- mixtile-blade3: drop rst pinctrl from  pcie2x1l0 and pcie2x1l1
  - this is me probably being stupid, but also required for working ASM1182e/RTL8169
- Status of this mainline port:
  - Initially started by Joshua Riek (2023?)
  - I then added some PCIe3x4 stuff, but never got around to finishing it
  - Specifically, the 2 FUSB302's are beyond me for now
    - One of them _powers_ the board. To use with mainline, power the board some other way with 12V, otherwise kaboom.
      - See sre's talk on this issue; Blade3 should be similar to Rock-5b in this aspect.
  - A challenge has been the PCI2x1 lanes to the miniPCIe and ASM1182e switch
    - Which by themselves seem to work, but the devices behind them (Switch + RTL8169 NICs) do not get powered
    - Until one day I tried to describe a (in theory) USB-related power pin, and suddenly both PCIe NICs started working!
  - All that said, the board is really not stable with this; end-users are much better off with vendor kernel for now.
  - Any and all help is appreciated. Those boards are nice, they've 2 FUSB302, and fancy PCIe Endpoint mode stuff.
  - Schematics we have access to are in https://damwold5pt25n.cloudfront.net/blade3/file/Schematic_Blade_3_v1.1.0.pdf
    - Those clearly lie.
2026-01-08 12:06:59 +01:00
.github PR actions scripts: fix workflow execution name 2026-01-08 12:03:19 +01:00
.vscode chore: edit code format config (#3578) 2022-03-26 12:41:25 +01:00
config mvebu64: re-revitalize espressobin - can build (under noble) again 2026-01-08 12:06:19 +01:00
extensions extensions/ufs: don't check sfdisk version also when BUILDING_IMAGE!=yes 2026-01-06 23:19:08 +01:00
lib Remove -Wno-error=unknown-warning-option from clang KCFLAGS. 2026-01-08 12:04:39 +01:00
packages Enable direct flashing method in armbian-install menu 2025-12-11 04:36:06 +08:00
patch mixtile-blade3: mainline: updates to mainline DT with "working" RTL8169's 2026-01-08 12:06:59 +01:00
tools Fix repository management script for parallel execution 2026-01-05 01:48:26 +01:00
.coderabbit.yaml CodeRabbit review noise reduction 2025-12-15 20:56:55 +01: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 5 to 6 2025-11-24 20:31:42 +01: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 Create LICENSE 2014-10-08 10:14:29 +02:00
README.md docs: improve README and add Armbian Imager promotion 2025-12-25 12:03:48 +01:00
requirements.txt build(deps): bump gitpython from 3.1.45 to 3.1.46 2026-01-05 23:24:33 +01:00
shell.nix Add compatibility for non-FHS 3.0 systems 2023-07-19 23:16:22 +02:00
VERSION bump VERSION 2025-12-01 22:01:46 +01:00

Armbian logo

Purpose of This Repository

The Armbian Linux Build Framework creates customizable OS images based on Debian or Ubuntu for single-board computers (SBCs) and embedded devices.

It builds a complete Linux system including kernel, bootloader, and root filesystem, giving you control over versions, configuration, firmware, device trees, and system optimizations.

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

Looking for prebuilt images? Use Armbian Imager — the easiest way to download and flash Armbian to your SD card or USB drive. Available for Linux, macOS, and Windows.

Quick Start

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

Build demonstration

Build Host Requirements

Hardware

  • RAM: ≥8GB (less with KERNEL_BTF=no)
  • Disk: ~50GB free space
  • Architecture: x86_64, aarch64, or riscv64

Operating System

  • Native builds: Armbian or Ubuntu 24.04 (Noble)
  • Containerized: Any Docker-capable Linux
  • Windows: WSL2 with Armbian/Ubuntu 24.04

Software

  • Superuser privileges (sudo or root)
  • Up-to-date system (outdated Docker or other tools can cause failures)

Resources

  • Documentation — Comprehensive guides for building, configuring, and customizing
  • Website — News, features, and board information
  • Blog — Development updates and technical articles
  • Forums — Community support and discussions

Contributing

We welcome contributions! See CONTRIBUTING.md for guidelines on reporting issues, submitting changes, and contributing code.

Support

Community Forums

Get help from users and contributors on troubleshooting, configuration, and development. 👉 forum.armbian.com

Real-time Chat

Join discussions with developers and community members on Discord, IRC, or Matrix. 👉 Community Chat

Paid Consultation

For commercial projects, guaranteed response times, or advanced needs, paid support is available from Armbian maintainers. 👉 Contact us

Contributors

Thank you to everyone who has contributed to Armbian!

Contributors

Armbian Partners

Our partnership program supports Armbian's development and community. Learn more about our Partners.