LINUX.ORG.RU

Embox v0.6.6

 , , , ,


1

3

16 апреля 2025 года вышла новая версия открытой операционной системы реального времени Embox.

Embox предназначена для встраиваемых систем. Главной идей провозглашается использование Linux-ПО без Linux. ОС является POSIX-совместимой и кроссплатформенной (ARM, MIPS, x86, RISC-V, Microblaze, SPARC, PowerPC, E2K), имеет аналог ./configure; make; make install; поддерживает C++. Есть поддержка файловых систем FAT, ext2/3/4. Доступны популярные ЯП: Python, Lisp TCL, Ruby, Lua, JS, Scheme.

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

Embox включена в рееестр российского ПО.

Основные изменения:

  • улучшена поддержка архитектуры RISC-V;
  • добавлена поддержка нескольких платформ компании Syntacore;
  • улучшена поддержка описания устройств (аналог devtree);
  • добавлена поддержка платы stellaris/lm3s6965evb;
  • улучшены несколько подсистем включая SPI и GPIO;
  • улучшена поддержка языков стандарта МЭК 61131-3;
  • улучшена поддержка российского МК К1921ВГ015 от компании НИИЭТ;
  • улучшена поддержка российского МК ELIoT от компании ЭЛВИС;
  • множество других исправлений и улучшений.

>>> Подробности

★★★

Проверено: hobbit ()
Последнее исправление: CrX (всего исправлений: 3)
Ответ на: комментарий от delidov_george

Спасибо!

Да, в дорогах и роботах, embox очень к месту!

abondarev ★★★
() автор топика
Ответ на: комментарий от vitruss

Вот тоже интересно.
Только использовать не вместо, а вместе.

Вся прелесть OpenWRT - это комплекс удобств.
Настраивать дистрибутив без удобной системы управление - такое себе удовольствие.
Держал у себя на роутере Debian, ну ни разу не удобно ковырять конфиги. В OpenWRT можно все настроить проще и быстрее именно из-за интерфейса.
Вот если бы сделали такой же удобный интерфейс, только под капотом не Linux, а Embox - было бы здорово… но на текущий момент это только мечты.

ivanlex ★★★★★
()
Ответ на: комментарий от vitruss

А модули ядра? Как их перенести на Embox?
Я не утверждаю, что это невозможно. Я просто думаю, что это очень трудоемко. Наверное если бы были желающие, то это давно бы уже, если не сделали, то хотя бы начали делать…

ivanlex ★★★★★
()
Ответ на: комментарий от vitruss

А им можно заменить Open WRT на маршрутизаторе?

Если ты задаешь этот вопрос - значит заменять OpenWRT тебе пока не нужно.

windows10 ★★★★★
()

А где Java в списке? Она же по определению на любых платформах должна работать (run everywhere)

Shushundr ★★★★
()

Было бы интересно посмотреть время реакции на реалтаймовых задачах в сравнении с Xenomai, freeRTOS, TNKernel. Что то в духе этого. Вы кстати на WolfSSL так и не стали переходить?

splinter ★★★★★
()
Последнее исправление: splinter (всего исправлений: 3)
Ответ на: комментарий от vitruss

Спасибо за вопрос.

Да, потенциально можно, это одна из наших идей. Но на данный момент очень сложно, то есть не хватает многих вещей: драйверов, библиотек и так далее, и если для конкретного случая это можно допилить (выгода в безопасности например), то в общем случае, это нетривиальная задача.

Но процесс идет потихоньку, кто то из сообщества начал добавлять поддержку ralink https://github.com/embox/embox/pull/3488

abondarev ★★★
() автор топика
Ответ на: комментарий от ivanlex

Вся прелесть OpenWRT - это комплекс удобств.

Вот если бы сделали такой же удобный интерфейс, только под капотом не Linux, а Embox - было бы здорово… но на текущий момент это только мечты.

Да, Вы совершенно правы, OpenWRT это очень удобный набор средств. Как написал выше, идея переноса этих средств на embox, существует, и она отличная на мой взгляд. Но как Вы правильно заметили, на данный момент это пока слишком затратно (скорее мечты)

abondarev ★★★
() автор топика
Ответ на: комментарий от vitruss

