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 Velkov 3e71438048 Fix locale warnings during chroot operations
Build process generated numerous locale warnings like:
bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
perl: warning: Setting locale failed

This happened because the Docker container and host environment were
configured to use `en_US.UTF-8`, but the rootfs cache may not contain
this locale (only `C.utf8` and whatever `DEST_LANG` specifies,
e.g. `en_GB.utf8`).

When `chroot_sdcard` runs commands inside the rootfs, environment variables
are inherited from the host/Docker, causing locale lookup failures.

Then use `C.UTF-8` locale for the build environment instead of `en_US.UTF-8`.
This locale is always available in rootfs immediately after mmdebstrap,
requiring no generation.

Changes
`lib/functions/host/docker.sh`: Remove `en_US.UTF-8` locale generation,
set `LANG=C.UTF-8` in container environment
`lib/functions/host/prepare-host.sh`: Change locale exports
from `en_US.UTF-8` to `C.UTF-8`
2026-01-08 12:24:18 +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 genio: collabora: bump to Collabora's 6.19-rc4 2026-01-08 12:09:02 +01:00
extensions documentation extensions - fix link for documenting opt-out functionality 2026-01-08 12:07:56 +01:00
lib Fix locale warnings during chroot operations 2026-01-08 12:24:18 +01:00
packages Enable direct flashing method in armbian-install menu 2025-12-11 04:36:06 +08:00
patch genio-6.19: add patching config, -extra DT for Radxa NIO-12L 2026-01-08 12:09:02 +01:00
tools tools/repository/extract-repo.sh: simplify extraction by copying directly from pool (#9174) 2026-01-08 12:23:40 +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.