Skip to content

Commit

Permalink
Improve part about advantages
Browse files Browse the repository at this point in the history
  • Loading branch information
igorpecovnik committed Nov 26, 2024
1 parent 44922ce commit f17925c
Showing 1 changed file with 40 additions and 27 deletions.
67 changes: 40 additions & 27 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,7 @@ Linux for ARM development boards

## What is Armbian?

Armbian is highly optimized base operating system specialized for single board computers.

It embodies extremely lightweight hardware features focused Debian-based distribution, extensive build framework and is suitable for industrial or home use.
Armbian is **highly optimized base operating system specialized for single board computers**. It embodies extremely **lightweight** hardware features with **well-known** and supported Debian-based user-space experience, **extensive build framework** and is suitable for **industrial or home use**.

``` mermaid
graph LR
Expand All @@ -26,40 +24,55 @@ graph LR

## Key Advantages

- extremly lean and standardised Debian-based user space
- extensive build framework with endless capabilities
- fast hybrid assembly of whole operating system
- independent long term support
- advanced hardware and OS config (armbian-config)
- in-house kernel development, improvement and maintenance
- daily automated stress and upgrade testing on key hardware targets
- exlusive support of exotic hardware
- installation is optional and simplified
- provides point releases and daily rolling distribution
- world wide download infrastructure with perfect coverage in China mainland
- 1000+ build runners to assist CI automation
- CI supports customised build list per each build target

???+ "Other features and performance tweaks"

- Images are reduced to actual data size and automatically expand across boot media at first boot
- lean and standard **Debian** or **Ubuntu** based user space with well known APT package manager
- independent kernel development and maintenance with **long term support**
- extensive [build framework](https://github.com/armbian/build) with fast **hybrid assembly** of whole operating system and **endless capabilities**
- advanced **hardware and OS config** and **software installation** with build-in [armbian-config](/User-Guide_Armbian-Config/)
- daily **automated stress and upgrade testing** on key hardware targets
- exclusive support of **exotic hardware** nobody else supports
- **stabilized point** and **rolling** distribution of upgrades and OS images
- world wide download infrastructure with **perfect coverage also in China mainland**
- **extensive build infrastructure** to assist CI automation
- strong ties to embedded Linux.

## Comparison

| Distributions | Armbian | Downstream | Upstream |
| -------- | -------- | -------- |-------- |
| Primary focus | making a value | sales, profiting | making a value |
| User-space | clean & minimal | bloated with proprietary scripts | clean |
| Experience across hardware | universal, predictable, reproducible | random, chaotic, manually assembled | porting, unofficial builds |
| Contributing to FOSS | extreme | close to none | great |
| System config | universal | proprietary | all / none |
| Maintenance | modular with review and unit tests | endless spaghetti code | traditional and modern |
| Build framework | advanced and user friendly | none | none |
| Hardware maintainers | 50+, teams per SoC, per vendor | none | none |
| Upstream contribution | 1000+ | none | little |
| Downstream projects | 10+ | none | 100+ |
| Switching to upstream | easy | impossible | / |
| User-space changes | standard | proprietary | standard |
| Initial memory usage | optimal | bad | bad |
| Process usage | optimal | only hidden | too broad |
| Pre-installed packages | optimized for fast install | makes install of anything slower | optimized for fast install |
| Declaring support | where we know maintainers | everything is "supported" | everything is "supported" |

???+ "Other features and performance tweaks worth mentioning"

- Images are highly compressed and automatically expand across boot media at first boot
- BASH or ZSH shell, preinstalled standard system utilities
- login is possible via serial, HDMI/VGA or SSH
- highly compressed distributed images
- Upgrades are done via standard `apt upgrade` method
- Login script shows: board name with large text, distribution base, kernel version, system load, uptime, memory usage, IP(v6) address, CPU and drive temperature, ZFS, rootfs usage, battery conditions and number of updates to install
- Login MOTD shows collection of important information
- `/var/log` is mounted as compressed device (zram, lzo), log2ram service saves logs to disk daily and on shutdown
- Half of memory is allocated/extended for/with compressed swap
- Half of memory is allocated/extended for/with compressed zswap
- `/tmp` is mounted as `tmpfs` (optionally compressed)
- Browser profile memory caching is enabled on desktop images
- Optimized IO scheduler (check `/etc/init.d/armhwinfo`)
- Journal data writeback enabled. (`/etc/fstab`)
- ethernet interrupts are using dedicated core
- ethernet interrupts are using dedicated core

## What is supported?

Armbian distributes stable images for maintained hardware through its own [mirror network](https://github.com/armbian/mirror).
*Supported / maintained* is not a guarantee. It implies a particular SBC is at a **high level of software maturity** and has a named maintainer. Due to the complexity and lack of cooperation in the ecosystem it is unlikely that all specialized functionalities (like 3D, VE, I²C...) are always available.
Armbian distributes stable images for maintained hardware through its own [mirror network](https://github.com/armbian/mirror). *Supported / maintained* is not a guarantee. It implies a particular SBC is at a **high level of software maturity** and has a named maintainer. Due to the complexity and lack of cooperation in the ecosystem it is unlikely that all specialized functionalities (like 3D, VE, I²C...) are always available.

## Support status

Expand Down

0 comments on commit f17925c

Please sign in to comment.