mirror of
https://github.com/armbian/build
synced 2025-09-24 19:47:06 +07:00
Clean build repository readme file, update logo, declutter (#8391)
This commit is contained in:
BIN
.github/logo.png
vendored
Normal file
BIN
.github/logo.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 61 KiB |
275
README.md
275
README.md
@@ -1,233 +1,78 @@
|
|||||||
<p align="center">
|
<h2 align="center">
|
||||||
<a href="#build-framework">
|
<img src="https://raw.githubusercontent.com/armbian/.github/master/profile/logo.png" alt="Armbian logo" width="25%">
|
||||||
<img src=".github/armbian-logo.png" alt="Armbian logo" width="144">
|
<br><br>
|
||||||
</a><br>
|
</h2>
|
||||||
<strong>Armbian Linux Build Framework</strong><br>
|
|
||||||
<br>
|
|
||||||
<a href=https://github.com/armbian/build/graphs/contributors><img alt="GitHub contributors" src="https://img.shields.io/github/contributors-anon/armbian/build?logo=stackexchange&label=Contributors&style=for-the-badge&branch=main&logoColor=white"></a>
|
|
||||||
<a href=https://github.com/armbian/os><img alt="Artifacts generation" src="https://img.shields.io/github/actions/workflow/status/armbian/os/complete-artifact-matrix-all.yml?logo=dependabot&label=CI%20Build&style=for-the-badge&branch=main&logoColor=white"></a>
|
|
||||||
<a href=https://github.com/armbian/build/commits/main><img alt="GitHub last commit (branch)" src="https://img.shields.io/github/last-commit/armbian/build/main?logo=github&label=Last%20commit&style=for-the-badge&branch=main&logoColor=white"></a>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
## What does this project do?
|
### Purpose of This Repository
|
||||||
|
|
||||||
- Builds custom **kernel**, **image** or a **distribution** optimized for low-resource hardware,
|
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.
|
||||||
- Include filesystem generation, low-level control software, kernel image and **bootloader** compilation,
|
|
||||||
- Provides a **consistent user experience** by keeping system standards across different platforms.
|
|
||||||
|
|
||||||
## 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
|
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.
|
||||||
- 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
|
|
||||||
|
|
||||||
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
|
```bash
|
||||||
apt-get -y install git
|
git clone https://github.com/armbian/build
|
||||||
git clone --depth=1 --branch=main https://github.com/armbian/build
|
|
||||||
cd build
|
cd build
|
||||||
./compile.sh
|
./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)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="#how-to-build-an-image-or-a-kernel"><img src=".github/README.gif" alt="Armbian logo" width="100%"></a>
|
<a href="#how-to-build-an-image-or-a-kernel"><img src=".github/README.gif" alt="Armbian logo" width="100%"></a>
|
||||||
|
|
||||||
- Interactive graphical interface.
|
### Build Host Requirements
|
||||||
- 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 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
|
Prebuilt Armbian OS Images: <https://www.armbian.com/download>
|
||||||
./compile.sh EXPERT="yes"
|
|
||||||
```
|
|
||||||
|
|
||||||
Build minimal CLI Armbian Jammy for Bananapi M5 with LTS kernel:
|
### Contribute
|
||||||
|
|
||||||
```bash
|
Learn how to report issues, suggest improvements, or submit code: [CONTRIBUTING.md](CONTRIBUTING.md)
|
||||||
./compile.sh \
|
|
||||||
BOARD=bananapim5 \
|
|
||||||
BRANCH=current \
|
|
||||||
RELEASE=noble \
|
|
||||||
BUILD_MINIMAL=yes \
|
|
||||||
BUILD_DESKTOP=no \
|
|
||||||
KERNEL_CONFIGURE=no
|
|
||||||
```
|
|
||||||
|
|
||||||
Build with GitHub actions: ([advanced version](https://github.com/armbian/os/blob/main/.github/workflows/complete-artifact-one-by-one.yml))
|
### Support
|
||||||
|
|
||||||
```
|
Armbian offers multiple support channels, depending on your needs:
|
||||||
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.
|
|
||||||
|
|
||||||
## 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)
|
- **Discord / IRC/ Matrix Chat**
|
||||||
- [Build commands](https://docs.armbian.com/Developer-Guide_Build-Commands/) and [switches](https://docs.armbian.com/Developer-Guide_Build-Switches/) (build options)
|
Join real-time discussions with developers and community members for faster feedback and collaboration.
|
||||||
- [User configuration](https://docs.armbian.com/Developer-Guide_User-Configurations/) (how to add packages, patches, and override sources config)
|
👉 [Community Chat](https://docs.armbian.com/Community_IRC/)
|
||||||
- [System config](https://docs.armbian.com/User-Guide_Armbian-Config/) (menu driven utility to setup OS and HW features)
|
|
||||||
|
|
||||||
## 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
|
### Contributors
|
||||||
|
|
||||||
- [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
|
|
||||||
|
|
||||||
<details><summary>Expand</summary>
|
|
||||||
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 |
|
|
||||||
</details>
|
|
||||||
|
|
||||||
## Project structure
|
|
||||||
|
|
||||||
<details><summary>Expand</summary>
|
|
||||||
|
|
||||||
```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
|
|
||||||
```
|
|
||||||
</details>
|
|
||||||
|
|
||||||
## 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), <a rel="me" href="https://fosstodon.org/@armbian">Mastodon</a> 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
|
|
||||||
|
|
||||||
Thank you to all the people who already contributed to Armbian!
|
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!
|
|||||||
<img src="https://contrib.rocks/image?repo=armbian/build" />
|
<img src="https://contrib.rocks/image?repo=armbian/build" />
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
### 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 Partners
|
||||||
|
|
||||||
Armbian's partnership program helps to support Armbian and the Armbian community! Please take a moment to familiarize yourself with our Partners:
|
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).
|
||||||
|
|
||||||
- [Click here to visit our Partners page!](https://armbian.com/partners)
|
|
||||||
- [How can I become a Partner?](https://forum.armbian.com/subscriptions)
|
|
||||||
|
|
||||||
## Star History
|
|
||||||
|
|
||||||
[](https://star-history.com/#armbian/build&Date)
|
|
||||||
|
|
||||||
## License
|
|
||||||
|
|
||||||
This software is published under the GPL-2.0 License license.
|
|
||||||
|
|||||||
Reference in New Issue
Block a user