Armbian linux что это

Обновлено: 06.07.2024

Armbian — это самый популярный дистрибутив Linux, предназначенный для отладочных плат построенных на ARM процессоре, список поддерживаемых плат огромен: Orange Pi, Banana Pi, Odroid, Olimex, Cubieboard, Roseapple Pi, Pine64, NanoPi и др.

После явления миру Raspberry Pi, китайские производители решили тоже влиться в движение Open Hardware Source, и сделали много разнообразных плат. Они были достаточно дешевые, некоторым производительным платам требовался радиатор с активным охлаждением, как для слабых процессоров Intel. Но программная поддержка была крайне слабой, для решения данной проблемы зародился проект Armbian. На данный момент Armbian уже исполнилось 7 лет, поддерживается 114 моделей плат, объявлена поддержка различного оборудования из коробки.

Доступны для подключения: 4G/LTE модемы, USB Wi-Fi, USB Bluetooth, USB Ethernet, сканеры DVB-тюнеры и т.д.

Для запуска Armbian на отладочной плате необходимо загрузить образ с сайта, затем скопировать его на microSD карту, с которой в последствие нужно будет загрузиться. Если на плате размещена eMMC память достаточного объема, то через утилиту armbian-config, операционная система легко переносится с microSD карты на eMMC память вместе с загрузчиком.

Создание IoT-проекта с использованием Armbian в отличие от Raspberry Pi, позволяет выбирать платы различающие по производительности, и набора периферии. Например, на всех версиях Raspberry Pi размещен только один Ethernet порт. Но если требуется сделать маршрутизатор с несколькими Ethernet портами, то из списка поддерживаемых плат Armbian подойдут модели: Helios64, Espressobin, Bananapi R2, и т.д.

Сборка

  • Дистрибутив основан на Debian и Ubuntu.
  • Каждая сборка для компилируется, собирается и оптимизируется с помощью Armbian Build Tools.
  • Можно создавать свои пользовательские сборки custom builds.

Отличие Armbian от Debian/Ubuntu

Общие моменты

