Как стать автором
Обновить

Embox — открытая ОС на Эльбрусе

Время на прочтение 3 мин
Количество просмотров 16K
Всем привет.

Конечно, многие знают о том, какие Эльбрусы закрытые. Это является, наверное, самой главной претензией, предъявляемой к данным процессорам. Эти претензии небезосновательны, в МЦСТ их признают. Но, как говорится, нельзя “просто так взять и открыть исходники для Эльбруса”, ведь большинство работ велось для определенного заказчика и их разглашение — нарушение договора. С другой стороны, МЦСТ понимают проблему закрытости и стараются изменить ситуацию. Мы в проекте Embox тоже пытаемся этому способствовать по мере сил. О наших успехах в данном направлении вы можете узнать из этой статьи.

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

Самое тонкое место заключалось в том, что это нужно на чем-то проверить. Ведь в отличие от прикладного ПО, которое может быть опробовано удаленно на кластере (МЦСТ предоставляет такие возможности) или на не так давно разработанном энтузиастами qemu-e2k-userspace, системные части можно проверить только на реальном оборудовании, ведь для них нужно иметь доступ и к прерываниям, к переключению контекста и так далее.

Мы использовали машину Монокуб, которая у нас была, но она недоступна для широкой аудитории. Мы подумали, что наиболее доступной является машина PC101. Не уверен, что ее сейчас можно купить, но она точно есть в различных учреждениях в довольно приличном количестве. Это дает возможность проверить как работает свободная ОС на данной платформе. Ведь исходники открытые и их можно изучить и при желании модифицировать.

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

make confload-e2k/pc_101
make

Примечание: мы собирали на обычном Linux с помощью кросс-компилятора. Для того, чтобы использовать компилятор на самой эльбрусовской машине, достаточно в файле ./conf/build.conf закоментировать (или удалить) строчку:

// CROSS_COMPILE = e2k-linux-

Загрузка может осуществляться с помощью ATA Over Ethernet, но на этот раз мы решили, что правильнее положить образ на диск.

Для этого устанавливаем Linux (я использовал Alt Linux) и помещаем образ embox в папку /boot/. Для удобства загрузки лучше добавить в файл /boot/boot.conf следующие строчки:

label=embox                                                                     
        partition=0                                                             
        image=/embox.bin                                                        
        initrd=                                                                 
        cmdline=

Собственно, этого достаточно. Перегружаем и нажимаем любую клавишу, когда загружается начальный загрузчик. Выбираем пункт ‘b’, boot и в нем выбираем ‘embox’ пункт, который вы добавили в файл /boot/boot.conf.

Наверное, все. Остальное прекрасно видно из этого видео.

На самом деле основная новость заключается в том, что у нас с МЦСТ подписано соглашение, по которому Embox являемся свободной ОС запускаемой на Эльбрусе, код которой можно изучать и заимствовать. Напоминаю ссылку на репозиторий и прикладываю скан соглашения.





Тема открытости Эльбруса на самом деле очень важная. Не так давно образовалось сообщество энтузиастов, которые стараются популяризовать данную архитектуру и сделать ее более открытой. В этом комьюнити есть github: https://github.com/e2k-community, один из их проектов я уже приводил в статье: это добавление поддержки E2k в QEMU. У комьюнити есть канал на youtube, правда пока видео с только одного ивента, но и комьюнити сформировалось не так давно. К тому же в пятницу 13 мая 2022 в 19.00 состоится второй митап, на котором мы тоже будем выступать.

В программе:
📜 Вступительное слово — Емец Станислав
💻 ОСРВ Embox на платформе Эльбрус — Антон Бондарев, основатель проекта Embox, расскажет, как производилось портирование ОС Embox на Эльбрус.
🚢 Управление LXC с помощью Ansible — Емец Станислав, расскажу, как можно автоматизировать развертывание LXC контейнеров на ОС Эльбрус.

Ссылка на трансляцию.
Теги:
Хабы:
+46
Комментарии 17
Комментарии Комментарии 17

Публикации

Истории

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн