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
Igor Pecovnik 882d7e3dfd docker: add automatic image pull cronjob and cleanup system
- Add docker_cleanup_old_images() to remove dangling images and keep only 2 most recent per tag
- Add docker_pull_with_marker() to pull images and update marker files tracking last pull time
- Add docker_setup_auto_pull_cronjob() to create/update system cronjob and wrapper script via hash-based detection
- Add docker_ensure_auto_pull_cronjob() to ensure cronjob is installed and up-to-date
- Create self-contained wrapper script at /usr/local/bin/armbian-docker-pull for cron execution
- Store configuration hash in /var/lib/armbian/docker-pull.hash for smart update detection
- Install cronjob at /etc/cron.d/armbian-docker-pull to pull images every 12 hours
- Move cronjob setup from docker_cli_prepare() to requirements command
- Cronjob is now only installed when users explicitly run ./compile.sh requirements
- Prevents "12 hours since last pull, pulling again" delay during builds

Signed-off-by: Igor Pecovnik <igor@armbian.com>
2026-02-01 00:22:54 +01:00
.github Automatic board configs status synchronise 2026-01-28 00:25:58 +01:00
.vscode chore: edit code format config (#3578) 2022-03-26 12:41:25 +01:00
config sun55i: migrate recent patches to standard uboot patch tree 2026-01-31 23:02:50 +01:00
extensions extension: add arm64-compat-vdso for 32-bit vDSO support 2026-01-25 11:36:20 +01:00
lib docker: add automatic image pull cronjob and cleanup system 2026-02-01 00:22:54 +01:00
packages Add SPRD bring up bluetooth script 2026-01-31 11:33:29 -05:00
patch rewrite kernel patches 2026-01-31 23:02:50 +01:00
tools feat: implement parallel repository management workflow 2026-01-11 00:37:46 +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 Deprecate Matrix (#9318) 2026-01-31 09:32:23 +01:00
requirements.txt build(deps): bump setuptools from 80.9.0 to 80.10.2 2026-01-26 21:58:28 +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 IRC or Discord. 👉 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.