Там не только ядро, но в принципе да, базу сделать, а удобные утилиты добавить

abondarev ★★★
() автор топика
Ответ на: комментарий от ivanlex

А модули ядра? Как их перенести на Embox? Я не утверждаю, что это невозможно. Я просто думаю, что это очень трудоемко. Наверное если бы были желающие, то это давно бы уже, если не сделали, то хотя бы начали делать…

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

Но пока embox конечно далек от возможностей Линукс. :)

abondarev ★★★
() автор топика
Ответ на: комментарий от NeoX

Чем отличается от этого?:

https://nuttx.apache.org

Спасибо за вопрос!

Очень люблю цитировать разработчика из открытого чата ссылка

Недавно портирован за три недели проект, который разрабатывался два года для Линуха, потом с разными спотыкачами пытались портировать пол- года на NuttX и ещё на пару систем для встроенных решений, которые провозгласили POSIX- совместимость.

Коротко, мы смогли продвинуться гораздо дальше NuttX. Я его кстати считаю замечательным проектом. И как написано в описании, embox имеет например ./configure; make; make install; это и позволяет из коробки брать Линукс ПО.

abondarev ★★★
() автор топика
Ответ на: комментарий от Shushundr

А где Java в списке? Она же по определению на любых платформах должна работать (run everywhere)

У нас была поддержка java на основе phoneme, но мы ее давно не поддерживали, может в будущем добавим современные версии (может и для SIMCARD), но пока я решил убрать из списка

abondarev ★★★
() автор топика
Ответ на: комментарий от Infra_HDC

Её уже улучшили до такого состояния, что она лучше чем FreeRTOS, или?

Она давно лучше чем freeRTOS. Пользователи переходят с freeRTOS на zephyr,nuttx, embox. Nuttx все реже звучит, хотя я считаю отличный проект.

Позавчера на выставке общались с разработчиком робототехником, он прямо спросил есть ли устройства, или как во FreeRTOS есть только планировщик и нужно остальное самому писать

abondarev ★★★
() автор топика
Ответ на: комментарий от windows10

Зачем тебе целая ОС для стопки if\then\else?

Ох, Вы даже не представляете насколько сейчас умные дроны-газонокосилки, там не embox, а целый windows10 порой хочется поставить :)

abondarev ★★★
() автор топика
Ответ на: комментарий от NeoX

Если оно такое Linux-совместимое, то где пачки дистрибутивов на нём?

Embox не система общего назначения, дистрибутивы на нем делать не имеет смысла.

abondarev ★★★
() автор топика
Ответ на: комментарий от realbarmaley

Очень - это мягко сказано.

Пока к сожалению - да

abondarev ★★★
() автор топика
Ответ на: комментарий от splinter

Было бы интересно посмотреть время реакции на реалтаймовых задачах в сравнении с Xenomai, freeRTOS, TNKernel. Что то в духе этого.

Да, спасибо за ссылку. Все руки пока не доходят, это довольно трудоемкий процесс, как Вы понимаете. Но в какой то момент, нужно будет этим заняться!

Вы кстати на WolfSSL так и не стали переходить?

Пока не портировали, но смотрим в эту сторону, есть пара задач где он выглядит не таким избыточным как полноценный openssl

abondarev ★★★
() автор топика
Ответ на: удаленный комментарий

Почему, нет? Они были бы самые легковесные и производительные.

Почему нельзя просто создать ядро «мини-Linux» такое, чтобы оно без изменений кода могло поддерживать драйвера и модули Linux?

Ядро создать не проблема, вот только зачем? Ядро Linux имеет систему сборки Kbuild и очень конфигурируемое! Также существует например GNU-Hurd. Ну и разных дистрибудивов (в том числе легковесных) огромное количество. Например есть всякие YoctoProject (это вообще конктруктор дистрибутивов)

Все они натыкаются на одну и ту же вещь, универсальность противоречит специализированности (например легковесности, времени запуска и так далее). Вот в этой нише (специализированности) и играет embox. Создавать Линукс для того чтобы создать свое, ну такое себе занятие. И Вы правы, embox еще даже до Haiku не дорос, как универсальная система.

