Viacheslav Bocharov 492b96aeeb fix(apt-utils): add fallback for Ubuntu LTS releases without -updates suffix in JSON
Problem: armbian-base-files artifact for jammy fails to build because
apt_find_upstream_package_version_and_download_url() looks for 'jammy-updates'
in https://github.armbian.com/base-files.json, but only 'jammy' key exists.

Root cause:
- For Ubuntu LTS (focal, jammy), code sets package_download_release to '${RELEASE}-updates'
- JSON file from github.armbian.com only has base release keys (jammy, noble, etc)
- jq query returns null for 'jammy-updates'
- Artifact excluded from build matrix after 10 retries

Solution: Add fallback logic
- First try with '-updates' suffix (jammy-updates)
- If not found and release ends with '-updates', retry with base release (jammy)
- This allows using base release data when -updates is not available

Impact:
- Fixes jammy base-files artifact build
- Allows jammy images to build (they depend on this artifact)
- Maintains preference for -updates when available
- No impact on other releases (Debian, non-LTS Ubuntu)
2025-12-22 21:26:37 +01:00
2025-12-22 21:22:51 +01:00
2025-08-05 15:12:06 +02:00
2014-10-08 10:14:29 +02:00
2025-08-28 05:57:22 +02:00
2025-12-01 22:01:46 +01: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.

Languages
Shell 68.8%
Python 9%
GSC 8.3%
JavaScript 4.7%
Batchfile 3.7%
Other 5.4%