* add support for arduino-uno-q * arduino-uno-q: fix boot with boot.scr and correct memory addresses ABL overwrites kernel_addr_r/fdt_addr_r/ramdisk_addr_r at runtime, causing memory overlap that corrupts the kernel Image header. Switch from extlinux to boot.scr which sets correct addresses in the 0xC0000000 RAM bank before loading kernel, initrd and dtb. U-Boot env loads boot.scr from partition 0x43 (GPT 67 "efi") with sysboot as fallback. * arduino-uno-q: update board and family config - Use boot.scr instead of extlinux (BOOTSCRIPT/BOOTENV_FILE in family) - Add SERIALCON=ttyMSM0 for serial console - BOOTSIZE=512 to fit kernel + initrd - Remove BOARD_FIRMWARE_INSTALL="-full", copy only needed firmware - Add WiFi ath10k firmware copy - Add ADB daemon with Armbian branding - Add first-boot rootfs resize service - Update kernel to 6.19.0 from qcom-v6.19.0-unoq branch * arduino-uno-q: fix image-output extension Use dd with sector offsets instead of loop device partitions to extract boot and rootfs images. The previous approach failed because the build framework releases the loop device before the extension runs. * arduino-uno-q: add first-boot rootfs resize for eMMC Add systemd service that expands the rootfs partition to fill the entire eMMC on first boot using sgdisk. Removes the empty userdata partition and recreates rootfs with all remaining space. * arduino-uno-q: update ath10k WiFi firmware to upstream Update board-2.bin from linux-firmware (ath-20260204) with support for additional board IDs. * arduino-uno-q: update kernel config for 6.19 * arduino-uno-q: revert board-2.bin to original version Restore the ath10k board-2.bin firmware to the version provided in the original board bring-up, as the upstream version has not been validated on this hardware. * arduino-uno-q: move flash binaries to armbian/qcombin Move EDL flash binaries (ABL, XBL, TrustZone, GPT tables, etc.) from packages/blobs/arduino/flash/ to the external armbian/qcombin repository under the Agatti folder, following the same pattern as rkbin for Rockchip and mtkbin for MediaTek. Add qcombin.sh extension to fetch binaries during build. Update image-output-arduino.sh to source flash files from qcombin cache and derive U-Boot package path from BRANCH/BOARD variables. * arduino-uno-q: add BOARD_VENDOR * arduino-uno-q: update qcombin path to Agatti/arduino-uno-q * arduino-uno-q: move firmware to armbian/firmware, rename boot script Move firmware blobs to armbian/firmware repository (armbian/firmware#123) and remove manual firmware copies from post_family_tweaks. Firmware is now installed via the armbian-firmware package. Rename boot-qcom to boot-qrb2210 to be family-specific. * arduino-uno-q: include prog_firehose_ddr.elf from Agatti root * arduino-uno-q: add qbootctl to prevent fastboot fallback --------- Co-authored-by: Hsun Lai <i@chainsx.cn>
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 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 (
sudoor 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!
Armbian Partners
Our partnership program supports Armbian's development and community. Learn more about our Partners.

