From 58cef978c398759273251d313e90f49774030d6d Mon Sep 17 00:00:00 2001 From: Igor Date: Fri, 18 Jul 2025 17:43:17 +0200 Subject: [PATCH] Clean build repository readme file, update logo, declutter (#8391) --- .github/logo.png | Bin 0 -> 62150 bytes README.md | 275 +++++++++-------------------------------------- 2 files changed, 51 insertions(+), 224 deletions(-) create mode 100644 .github/logo.png diff --git a/.github/logo.png b/.github/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..e96ae1b46a83178dd30a431163a4f2ba5119d931 GIT binary patch literal 62150 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 - - Armbian logo -
- Armbian Linux Build Framework
-
-GitHub contributors -Artifacts generation -GitHub last commit (branch) -

+

+ Armbian logo +

+

-## What does this project do? +### Purpose of This Repository -- Builds custom **kernel**, **image** or a **distribution** optimized for low-resource hardware, -- Include filesystem generation, low-level control software, kernel image and **bootloader** compilation, -- Provides a **consistent user experience** by keeping system standards across different platforms. +The **Armbian Linux Build Framework** creates minimal, efficient, and fully [customizable operating system images](https://docs.armbian.com/#key-features) based on **Debian** or **Ubuntu**. It is designed specifically for **low-resource single board computers (SBCs)** and other embedded devices. -## Getting started +This toolchain compiles a custom **Linux kernel**, **bootloader**, and **root filesystem**, providing fine-grained control over: -### Requirements for self hosted +- Kernel versions and configuration +- Bootloader selection and customization +- Filesystem layout and compression +- Additional firmware, overlays, and device trees +- System optimizations for performance and size -- x86_64 / aarch64 / riscv64 machine -- at least 8GB (less for non-[BTF](https://docs.kernel.org/bpf/btf.html) builds) of memory and ~50GB of disk space for VM, container, or bare-metal installation -- **Armbian / Ubuntu Jammy 22.04.x** for native building or any Docker capable Linux for containerised -- **Windows 10/11 with WSL2 subsystem** running Armbian / Ubuntu Jammy 22.04.x -- Superuser rights (configured sudo or root access). -- Make sure your system is up-to-date! Outdated Docker binaries, for example, can cause trouble +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. -For stable branch use `--branch=v25.05` +It ensures **consistency across devices** while remaining modular and extensible through a variety of configuration files, templates, and user patches. + +### Quick Start ```bash -apt-get -y install git -git clone --depth=1 --branch=main https://github.com/armbian/build +git clone https://github.com/armbian/build cd build ./compile.sh ``` +### Resources + +[Documentation](https://docs.armbian.com/Developer-Guide_Overview/) • [Website](https://www.armbian.com) • [Blog](https://blog.armbian.com) • [Community Forums](https://forum.armbian.com) + + + Armbian logo -- Interactive graphical interface. -- Prepares the workspace by installing the necessary dependencies and sources. -- It guides the entire process and creates a kernel package or a ready-to-use SD card image. +### Build Host Requirements -### Build parameter examples +- **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. -Show work-in-progress areas in interactive mode: +### Download -```bash -./compile.sh EXPERT="yes" -``` +Prebuilt Armbian OS Images: -Build minimal CLI Armbian Jammy for Bananapi M5 with LTS kernel: +### Contribute -```bash -./compile.sh \ -BOARD=bananapim5 \ -BRANCH=current \ -RELEASE=noble \ -BUILD_MINIMAL=yes \ -BUILD_DESKTOP=no \ -KERNEL_CONFIGURE=no -``` +Learn how to report issues, suggest improvements, or submit code: [CONTRIBUTING.md](CONTRIBUTING.md) -Build with GitHub actions: ([advanced version](https://github.com/armbian/os/blob/main/.github/workflows/complete-artifact-one-by-one.yml)) +### Support -``` -name: "Build Armbian" -on: - workflow_dispatch: -jobs: - build-armbian: - runs-on: ubuntu-24.04-arm # use ubuntu-24.04 when building x86 or riscv64 - steps: - - uses: armbian/build@main - with: - armbian_token: "${{ secrets.GITHUB_TOKEN }}" # GitHub token - armbian_release: "noble" # userspace - armbian_target: "build" # build=image, kernel=kernel - armbian_board: "bananapim5" # build target -``` -Generated image will be uploaded to your repository release. Note: GitHub upload file limit is 2Gb. +Armbian offers multiple support channels, depending on your needs: -## More information: +- **Community Forums** + Get help from fellow users and contributors on a wide range of topics — from troubleshooting to development. + 👉 [forum.armbian.com](https://forum.armbian.com) -- [Building Armbian](https://docs.armbian.com/Developer-Guide_Build-Preparation/) (how to start) -- [Build commands](https://docs.armbian.com/Developer-Guide_Build-Commands/) and [switches](https://docs.armbian.com/Developer-Guide_Build-Switches/) (build options) -- [User configuration](https://docs.armbian.com/Developer-Guide_User-Configurations/) (how to add packages, patches, and override sources config) -- [System config](https://docs.armbian.com/User-Guide_Armbian-Config/) (menu driven utility to setup OS and HW features) +- **Discord / IRC/ Matrix Chat** + Join real-time discussions with developers and community members for faster feedback and collaboration. + 👉 [Community Chat](https://docs.armbian.com/Community_IRC/) -## Download prebuilt images releases +- **Paid Consultation** + For advanced needs, commercial projects, or guaranteed response times, paid support is available directly from Armbian maintainers. + 👉 [Contact us](https://www.armbian.com/contact) to discuss consulting options. -### Point - -- [manually released **standard supported** builds](https://www.armbian.com/download/?device_support=Standard%20support) (quarterly) - -### Rolling - -- [automatically released **staging and standard supported** builds](https://github.com/armbian/os/releases/latest) (daily) -- [automatically released **community maintained** builds](https://github.com/armbian/community/releases/latest) (weekly) - -## Compared with industry standards - -
Expand -Check similarities, advantages and disadvantages compared with leading industry standard build software. - -Function | Armbian | Yocto | Buildroot | -|:--|:--|:--|:--| -| Target | general purpose | embedded | embedded / IOT | -| U-boot and kernel | compiled from sources | compiled from sources | compiled from sources | -| Board support maintenance   | complete | outside | outside | -| Root file system | Debian or Ubuntu based| custom | custom | -| Package manager | APT | any | none | -| Configurability | limited | large | large | -| Initramfs support | yes | yes | yes | -| Getting started | quick | very slow | slow | -| Cross compilation | yes | yes | yes | -
- -## Project structure - -
Expand - -```text -├── cache Work / cache directory -│   ├── aptcache Packages -│   ├── ccache C/C++ compiler -│   ├── docker Docker last pull -│   ├── git-bare Minimal Git -│   ├── git-bundles Full Git -│   ├── initrd Ram disk -│   ├── memoize Git status -│   ├── patch Kernel drivers patch -│   ├── pip Python -│   ├── rootfs Compressed userspaces -│   ├── sources Kernel, u-boot and other sources -│   ├── tools Additional tools like ORAS -│   └── utility -├── config Packages repository configurations -│   ├── targets.conf Board build target configuration -│   ├── boards Board configurations -│   ├── bootenv Initial boot loaders environments per family -│   ├── bootscripts Initial Boot loaders scripts per family -│   ├── cli CLI packages configurations per distribution -│   ├── desktop Desktop packages configurations per distribution -│   ├── distributions Distributions settings -│   ├── kernel Kernel build configurations per family -│   ├── sources Kernel and u-boot sources locations and scripts -│   ├── templates User configuration templates which populate userpatches -│   └── torrents External compiler and rootfs cache torrents -├── extensions Extend build system with specific functionality -├── lib Main build framework libraries -│   ├── functions -│   │   ├── artifacts -│   │   ├── bsp -│   │   ├── cli -│   │   ├── compilation -│   │   ├── configuration -│   │   ├── general -│   │   ├── host -│   │   ├── image -│   │   ├── logging -│   │   ├── main -│   │   └── rootfs -│   └── tools -├── output Build artifact -│   └── deb Deb packages -│   └── images Bootable images - RAW or compressed -│   └── debug Patch and build logs -│   └── config Kernel configuration export location -│   └── patch Created patches location -├── packages Support scripts, binary blobs, packages -│   ├── blobs Wallpapers, various configs, closed source bootloaders -│   ├── bsp-cli Automatically added to armbian-bsp-cli package -│   ├── bsp-desktop Automatically added to armbian-bsp-desktopo package -│   ├── bsp Scripts and configs overlay for rootfs -│   └── extras-buildpkgs Optional compilation and packaging engine -├── patch Collection of patches -│   ├── atf ARM trusted firmware -│   ├── kernel Linux kernel patches -| |   └── family-branch Per kernel family and branch -│   ├── misc Linux kernel packaging patches -│   └── u-boot Universal boot loader patches -| ├── u-boot-board For specific board -|    └── u-boot-family For entire kernel family -├── tools Tools for dealing with kernel patches and configs -└── userpatches User: configuration patching area - ├── config-example.conf User: example user config file - ├── customize-image.sh User: script will execute just before closing the image -    ├── atf User: ARM trusted firmware -    ├── extensions User: Extend build system with specific functionality -    ├── kernel User: Linux kernel per kernel family -    ├── misc User: various -    └── u-boot User: universal boot loader patches -``` -
- -## Contribution - -### Want to help? - -We always need those volunteering positions: - -- [Code reviewer](https://forum.armbian.com/staffapplications/application/23-code-reviewer/) -- [Build framework maintainer](https://forum.armbian.com/staffapplications/application/9-build-framework-maintainer/) -- [Test Automation Engineer](https://forum.armbian.com/staffapplications/application/19-test-automation-engineer/) - -Just apply and follow! - -## Support - -For commercial or prioritized assistance: - - Book an hour of [professional consultation](https://calendly.com/armbian/consultation) - - Consider becoming a [project partner](https://forum.armbian.com/subscriptions/) - - [Contact us](https://armbian.com/contact)! - -Free support: - - Find free support via [general project search engine](https://www.armbian.com/search), [documentation](https://docs.armbian.com), [community forums](https://forum.armbian.com/) or [IRC/Discord](https://docs.armbian.com/Community_IRC/). Remember that our awesome community members mainly provide this in a **best-effort** manner, so there are no guaranteed solutions. - -## Contact - -- [Forums](https://forum.armbian.com) for Participate in Armbian -- IRC: `#armbian` on Libera.chat / oftc.net -- Matrix: [https://forum.armbian.com/topic/40413-enter-the-matrix/](https://forum.armbian.com/topic/40413-enter-the-matrix/) -- Discord: [https://discord.gg/armbian](https://discord.gg/armbian) -- Follow [@armbian](https://twitter.com/armbian) on 𝕏 (formerly known as Twitter), Mastodon or [LinkedIn](https://www.linkedin.com/company/armbian). -- Bugs: [issues](https://github.com/armbian/build/issues) / [JIRA](https://armbian.atlassian.net/jira/dashboards/10000) -- Office hours: [Wednesday, 12 midday, 18 afternoon, CET](https://calendly.com/armbian/office-hours) - -## Contributors +### Contributors Thank you to all the people who already contributed to Armbian! @@ -235,24 +80,6 @@ Thank you to all the people who already contributed to Armbian! -### Also - -- [Current and past contributors](https://github.com/armbian/build/graphs/contributors), our families and friends. -- [Support staff](https://forum.armbian.com/members/2-moderators/) that keeps forums usable. -- [Friends and individuals](https://armbian.com/authors) who support us with resources and their time. -- [The Armbian Community](https://forum.armbian.com/) helps with their ideas, reports and [donations](https://www.armbian.com/donate). - ## Armbian Partners -Armbian's partnership program helps to support Armbian and the Armbian community! Please take a moment to familiarize yourself with our Partners: - -- [Click here to visit our Partners page!](https://armbian.com/partners) -- [How can I become a Partner?](https://forum.armbian.com/subscriptions) - -## Star History - -[![Star History Chart](https://api.star-history.com/svg?repos=armbian/build&type=Date)](https://star-history.com/#armbian/build&Date) - -## License - -This software is published under the GPL-2.0 License license. +Armbian's [partnership program](https://forum.armbian.com/subscriptions) helps to support Armbian and the Armbian community! Please take a moment to familiarize yourself with [our Partners](https://armbian.com/partners).