# armbian/build

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/armbian-build).**

5,110 stars · 2,865 forks · Shell · gpl-2.0

## Links

- GitHub: https://github.com/armbian/build
- Homepage: https://www.armbian.com
- awesome-repositories: https://awesome-repositories.com/repository/armbian-build.md

## Topics

`aarch64` `arm` `debian` `firmware` `framework` `image` `iso` `kernel` `kernel-compilation` `kernel-hacking` `lightweight` `linux` `linux-distribution` `operating-system` `u-boot` `ubuntu` `uefi` `wsl2` `x86`

## Description

This repository is the Armbian build framework — an embedded Linux build system for generating custom operating system images tailored to single-board computers, primarily targeting ARM and RISC-V architectures. The build process is orchestrated by GNU Makefiles and relies on a chroot-based environment to assemble the root filesystem, manage cross-compilation toolchains, and aggregate binary firmware blobs for hardware compatibility. Kernel and bootloader source trees are fetched via git, with structured patches applied in a controlled sequence, while each supported board is described by a dedicated configuration directory specifying device trees, kernel config fragments, and bootloader parameters.

The framework supports multiple build methods — native compilation, cross-compilation, and containerized builds — enabling reproducible OS images from a single host system. Users can select specific kernel versions, device trees, firmware packages, and system optimizations to produce hardware-tuned images that are resource-efficient for low-memory devices. A containerized build pipeline provides isolated, reproducible environments, and the project also includes a dedicated kernel and bootloader builder that compiles and packages these components for each target board.

All board-specific and user-customizable settings are processed through modular shell scripts that source configuration files and define build variables, offering fine-grained control over the final image. The repository includes documentation and example configurations to guide users through the build process from cloning the source to producing a bootable SD card image.

## Tags

### Development Tools & Productivity

- [Image Build Automation](https://awesome-repositories.com/f/development-tools-productivity/build-automation-scripts/image-build-automation.md) — Generates complete bootable OS images with kernel, bootloader, and root filesystem for single-board computers. ([source](https://cdn.jsdelivr.net/gh/armbian/build@main/README.md))
- [Cross-Platform Build Systems](https://awesome-repositories.com/f/development-tools-productivity/build-automation-engines/cross-platform-build-systems.md) — Supports multiple CPU architectures including ARM and RISC-V through native, cross, and containerized builds. ([source](https://cdn.jsdelivr.net/gh/armbian/build@main/README.md))
- [Build Configuration Scripts](https://awesome-repositories.com/f/development-tools-productivity/build-configuration-scripts.md) — Uses modular shell scripts that source configuration files to control all board-specific and user-customizable build settings.
- [Custom Build Systems](https://awesome-repositories.com/f/development-tools-productivity/custom-build-systems.md) — Provides fine-grained control over kernel versions, device trees, firmware, and system optimizations during the build. ([source](https://cdn.jsdelivr.net/gh/armbian/build@main/README.md))
- [Board Support Packages](https://awesome-repositories.com/f/development-tools-productivity/project-management-boards/board-support-packages.md) — Provides per-board configuration directories specifying device trees, kernel fragments, and bootloader parameters.

### DevOps & Infrastructure

- [System Image Generators](https://awesome-repositories.com/f/devops-infrastructure/system-image-generators.md) — Assembles complete operating system images for low-resource hardware with version and firmware selection.
- [Kernel Patch Pipelines](https://awesome-repositories.com/f/devops-infrastructure/cicd-pipeline-automation/core-build-engines/configuration-lifecycle-management/build-configuration/source-path-registrations/kernel-build-systems/kernel-patch-pipelines.md) — Applies structured patch sets to U-Boot and kernel source trees during the build process.
- [Containerized Build Environments](https://awesome-repositories.com/f/devops-infrastructure/containerized-build-environments.md) — Provides a containerized build pipeline for reproducible and isolated OS image creation.

### Hardware & IoT

- [SBC Specialized OS](https://awesome-repositories.com/f/hardware-iot/single-board-computer-ecosystems/sbc-specialized-os.md) — Creates custom Linux operating system images tailored for ARM and RISC-V single-board computers.

### Operating Systems & Systems Programming

- [Chroot Execution](https://awesome-repositories.com/f/operating-systems-systems-programming/chroot-execution.md) — Constructs root filesystems inside a chroot environment for reproducible OS image creation.
- [Kernel and Bootloader Build Pipelines](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-and-bootloader-build-pipelines.md) — Builds and packages Linux kernels and bootloaders tailored to ARM and RISC-V single-board computers.
- [ARM Firmware and Kernel Image Sets](https://awesome-repositories.com/f/operating-systems-systems-programming/operating-system-kernels/arm-firmware-and-kernel-image-sets.md) — Selects and assembles specific kernel versions, device trees, and firmware for hardware-tuned images.
- [Cross-Compilation Toolchains](https://awesome-repositories.com/f/operating-systems-systems-programming/os-development-distributions/cross-compilation-toolchains.md) — Downloads, caches, and invokes cross-compiler toolchains for each target architecture.
- [Embedded Linux Cross-Compilation](https://awesome-repositories.com/f/operating-systems-systems-programming/os-development-distributions/cross-compilation-toolchains/embedded-linux-cross-compilation.md) — Builds full OS images for multiple CPU architectures using cross-compilation and other methods.
- [Embedded Linux Distribution Building](https://awesome-repositories.com/f/operating-systems-systems-programming/platform-development-integration/platform-sdks/linux-sdks/linux-build-targets/embedded-linux-distribution-building.md) — Creates custom embedded Linux distributions with kernel, bootloader, and filesystem for ARM/ARM64 boards.
- [Lightweight OS Image Builders](https://awesome-repositories.com/f/operating-systems-systems-programming/lightweight-os-image-builders.md) — Produces resource-efficient Linux images optimized for low-memory single-board computers.

### Programming Languages & Runtimes

- [Cross-Compilation Tools](https://awesome-repositories.com/f/programming-languages-runtimes/cross-compilation-tools.md) — Provides a framework supporting native, cross, and containerized builds for multiple architectures.
- [Vendor Blob Integrations](https://awesome-repositories.com/f/programming-languages-runtimes/binary-blob-management/vendor-blob-integrations.md) — Aggregates binary firmware blobs from hardware vendors into the final OS image.

### Software Engineering & Architecture

- [Firmware Image Build Orchestrators](https://awesome-repositories.com/f/software-engineering-architecture/build-system-orchestrators/firmware-image-build-orchestrators.md) — Uses GNU Makefiles to orchestrate the entire firmware image build pipeline.
- [Source-Level Patch Integration](https://awesome-repositories.com/f/software-engineering-architecture/binary-patching-utilities/source-level-patch-integration.md) — Fetches source trees via git and applies structured patches in a controlled sequence before compilation.