Но возможно Вы не поняли, что embox - это не очередное ядро, а скорее YoctoProject (конктруктор дистрибутивов) на стероидах. То есть, в нем есть возможность создавать конечные специализированные полнофункциональные системы по заданным характиристикам. А Embox как система универсальная, конечно сильно уступает Линукс!

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

Если интересно, то вот статья куда движемся и куда стремимся https://habr.com/ru/companies/embox/articles/440390/

abondarev ★★★
() автор топика

Такой вопрос: в доках описана сборка и запуск в qemu — а почему бы не предоставлять некоторый готовый демонстрационный образ под qemu от самого проекта? Чтобы максимально быстро можно было с ним познакомиться.

Smacker ★★★★★
()
Ответ на: комментарий от Smacker

Спасибо, подумаем.

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

abondarev ★★★
() автор топика
Ответ на: комментарий от abondarev

Мой аргумент, собственно, исходит не из технических аспектов, а из психологических. Чем легче попробовать, тем больше народу окажется завлечёнными. Представим себе, что есть две модели продажи духов: одна с бесплатными пробниками, а другая «купите, попробуйте, если не понравится — вернём все деньги». Очевидно, что даже при итоговой возможности не потерять ни копейки, по первой модели больше народу захотят реализовать своё любопытство. Аналогично и тут: скачать и запустить готовый образ можно буквально на коленке, на каком-нибудь слабом ноуте для поездок, тупо услышав про проект на конференции какой-нибудь. А вот уже собирать самому, даже если всё несложно и автоматизировано — это уже другое дело.

Smacker ★★★★★
()
Ответ на: комментарий от windows10

Я и не говорил что мне нужно. Мне интересно можно или нет это сделать. Сегодня мне не нужно, но кто знает что будет завтра. Кроме того «своё-родное» ПО для маршрутизатора или точки доступа, вполне может найти широкое применение в текущих реалиях. А если оно открытое, то от этого выиграют в итоге все.

vitruss ★★★★★
()
Ответ на: комментарий от NeoX

Роутеры только одно из направлений. Там очевидно вылезает безопасность, для домашнего пользования хватит OpenWRТ, но для некоторый вещей, нужно доказательная «не взламываемость» (не модифицируемость), а в Линукс как ни крути можно запустить запустить внешние приложения. Конечно там тоже можно построить очень хорошую систему безопасносности на seLinux но это серьезно дороже чем, как называют у Касперского, применять «Secure by Design»

Ну и в результате преимущества перед Линукс (в следствии его универсальности)

  • Высокая безопасность
  • Предсказуемость поведения
  • Низкие аппаратные требования
  • Время загрузки
  • Время реакции
abondarev ★★★
() автор топика

ОС <…> имеет аналог ./configure; make; make install

Для человека, хотя бы слегка знакомого с ./configure; make; make install это какая-то бессмыслица.

./configure — это скрипт для Bourne shell, сгенерированный гнушными автотулзами. Скрипт ./configure включается в тарболл программы, у каждой программы он свой, это часть дистрибутива программы, а не часть ОС. Как Embox может иметь аналог ./configure? Один для всех программ?

Embox может иметь какую-то реализацию make. Ну, ок, назовём реализацию мейка «аналогом». Реализация в Embox своя или портировали какой-то мейк из уже существующих? Какой именно?

Действия, выполняемые по make install зависят от мейкфайла, сгенерированного гнушными автотулзами. Опять же, у каждой софтины свой мейкфайл, и, соответственно, свой make install. В любом случае это не часть ОС. Как Embox может иметь аналог make install? Один на всех?

ОС <…> поддерживает C++.

А в чём заключается «поддержка» C++? Вы донатите ISO/IEC JTC 1/SC 22? Или это такой заумно-кривой способ сказать «у нас есть плюсовый компилятор»? Ваш собственный, или портирован один из известных? Какой?

Есть поддержка файловых систем FAT, ext2/3/4.

В чём заключается поддержка этих файловых систем? Отправляете разработчикам этих файловых систем патчи? Или это очередной кривой способ сказать «у нас есть драйвера для FAT и ext2/3/4»?

debugger ★★★★★
()
Ответ на: комментарий от abondarev

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

Драйвера и другой код из Линукс, очевидно, под GPLv2.

ОС <…> распространяется на условиях двухпунктной лицензии BSD.

Я один вижу некоторые противоречия?

debugger ★★★★★
()
Ответ на: комментарий от abondarev

Ну и в результате преимущества перед Линукс (в следствии его универсальности)

Ну, если время реакции и время загрузки можно легко проверить и подтвердить свои слова хоть чем-то, то «высокая безопасность» — это просто голословное гонево. Или всё-таки есть какие-то пруфы (кроме неуловимого Джо)?

debugger ★★★★★
()
Ответ на: комментарий от Smacker

скачать и запустить готовый образ можно буквально на коленке, на каком-нибудь слабом ноуте для поездок, тупо услышав про проект на конференции какой-нибудь. А вот уже собирать самому, даже если всё несложно и автоматизировано — это уже другое дело.

Так сабж - суть генератор прошивок, попробовать его можно только сгенерировав прошивку, а не попробовать кем-то сгенерированных прошивку

pihter ★★★★★
()
Ответ на: комментарий от NeoX

И всё же, зачем Embox нужен, когда есть полностью рабочий OpenWRT и вся совместимость с Linux из коробки?

Зачем нужен бронежилет, когда можно купить вкусный шоколад и поесть?

Это вообще про разное.

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

Ты кажется хотел катиться с двух ног в программирование - вот, скачай демку ембокса, собери и посмотри что это такое

pihter ★★★★★
()
Ответ на: комментарий от debugger

Для человека, хотя бы слегка знакомого с ./configure; make; make install это какая-то бессмыслица

Че ты ругаешься? Скачай демку для кемы, собери и поймёшь в чем заключается поддержка.

Мне кажется людей вводит в заблуждение термин ОС. Embox - генератор прошивок, во как надо)

pihter ★★★★★
()
Ответ на: комментарий от pihter

Ну я её без всякой генерации запускал на x86 из GRUB.

Другое дело, что в «готовом виде» она практически бесполезна, да. Только полюбоваться, что оно быстро грузится (и в отличие от Колибри, не прибито гвоздями к архитектуре процессора).

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

hobbit ★★★★★
()
Ответ на: комментарий от debugger

«высокая безопасность» — это просто голословное гонево

Эмбокс создаёт неизменяемую прошивку: зашил в микроконтроллер и атакующий уже не сможет её модифицировать по сети, например

И сбавь обороты: ты неправ

pihter ★★★★★
()

улучшена поддержка описания устройств (аналог devtree);

а где про это почитать? Я все мечтаю научиться добавлять свои устройства ( но, как и прежде, ничего для этого еще не сделал :) )

pihter ★★★★★
()
Ответ на: комментарий от debugger

Для человека, хотя бы слегка знакомого с ./configure; make; make install это какая-то бессмыслица.

Имеется в виду сам принцип по которому можно собирать пакеты. Какие нибудь YoctoProject используют свои описатели сценариев. Скачать, наложить, патчи, сконфигурировать так то, собрать с такими то флагами

это было к тому, что у Embox больше чем просто библиотека с поддержкой POSIX Вот пример добавление пакета libmodbus https://habr.com/ru/companies/embox/articles/547582/

А в чём заключается «поддержка» C++? Вы донатите ISO/IEC JTC 1/SC 22? Или это такой заумно-кривой способ сказать «у нас есть плюсовый компилятор»? Ваш собственный, или портирован один из известных? Какой?

Мы используем обычные компиляторы! В основном GCC, можно LLVM, для Эльбруса его lcc использовали.

Описание почему отдельно С++ вот в этой статье https://habr.com/ru/companies/embox/articles/539572/

В чём заключается поддержка этих файловых систем? Отправляете разработчикам этих файловых систем патчи? Или это очередной кривой способ сказать «у нас есть драйвера для FAT и ext2/3/4»?

Очередной кривой способ….

Но были патчи (приняные) например в ext4 для FUSE

abondarev ★★★
() автор топика
Ответ на: комментарий от debugger

Драйвера и другой код из Линукс, очевидно, под GPLv2.

Используется близкое API (модель драйверов), драйвера очевидно разрабатываются такие же, просто это очень упрощает жизнь.

Если используется GPL код, то предумотренна его подгрузка целиком, или конечно, сохраняется лицензия на него.

abondarev ★★★
() автор топика
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.