- PVSM.RU - https://www.pvsm.ru -

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

Embox открытая ОС на Эльбрусе - 1Всем привет.

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

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

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

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

Итак теперь доступна версия 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 являемся свободной ОС запускаемой на Эльбрусе, код которой можно изучать и заимствовать. Напоминаю ссылку на репозиторий [2] и прикладываю скан соглашения.

Embox открытая ОС на Эльбрусе - 2
Embox открытая ОС на Эльбрусе - 3
Embox открытая ОС на Эльбрусе - 4

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

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

Ссылка на трансляцию. [11]

Автор: Антон Бондарев

Источник [12]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/open-source/375055

Ссылки в тексте:

[1] Эльбрусы: https://ru.wikipedia.org/wiki/%D0%AD%D0%BB%D1%8C%D0%B1%D1%80%D1%83%D1%81_(%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80%D0%BD%D0%B0%D1%8F_%D0%B0%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0)

[2] Embox: https://github.com/embox/embox

[3] раз: https://habr.com/ru/company/embox/blog/421441/

[4] два: https://habr.com/ru/company/embox/blog/447704/

[5] три: https://habr.com/ru/company/embox/blog/447744/

[6] четыре: https://habr.com/ru/company/embox/blog/485694/

[7] qemu-e2k-userspace: https://github.com/OpenE2K/qemu-e2k

[8] PC101: http://www.ineum.ru/elbrus_101-pc

[9] https://github.com/e2k-community: https://github.com/e2k-community

[10] канал на youtube: https://www.youtube.com/channel/UCkUZ9jJWVkXkYRenK5aTO6g

[11] Ссылка на трансляцию.: https://www.youtube.com/watch?v=zGilgjfsSCY

[12] Источник: https://habr.com/ru/post/665420/?utm_source=habrahabr&utm_medium=rss&utm_campaign=665420