Armbian — Linux дистрибутив для отладочных плат на ARM

logo armbian

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

  • Debian или Ubuntu официально не поддерживают большинство выше перечисленных плат.
  • В Armbian добавлено много небольших но жизненно важный настроек для лучшей производительности и безопасности.
  • Armbian основывается на последних разработках ядра Linux, в отличие от Debian, который включает в себя исходный код спустя годы после его публикации и/или может не иметь многих функций.
  • Armbian не содержит никакого лишнего пользовательского ПО и на 100% совместим с Debian/Ubuntu.
  • Многие стандартные ошибки Debian исправляются «лучше, чем оригинал :)»
  • Система сборки Armbian — центральная часть всей этой экосистемы. Вы можете самостоятельно сделать свою сборку своими руками. В случае с Debian это сделать намного сложнее.
  • Официальные форумы поддержки для разных плат.
  • Plug’n’Play «Подключай и играй» против сложной и нетривиальной установки Debian.

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

  • Armbian Linux доступен в виде образов на основе Debian и Ubuntu, компилируется с нуля.
  • При первом запуске с SD card автоматически увеличивается раздел до предельной емкости карты памяти, не требуется никаких ручных действий по дополнительной разметки разделов.
  • Пароль по умолчанию —  1234  для пользователя root. При первом запуске системы потребуется сменить этот пароль на другой и создать нового пользователя (можно отказаться).
  • Ethernet интерфейс по умолчанию настроен на автоматическое получение IP-адреса от DHCP сервера. SSH сервер работает на порту по умолчанию (22).
  • Беспроводной адаптер по умолчанию выключен. Но вы можете его включить с помощью команды armbian-config и подключиться в своему роутеру.
  • Системы с SD карты можно перенести на в NAND, SATA, eMMC, USB-носитель с помощью скрипта  nand-sata-install 
  • Доступно стандартное обновление системы используя команду  apt upgrade 
  • При входе в систему, скрипт выводит системную информацию в консоль: наименование платы, базовый дистрибутив, версию ядра inux, загрузку процессора, время работы от старта системы(uptime), используемая память, IP-адрес, температура CPU и диска, занятое пространство на диске.

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

  •  /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
  • Прерывание интерфейса eth0 обслуживает выделенное ядро (только платы на базе Allwinner)

Что означает «Поддерживается»?

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

Supported(Поддерживается) не означает наличие гарантии работоспособности и отсутствие ошибок. «Поддерживается» означает, что конкретный SBC находится на высоком уровне программного обеспечения, но не имеет намерения поддерживать все возможные функции SBC.Поддерживаемые платы получают преимущество при исправлении ошибок, улучшении или добавлении дополнительных функций на основе любого из следующих неисключительных критериев:

  • На усмотрение «команды разработчиков Armbian»
  • Наличие «команды разработчиков Armbian»
  • Доступность отладочный плат и легкость тестирования
  • Поддержка в mainline kernel процессора платы (SoC)  или SBC платформы
  • Наличие долгосрочного спонсорство проекта Armbian или волонтеров разработчиков
  • Поставщик или третье лицо осуществляет самостоятельную поддержку SBC или платформы ОТ ИМЕНИ СООБЩЕСТВА, и вносит свой вклад в проект.

Поддерживаемые 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, и другие.

  • Bionic — дистрибутив основан на Ubuntu 18.04.5 LTS (Bionic Beaver).
  • Focal — дистрибутив основан на Ubuntu 20.04.1 LTS (Focal Fossa).
  • Buster — дистрибутив основан на Debian 10.7.
  • Buster xfce desktop — дистрибутив основан на Debian 10.7, с установленным графическим интерфейсом xfce.
  • Bullseye — дистрибутив основан на Debian 11 Bullseye.

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

После выбора образа для платы потребуется его записать на карту памяти SD. Для этого рекомендуется воспользоваться бесплатной программой balenaEtcher — Flash. Flawless. Интерфейс программы простой и понятный, потребуется выбрать файл образа и диск с SD картой.

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

После входа в систему для настройки системы рекомендуется воспользоваться утилитой  armbian-config . armbian-config — содержит основные инструменты для настройки системы: подключение к Wi-Fi, перенос системы на eMMC или SATA, конфигурирование GPIO платы, и т.д.

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

Команды Armbian

  •  armbian-config  — основные настройки системы: подключение к Wi-Fi, перенос системы на eMMC или SATA, конфигурирование GPIO платы, и т.д.
  •  armbianmonitor -m  — запуск мониторинга состояние нагрузки, использования и температуры системы.
  •  nmtui  — настройка Wi-Fi.

Ссылки

Вам также может понравиться

About the Author: Anton

Programistik