Увеличение производительности

  • /var/log монтируется как сжатое устройство (zram, lzo), служба log2ram сохраняет журналы на диск ежедневно и при завершении работы
  • Половина памяти выделяется/расширяется для/со сжатым свопом swap
  • /tmp монтируется как tmpfs (опционально сжимается)
  • Профиль браузера кэшируется
  • Оптимизированный планировщик ввода-вывода(IO) (проверьте /etc/init.d/armhwinfo )
  • commit=600 данные на диск сбрасываются каждые 10 минут ( /etc/fstab )
  • Оптимизировано изменение частоты процессора с помощью interactive governor ( /etc/init.d/cpufrequtils )
    • 480-1010Mhz @Allwinner A10/A20
    • 480-1368Mhz @Allwinner H2+/H3
    • 392-996Mhz @Freescale imx
    • 600-2000Mhz @Exynos S905

    На странице выбора плат вы обнаружите, что каждая плата подписана уровнем поддержки: Supported, No official support (CSC), Suitable for testing (WIP), Support ended (EOS).

    Поддерживаемые SoC

    • Allwinner A10, A20, A31, H2+, H3, H5, H6, A64
    • Amlogic S805 and S905 (Odroid boards), S802/S812, S805, S905, S905X and S912 (fork by @balbes150)
    • Actionsemi S500
    • Freescale / NXP iMx6
    • Marvell Armada A380
    • Rockchip RK3288/RK3328/RK3399
    • Samsung Exynos 5422

    Дополнительное поддерживаемое оборудование (Tested 3rd party hardware)

    На странице загрузки дистрибутива для платы есть список оборудования в разделе Tested 3rd party hardware. В этом писке представлено то оборудование, которое будет работать на плате без установки дополнительный драйверов. В особенности это удобно для USB Wi-Fi, когда плата еще не подключена к сети и/или сети Интернет.

    Подготовка образа для платы и первый запуск

    На странице загрузки дистрибутива будут доступны различные варианты: Bionic, Focal, Buster, Buster xfce desktop, Bullseye, и другие.

    Строка Kernel (5.9.y, 4.4.y) версия ядра на котором основан дистрибутив.

    Рекомендуется использовать карту с классом скорости (Speed Class) не ниже 10. Карта с таким классом должна обеспечивать минимальную скорость записи 10 Мб/с. Маркировка класса скорости для обычных карт представляет собой цифру, вписанную в латинскую букву C. Более новые карты поддерживают интерфейс Ultra High Speed. По аналогии с маркировкой обычных карт, класс скорости UHS-карт вписывается в латинскую букву U. Это карты с более высокой скоростью. Подойдёт любая. Ёмкость карточки от 2 Гб до 64 Гб. Карты с большим объёмом имеют, как правило, более высокий класс скорости.

    Banana Pi BPI-M64 Armbian

    Терминал ssh на Armbian для Banana Pi BPI-M64.

    Minimal Debian based Linux with powerful configurator and software installer.

    Excellent for desktop

    Minimal and elegant XFCE based desktop.

    Simple for building

    Linux kernel and Debian framework. Cross-compilation with Vagrant, Docker, Virtualbox or native.

    Armbian needs your help

    Our Success During these 8 years since Armbian was created, we have become the go-to operating system for Arm-based single-board computers (SBC). The truth is, no other operating system can compete with us in terms of coverage and SBC support. Some distributions operate on some of the more popular single-board computers, but that’s about it. Armbian, on …

    Popular downloads

    pinebookpro

    Pinebook Pro

    khadas-vim3

    Khadas VIM3

    Orange Pi Zero

    Orange Pi Zero 2

    Simple

    Powerful menu driven configuration tool along with stock Debian utilities. BASH shell and lightweight XFCE based desktop.

    Lightweight

    Standard boot, config and update methods with minimal user-space footprint. Special config utilities are optional.

    Optimised

    A distributed image is compressed to its real data size which starts below 1G. Login is possible via serial, HDMI/VGA or SSH. Boot loader and kernel optimisations, memory caching, ZRAM swap and video acceleration where applicable.

    Secure

    Images are made fully automatised from sources. Releases are PGP signed and code is regularly inspected by community.

    Supported

    Long term support, quick security fixes, documentation and community based end user support.

    How to start with Armbian?

    Find your board and download one of the available images. Archives can be written with Etcher or USBimager (all OS).

    Make sure you have a good & reliable SD card and a proper power supply. Insert SD card into a slot and power the board. First boot takes up to 30 seconds with an average SD Card and on the cheapest board.

    First root login on HDMI or serial console is automatic. If you connect via SSH login as root password 1234. You will be prompted to change the password. Next, you will be asked to create a normal user account that is sudo enabled (beware of QWERTY keyboard settings at this stage).

    Type sudo armbian-config and change timezone, reconfigure language, locales, network. Manage OpenSSHD settings, freeze kernel upgrades, toggle hardware settings. Install Armbian to internal or external memory, a desktop, 3rd party software, .

    Testimonials

    Just a quick note to say thank you to the Developers for all that you do and have done to make our favorite Arm Linux Distro a success!

    I just want to post a thank you to the developers and contributors who have built one nice distribution. Over a year ago I bought a few OPi PC as a possible replacement for Raspberry Pi based HAM radio projects I support. Last night I downloaded and installed Jessie server from Armbian. What a pleasure. Small, clean and a giant plus for me, HEADERS. I am so tired of having to build the headers for a kernel so I can compile the out of tree modules I need. I just ordered a few NanoPi NEO and I look forward to being able to run Armbian. Thank you VERY much! My next stop is the donate button.

    All the Tinkerboard OS's looked to me more like compromise solutions to make the board work, rather than real OS's I could trust. Until I came across Armbian, that appeared to be more like the real Linux distros I was used to in the past. I saw committed people who really knew what they were doing, and it gave me a feeling of reliability.

    The new image worked perfectly and I am really impressed. When using the images for Raspbian or Debian, the screen output was very blurry using the converter. With armbian, it is razor sharp, right from the beginning. Wow!

    After some interesting weeks, I could successfully install eight Odroid C2 together with dedicated FPGA hardware now, and prepare them now for deep sea operation. Just wanted to express a big "THANK YOU" to all here in the forum which was involved in helping me to get the beast working.

    mboehmer

    One of the good things about Armbian is that it provides a very easy to use kernel config tool. I had no experience in kernel development, and I was able to work with it just in a couple hours.

    teacupx

    I have switched to Armbian, and what a difference. Downloads are faster, programs open faster, and T-bird and Firefox work with no problem.

    Great job guys, userpatches concept is just great. Working firmware for the new board in 2 days - that took me 6 months before with Buildroot.

    Alexey

    Какой дистрибутив лучше использовать для embedded систем. Этот вопрос является актуальным на сегодняшний день.

    Существует три актуальных подхода для решения этой задачи:

    1. Использовать готовый дистрибутив для вашего одноплатного компьютера(Armbian, Openwrt и т.д.)
    2. Собрать и настроить свой дистрибутив с помощью систем сборок(Buildroot/Yocto и т.д.).
    3. Использовать свою связку bootloader (u-boot) + ядро(kernel) + rootfs (busybox).

    Готовые дистрибутивы

    Я считаю использовать готовый дистрибутив это самый простой и легкий путь. Вы можете скачать готовый образ или сбилдить свой. Сборка своего образа Armbain не всегда является гибкой, т.к вы не можете выбрать любую версия ядра Linux, а использовать только предоставленные.

    Следует также ответить главное достоинство готовых дистрибутивов — это их стабильность.
    Для начинающих, я бы рекомендовал данные дистрибутивы.



    Armbian — это популярный дистрибутив Linux, доступный для самых разных устройств ARM: Orange Pi, Banana Pi, Odroid и т.д … Он основан на Ubuntu и/или Debian.


    OpenWrt — встроенная операционная система, основанная на ядре Linux, и предназначенная, в первую очередь, для домашних маршрутизаторов. Основные компоненты включают в себя ядро Linux, util-linux, uClibc или musl и BusyBox. Размер всех компонентов оптимизирован в связи с тем, что в большинстве домашних маршрутизаторов сильно ограничен объём памяти.

    От себя добавлю, хорошо подойдет для плат с wi-fi на борту (Например Orange Pi Zero).

    Системы сборки

    Гланым достоинством систем сборок является, то что вы можете собрать минимальный и гибкий Linux для встраиваемых (embedded) систем.


    Buildroot — это система сборки дистрибутивов для встраиваемых систем. Она поддерживает кучу плат и результатом ее работы становятся собранные загрузчик, ядро и образ
    файловой системы.

    Что оно позволяет собрать buildroot для вашей системы:

    • образ системы;
    • данная система позволяет выбрать версию ядра — любую.
    • можете добавить любые патчи и установить любые программы.
    • гибкая конфигурация утилит ( например, busyBox, bash и т.д.)

    Отличая такой сборки, например, от сборки Armbian:

    • собирается дистрибутив не на основе (Debian или Ubuntu), а пользовательский гибко настроенный Linux.
    • минимального размер сборки.
    • выбор любой версии ядра.

    3. Использование свой связки:

    Для этого нам нужен:

    • Cross compiler (Например, Linaro);
    • Bootloader (Например, U-boot);
    • Kernel;
    • RootFs (Например, Busybox).

    Далее необходимо собрать bootloader.

    Bootloader (U-Boot) — самый популярный bootloader для ARM, является U-boot. Главной задачей bootloader является загрузка ядра Linux Kernel. Так же вы можете использовать, например barebox или другой.




    Далее. Нужно собрать ядро, на выходе мы должны получить образ ядра и device tree для нашей целевой платформы.

    RootFs — это корневая файловая система которую примонтирует Kernel после загрузки. Рекомендую использовать Busybox.

    Для одноплатных пк на базе ARM широко распространен дистрибутив Armbian, который основан на Debian ветке.

    image

    Для экспериментов у меня в наличии была плата OrangePi One

    и MicroSD карта на 2G — я решил сделать из этого тонкий клиент RDP с окном блокировки и без лишнего программного обеспечения.

    Дистрибутив Armbian для этой платы здесь.

    Качаем последний с пометкой:

    Server or light desktop usage scenarios.

    В нем не будет рабочего стола, который не нужен в тонком клиенте.

    После записи: вставляем MicroSD, подключаем все интерфейсы (LAN, Дисплей, клавиатуру, мышь), подаем питание, ждем пока загрузится.

    Когда система загрузилась появится предложение ввести логин и пароль. Также можно зайти по SSH глянув выданный DHCP адрес (я воспользовался этой возможностью чтобы не вбивать настройки с клавиатуры и запустил PuTTY).

    Логин: root
    Пароль: 1234

    После входа система попросит сменить пароль: вводим текущий 1234 и два раза новый пароль.

    Также предлагается создать пользователя — назовем его user.

    После этого приступим к настройке системы под задачу.

    Установим недостающие пакеты:


    Запуск графического входа для systemd включется так:


    Создадим файлы:
    (содать их проще всего с помощью редактора vi — после запуска с параметром нужно нажать i для вставки — потом просто вставить текст в окно консоли, а по завершении нажать Esc и набрать :w для записи и :q для выхода)

    Для получения своих параметров через DHCP сервер

    этот скрипт получает по DHCP имя хоста и nds_servers, nds_tree_name, nds_context и сохраняет их значения в файлах во временной папке. По умолчанию будет использован IP адрес маршрутизатора.

    Для настроек GTK и назначения его тем создадим

    Для настройки менеджера графической среды LightDM:

    я после экспериментов решил использовать greeter (программа входа), таким образом не придется настраивать автовход, а программа запустится от нужного пользователя.

    Теперь создадим ярлык программы (и его папку):

    И сам код программы входа:


    Код предлагает ввести 4 значный пароль 0811 (месяц день с незначащими нулями без прбелов)
    После успешного ввода запускается xfreerdp с полученными параметрами.

    Читайте также: