Привет, Хабр!

Меня зовут Сергей Брауманн, мне 29 лет, по специальности я техник АСУ ТП, а сейчас обучаюсь по направлению “Программная инженерия” (бакалавриат 4 курс). Живу в Екатеринбурге. Сегодня я хочу рассказать о своём проекте по портированию Armbian на плату Eltay RM66 и о том, какого прогресса удалось добиться. Сразу скажу, что в этой статье не планирую глубоко погружаться в тонкости разработки BSP под Linux. Для начала хочется просто познакомить вас с проектом, рассказать, с чего всё началось и что происходит сейчас. Если тема окажется интересной, в дальнейшем можно будет разобрать и техническую сторону вопроса.

Но прежде чем мы перейдём к самому проекту, давайте немного вспомним базу.

Когда берёшь в руки “голую” плату, отлично понимаешь: чтобы заставить её работать, одной паяльной станции мало. Нужна ещё программная составляющая, то есть операционная система (Далее ОС)


Зачем железу ОС?

Представим, что у тебя есть процессор на 1,8 ГГц, 8 ГБ быстрой оперативной памяти и терабайты NVMe. Всё это установлено на материнской плате. Ты подаёшь питание и видишь лишь красный индикатор. Ни тебе интерфейса, ни возможности запустить привычную программу, ни даже банального калькулятора. Железо есть, а толку — ноль.

Конечно, процессор способен выполнять инструкции и без операционной системы. Существует даже отдельный подход к разработке — bare-metal, когда программа работает непосредственно с аппаратным обеспечением. Но у нас задача немного другая: мы хотим получить полноценную Linux-систему, в которой можно запускать приложения, работать с файлами, сетью и подключённым оборудованием. Вот для этого нам и нужна ОС.

Что делает ОС?

Если проще, ОС — посредник между аппаратным обеспечением и прикладными программами. Но это довольно сухое определение. На самом деле ОС решает множество задач, из которых я бы выделил три основные.

Диспетчеризация ресурсов

Представим, что у тебя запущено семь программ. Все они хотят выполняться прямо сейчас. Но процессорные ресурсы не бесконечны. Даже если процессор многоядерный и способен выполнять несколько задач одновременно, количество желающих получить процессорное время может быть значительно больше числа доступных ядер. Кто-то должен решать, какая программа получит драгоценные такты процессора, а какая немного подождёт.

Этим занимается планировщик (по-другому Scheduler) ОС. То же самое с памятью: приложение просит выделить ему 100 МБ для работы, ОС организует выделение памяти и следит, чтобы приложение не залезло в адресное пространство соседнего процесса. В этом ей помогают и аппаратные механизмы процессора, в частности MMU (Memory Management Unit — блок управления памятью) — это специализированный аппаратный узел внутри процессора, который отвечает за трансляцию виртуальных адресов памяти в физические и защиту адресных пространств. Именно MMU делает возможным существование современных многозадачных операционных систем (таких как Linux, Windows, macOS), изолируя процессы друг от друга. Без такого “дирижёра” разработчикам пришлось бы самостоятельно организовывать распределение ресурсов между программами.

Абстракция и драйверы

Второй важный аспект — это то, как программы общаются с железом. Разработчику софта не нужно знать, по каким именно линиям на плате Eltay RM66 подключён тот или иной контроллер и какие регистры необходимо задействовать для работы с ним. Вместо этого программа использует интерфейсы операционной системы, а ОС через соответствующие драйверы взаимодействует с оборудованием. И это очень удобно.

Иначе пришлось бы переписывать программу каждый раз, когда какой-то гений решит поменять контроллер на плате. Конечно, не всё оборудование работает одинаково, и полной независимости от железа добиться нельзя. Но драйверы позволяют скрыть значительную часть этих различий от прикладного ПО.

Защита и изоляция (режимы процессора)

Современные ARM-процессоры, рассчитанные на запуск Linux, поддерживают разные уровни привилегий. Если сильно упростить, есть привилегированный режим, в котором работает ядро ОС, и пользовательский режим, в котором выполняются обычные приложения. Ядро может управлять памятью, обрабатывать прерывания и взаимодействовать с оборудованием. А вот пользовательская программа не имеет прямого доступа ко всем этим возможностям. И это правильно в целом.

Иначе любая случайно скачанная программа могла бы из-за собственной ошибки повредить память других процессов или нарушить работу всей системы. Разумеется, ОС не обеспечивает абсолютную защиту от всего на свете, но механизмы изоляции значительно снижают вероятность подобных проблем.

Что даёт нам ОС?

Теперь немного о том, что мы получаем:

  • Запуск прикладного софта. ОС обеспечивает привычную среду для выполнения программ, управляет процессами и предоставляет им необходимые системные интерфейсы.

  • Работа с файлами. Благодаря драйверам и файловым системам наш NVMe-накопитель становится доступным для хранения данных, установки программ и прочих задач.

  • Многозадачность. Можно одновременно компилировать программу, работать по SSH и выполнять другие задачи.

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

Всё перечисленное в той или иной форме можно реализовать и без полноценной ОС. Но зачем изобретать велосипед, если существует Linux с огромным количеством готовых решений? А не форкать условный Ubuntu и пытаться на нём костылить свой инструмент, выдавая за собственную разработку? Собственно, поэтому я и решил заняться портированием Armbian.

Armbian x Eltay RM66

Теперь, когда мы немного разобрались с ролью операционной системы, предлагаю вернуться к главному герою этой статьи — Eltay RM66. Это вычислительный модуль российской компании «Элрон», построенный на базе четырёхъядерного ARM-процессора Rockchip RK3566. В зависимости от комплектации он может оснащаться до 8 ГБ оперативной памяти, встроенным накопителем eMMC и различными интерфейсами для подключения периферии.

В общем, вполне интересное железо, на котором можно построить немало полезных вещей: от небольшого домашнего сервера до встраиваемого устройства под конкретную задачу. Но когда я смотрел на этот компьютерный модуль, меня интересовал вопрос: какую ОС поставить?

Разумеется, вариантов несколько. И мне кажется важным, чтобы разработчик не был ограничен единственным программным решением. Особенно когда мы говорим об отечественном оборудовании.

Сегодня российские аппаратные платформы находят применение в самых разных областях, и требования к программному обеспечению могут существенно различаться. Где-то на первый план выходят безопасность, сертификация и соответствие нормативным требованиям. В других случаях важнее гибкость, доступность исходного кода и возможность самостоятельно изменять систему под свои нужды.

Компания «Элрон» учитывает оба направления, развивая совместимость своего оборудования с отечественными операционными системами и открытыми Linux-дистрибутивами. И это действительно круто!

Для систем с особыми требованиями к информационной безопасности необходимо выбирать соответствующие программные решения. А для разработчиков, энтузиастов, студентов и интеграторов открытые системы вроде Armbian дают возможность экспериментировать, изучать устройство Linux и создавать собственные проекты без привязки к одной платформе. Более того, открытость позволяет не просто пользоваться готовой ОС, но и участвовать в её развитии: исправлять ошибки, добавлять поддержку оборудования и делиться результатами с другими разработчиками.

Именно такой подход мне и близок. Ведь чем шире выбор программного обеспечения для конкретной платы, тем больше сценариев её использования. А когда результаты разработки доступны сообществу, проделанная работа может оказаться полезной далеко за пределами одного проекта.

Собственно, поэтому мой выбор пал на Armbian. Это открытый проект, ориентированный на Linux-системы для одноплатных компьютеров и других устройств на ARM. Помимо готовых образов Debian и Ubuntu, он предоставляет инфраструктуру для сборки системы, настройки ядра и добавления поддержки новых плат. И самое интересное здесь то, что для добавления нового устройства необязательно быть сотрудником его производителя: достаточно разобраться в аппаратной части, подготовить необходимые изменения и пройти процесс их интеграции в проект.

И что же получилось?

Сегодня Eltay RM66 уже представлен в официальном каталоге Armbian со статусом Community. Для платы доступны готовые образы Ubuntu 26.04 с GNOME и KDE Plasma, и CLI, а также минимальный Debian 13. Все они используют ядро Linux 6.18.

Теперь любой желающий может перейти на страницу Eltay RM66 в Armbian, скачать подходящий образ и попробовать систему самостоятельно. Конечно, это ещё не финальная точка: впереди работа над поддержкой дополнительной периферии, интеграцией vendor-ядра Linux 6.1 и устранением оставшихся ограничений.

Но главный результат уже есть: ещё одна российская аппаратная платформа получила собственную конфигурацию в открытом международном проекте, а её пользователи — дополнительный выбор программного обеспечения.

Для меня это интересный опыт знакомства с внутренним устройством Linux, загрузчиками, Device Tree и процессом внесения изменений в большой Open Source проект. На этом, пожалуй, и закончим наше первое знакомство с Eltay RM66 и Armbian.

Если эта тема вам интересна, в следующей статье я подробнее расскажу о самом процессе портирования: с какими проблемами пришлось столкнуться, как устроена поддержка платы и что потребовалось для её интеграции в Armbian. Спасибо за внимание!

Комментарии (24)


  1. MountainGoat
    28.10.2026 13:50

    Посмотрел цену на этот Элтай, душевно посмеялся.


    1. Sergey_Braumann Автор
      28.10.2026 13:50

      Да, цена достаточно высока сейчас, поэтому это больше для энтузиастов которые могут себе такие игрушки позволить. Надеюсь в будущем цена будет по интересней и для других. Суть в том, что они не изготавливают SBC платы в своём представлении как Rasperry Pi или другие, они делают CM - Computer Module (Компьютерный модуль), под который уже можно делать BB (Base Board - Базовая Плата), можно делать ITX формат, можно SBC. Т.е под свои хотелки всё что угодно. Это конечно стоит денег. Хотя вот Eltay SC, на Российском чипе, сделан как раз в формате SBC.


    1. saege5b
      28.10.2026 13:50

      Вместе с материнкой 8/32 - 38.000 р. на Озоне.

      Это для очень обеспеченных энтузиастов.


      1. Sergey_Braumann Автор
        28.10.2026 13:50

        В пример могу привести платы Эльбрус которые на Авито где-то 150к стоят. Тут конечно сравнение такое себе, т.к РУ сегмент из надеюсь чистых компонентов, но мощности там не стоят 150к, когда за такие средства можно собрать условно неплохой компьютер покрывающий больший спектр задач. Но все же. Поэтому надежда на то, что ценовая политика в следующем году будет мягче.


      1. Yrninibg
        28.10.2026 13:50

        Для домашних экспериментов плата явно не предназначена


    1. MikroElektronik
      28.10.2026 13:50

      Вроде, статья не про цену?
      Работы проделано овер.. много. Может, что-то по существу скажете?


      1. lamer84
        28.10.2026 13:50

        А где про работу?

        "Что такое ОС", "Зачем нужна ОС", "Плата Eltray", "Eltray есть в списке Armbian" - вот примерно содержание статьи.


  1. lamer84
    28.10.2026 13:50

    В хабах указано "С*", на кдпв - "Опыт портирования". А где, собственно, опыт и где, собственно, портирование?

    Половина статьи - что такое ОС и зачем она нужна. Вторая половина - "я выбрал Armbian".

    Для меня это интересный опыт знакомства с внутренним устройством Linux, загрузчиками, Device Tree и процессом внесения изменений в большой Open Source проект.

    А где?

    На этом, пожалуй, и закончим наше первое знакомство с Eltay RM66 и Armbian.

    Так оно и не начиналось. Ни характеристик, ни конфигурации.

    в следующей статье я подробнее расскажу о самом процессе портирования

    А, вот оно где...


    1. Sergey_Braumann Автор
      28.10.2026 13:50

      Статья изначально с пометкой "Просто", вводная часть для тех, кто не знает, но хотел бы понять.

      Си? Потому что тема посвящена BSP и Си не отьемлемая часть этого направления и останется ещё длительное время.

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

      Я бы мог сделать толмут, но решил зайти из далека и дать людям информацию, которая является прикладной, пометка должна говорить за себя.

      И статья является первой на Хабре... В общем интересные замечания у вас.


      1. lamer84
        28.10.2026 13:50

        Статья изначально с пометкой "Просто", вводная часть для тех, кто не знает, но хотел бы понять.

        "Просто" - о чем? О том, что такое ОС и для чего она железу? Кто не знает - что?

        Си? Потому что тема посвящена BSP и Си не отьемлемая часть этого направления и останется ещё длительное время.

        Тема общая, возможно, посвящена BSP. Только статья - нет. Нет ни BSP, ни намека на Си. Да, и хаб "С*" вы все-таки убрали.

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

        Какое "предъявление"? Я куда попал? Я вам ничего не предъявлял.

        Как же характеристики ничего не дадут? Дадут представление, что за плата, какие есть ресурсы, какие ограничения и связанные с этим проблемы могут возникнуть. Описание платы хотя бы!

        Я бы мог сделать толмут, но решил зайти из далека и дать людям информацию, которая является прикладной, пометка должна говорить за себя.

        Вот совсем издалека, честно говоря. Прикладной информации я тоже не увидел. И "талмуд" пишется так.

        Вот, что вы пишете в начале:

        Сразу скажу, что в этой статье не планирую глубоко погружаться в тонкости разработки BSP под Linux. Для начала хочется просто познакомить вас с проектом, рассказать, с чего всё началось и что происходит сейчас.

        Лично я понял это так, что хотя бы общие моменты разработки будут все-такие указаны. Не увидел. Да и с чего все началось? С операционной системы?

        И пометка "Обзор" заменилась на "Туториал". Еще лучше.

        В общем интересные замечания у вас.

        Взаимно, взаимно.


        1. Sergey_Braumann Автор
          28.10.2026 13:50

          Потому что правлю статью адаптируя её от сути. Началось как раз таки всё с ОС, я об этом напишу в следующей статье.

          Не понимаю вашего вопроса про "Кто не знает", все правильно написано и понятно. Статья и так вышла большой и подводит к сути, перенося его на следующий шаг закономерного события.


    1. Sergey_Braumann Автор
      28.10.2026 13:50

      Опыт портирование так же включает изучение базы и процесс исследования, о чем и говорится, далее так же будет включать опыт портирования, уже с углублением в тех часть.


      1. lamer84
        28.10.2026 13:50

        Да где у вас изучение базы и процесс исследования? Вы не рассказали ни что это за плата, ни ее возможности, ни трудности, с которыми столкнулись.

        Если это вводная статья, так и пишите сразу, чтобы видно было "Этим стулом мастер Гамбс начинает новую партию мебели" "Этой статьей начинается цикл BSP для Armbian на российскую плату", а не внутри абзаца, в котором вы представляетесь и говорите, кем работаете.

        Вы нажмите кнопку "Краткое содержание статьи" и посмотрите, о чем статья выглядит со стороны.


        1. Sergey_Braumann Автор
          28.10.2026 13:50

          Вы так читали статью? Соболезную. Но даже так, в обзоре всё кратко описано о чём статья. Картинка вводит в заблуждение? Так и скажите, переделаю. Остальные комментарии с 90% воды.


        1. Sergey_Braumann Автор
          28.10.2026 13:50

          200+ комментариев в вашем профиле, 0 постов и статей, покажите как надо на своем примере?


          1. lamer84
            28.10.2026 13:50

            Да! Есть! Умыл! Молодец! Уполз под лавку!


            1. Sergey_Braumann Автор
              28.10.2026 13:50

              Как много восклицательных знаков, к чему это?


          1. itoolsy
            28.10.2026 13:50

            Наличие 100500 статей не говорит о том, что они хорошие. Вы что-то перепутали, создавая рекламу


            1. Sergey_Braumann Автор
              28.10.2026 13:50

              Причем тут наличие 100500 статей? Человек очень громко возмущается, но на деле ничего самостоятельно не написал, не нужно 100500 статей, сделай один хороший. Все начинали когда-то не с картины знаменитых художников. Плюс считаю если критика, то конструктивная, а не лишь бы плюнуть.


            1. Sergey_Braumann Автор
              28.10.2026 13:50

              Так же, на счёт рекламы. Сделана вводная статья для продолжения, далее так же будет статья опирающиеся на эту же плату.

              В эту статью я выписал, Знакомство, Общий вектор статьи, Ликбез, Результат. В скользь затронул плату и его создателя. Я так же продолжаю заниматься портированием и жду следующей конвейерной сборки Армбиан, где уже появятся внесённые патчи и изменения. Поэтому я не стал расписывать то, над чем ещё работал в момент написания.

              Сейчас же, большая часть работы сделана и я могу приступить к следующей статье.


    1. Yrninibg
      28.10.2026 13:50

      Зайти издалека получилось настолько далеко, что до сути статьи так и не добрались :)


      1. Sergey_Braumann Автор
        28.10.2026 13:50

        Суть статьи:

        • Знакомство, т.к это мой первый пост и в будущем я буду ссылаться на него.

        • Основы информатики для тех кто забыл или спал на уроках

        • Почему я выбрал Армбиан

        • Какую плату я использовал и чего добился

        Технической информации 0, но смотря на Хабр, тут тренды очень скользкие везде.

        Далее естественно можно было продолжить мысль, но уже и так много написано.


  1. Yrninibg
    28.10.2026 13:50

    В технической статье про портирование дистрибутива на одноплатник меньше всего ждешь школьный ликбез о том, зачем процессору нужна операционная система

    Вместо этого хотелось увидеть дерево устройств Device Tree, патчи к U-Boot и настройку питания регуляторов. Про реальные грабли портирования автор не написал почти ничего


    1. Sergey_Braumann Автор
      28.10.2026 13:50

      Был ли опрос о возрасте людей, пользователей Хабр? Если бы кто-то начинал с ликбеза и постепенно вводил новые переменные, это было бы не плохо, как по мне. А не сразу кидался в дебри и умные слова. Описание статьи есть и оно сопостовимо с содержанием темы. Как будто бы логично.