Embox открытая ОС на Эльбрусе
Всем привет.
Конечно многие знают о том какие Эльбрусы закрытые. Это является наверное самой главной претензией предъявляемой к данным процессорам. Эти претензии не безосновательны, в МЦСТ их признают. Но как говорится нельзя «просто так взять и открыть исходники для Эльбруса», ведь большинство работ велось для определенного заказчика и их разглашение — нарушение договора. С другой стороны МЦСТ понимают проблему закрытости и стараются изменить ситуацию Мы в проекте 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 состоиться второй митап, на котором мы тоже будем выступать.
В программе: