Ports/e2k
Перенос Sisyphus на платформу e2k (Эльбрус 2000)
Осуществляется с 2015 года на основе предоставленных компанией МЦСТ портированных версий ядра Linux и тулчейна; при возможности собственные наработки по портированию и оптимизации передаём в апстрим, спеки и репозиторий публикуем.
По состоянию на июль 2024 года клиентам МЦСТ доступны дистрибутивы Альт Сервер, Альт Рабочая станция, Альт Образование, Simply Linux для Эльбрус версии 10.2[1], а также подмножество стартовых наборов (в т.ч. спасательный образ). Обращайтесь в АО МЦСТ по вопросам заказа либо к mike@ насчёт тестирования.
p10_e2k
В стабильной ветке репозитория содержится более 17500 исходных пакетов (+40% к p9_e2k) -- как новые версии ранее доступных:
- сборочная среда от rpm-build и hasher до python3, boost, qt5/qt6 и множества других библиотек и компонент;
- серверные пакеты от openssh и nginx до samba и PostgreSQL (включая сборку версии 15 с патчами 1С);
- графические приложения, включая рабочие окружения Xfce, LXQt, MATE, Enlightenment, а также браузер Firefox ESR, офисный пакет LibreOffice, медиаплейеры VLC/SMPlayer и другие;
- системы инициализации sysvinit и systemd;
- система управления Alterator;
- ocaml 4.14[2],
...так и вновь добавленные:
- ПО для образовательных и научных целей, в том числе Mayavi, gap, john, opendx, openmodelica, pythia8, texstudio и множество модулей octave;
- графические окружения KDE Plasma 5, Kodi, Liri;
- браузеры Epiphany, Midori и Qupzilla, почтовый клиент Evolution;
- приложения telegram-desktop, cura, freecad, jpegqs, minitube, neovim, nitroshare;
- игры и игровые движки, включая godot и love;
- средства разработки: LLVM 13.0.1 с кодогенератором для цели Elbrus, kdevelop5, qt6, gtk4, dotnet-bootstrap-3.1;
- серверные компоненты ansible-core, egroupware, gitolite, ceph, glusterfs8/9, php8.2;
- qemu 7.2.0.
Существенно обновлены пакеты:
- perl 5.34.0, python3 3.9.16, ruby 3.1.4, meson 0.64.1, cmake 3.23.2;
- lxc 4.0.12, MySQL 8.0, mariadb 10.6, postgresql* вплоть до 15, php7 7.4;
- samba 4.19;
- texlive 2021;
- qt5 5.15, libfreetype 2.11, gstreamer1.0 1.20;
- blender 2.93, openscad 2021;
- NetworkManager 1.40, mate 1.26, lxqt 1.3, enlightenment 0.25.
В дополнение к дистрибутивам версии 10 предложены стартовые наборы для систем "Эльбрус", включая спасательный образ.
С помощью дистрибутивов Рабочая станция и Образование для архитектур e2kv4 и e2kv5 можно просто создавать двух- и трёхместные АРМ на базе одной "Эльбрус 801-РС/901-РС"[3]; в пределе этот подход доведён до шести видеокарт на однопроцессорной системе производства ИВК с материнской платой E8C-ATX.
Добавлена штатная поддержка e2kv6 (проверено на "Эльбрус-16С", включая четырёхместную машину, и 2С3 -- соответственно двухместную).
Произведена дополнительная оптимизация многих библиотек и программ под платформу "Эльбрус", опубликованы соответствующие патчи.
sisyphus_e2k
В стремящейся догнать Sisyphus разрабатываемой ветке, которая основана на компиляторе lcc 1.27, ядре Linux 5.10 и менеджере пакетов RPM 4.13, содержится более 17700 исходных пакетов[4] обновлённых версий и стало возможно собирать целые классы пакетов, ранее требовавших дополнительной адаптации.
Новинки:
- репозиторий опубликован
- lcc 1.27
- Linux 5.10
- xorg-server 21.1.3, Mesa 21.3.8, vulkan 1.3.277
- kde5 5.115/5.27/23.08, mate 1.28, xfce 4.18, lxqt 1.4
- perl 5.38, python3 3.12, ruby 3.1, luajit 2.160, boost 1.84, ocaml 4.14
- cmake 3.28, meson 1.3
- texlive 2021, kicad 7.0, telegram-desktop 4.16, blender 4.1, grass 8.3, octave 8.4
- samba 4.19, php8.3, lxc 5.0
в целом
Опубликован репозиторий.
Работает hasher. Можно создавать архивы чрутов (включая образы docker, загрузочные образы live usbflash (выложен спасательный, установочные ISO при помощи mkimage-profiles. Реализована параллельная пересборка репозитория. Применяется фирменная транзакционная сборочница.
Используется перепакованный в rpm нативный компилятор lcc, весь остальной тулчейн собран из исходных текстов. Уменьшающаяся часть исходных пакетов взята из предыдущих стабильных веток по причине проблем сборки или чрезмерных на данном этапе сборочных зависимостей. Проводится оптимизация библиотек и прикладных пакетов под платформу e2k с публикацией собственных патчей и отправкой их в исходные проекты разработки.
На e2kv6 работает виртуализация.
Работы производятся на загруженных под альтом машинах 1Э16С, "Эльбрус-904", "Эльбрус 901-РС", "Эльбрус-804" и "Эльбрус 801-РС" в тесной координации с коллегами из МЦСТ. Тестирование также производится на Эльбрус-16С, "Эльбрус 201-РС", "Эльбрус 101-РС", "Эльбрус 401-РС" и сервере "Эльбрус-4.4". Проверена работоспособность на системах с процессорами v3--v6, серверах и системах хранения данных BitBlaze и "Норси-Транс", моноблоках нескольких производителей с ЦП "Эльбрус-8С", промышленном модуле Fastwel CPC514, а также ноутбуке и планшете с 1С+.
Ведущий порта применяет его на своих рабочей и домашней машинах на "Эльбрус-16С" в нативном режиме без бинарного транслятора -- добровольно и без горчицы.
Ссылки
- официально про дистрибутив: МЦСТ, Базальт СПО; "Горыныч"
- altlinux.org/эльбрус: прикладные заметки по портированию и применению, FAQ, HCL, многоместные рабочие станции и другие статьи
- bootstrap, или раскрутка на новой аппаратной платформе
- сайт МЦСТ, разработчика архитектуры и процессоров "Эльбрус"
- YouTube: ElbrusTV, Maxim Gorshenin, Elbrus PC Test
- записки о применении: раз, два ...p9_e2k
- Ярославский форум "ПроеКТОриЯ": СуН, ИНЭУМ, Базальт СПО
- ЧаВО (FAQ)
- коллеги с Embox
доклады
- видеозаписи докладов
- о первой фазе портирования (2016): #LVEE (тезисы, слайды), #OSSDEVCONF
- вторая фаза (2017): #OSEDUCONF, #LVEE (тезисы, видео)
- третья (2017): #OSSDEVCONF (видео)
- четвёртая (2018): #LVEE, #OSSDEVCONF
- p9_e2k (2019): #LVEE (видео)
- портирование ПО на Эльбрус: #LVEE, #OSSDEVCONF
- #SECR 2018
- #OSDay 2019
- вид с эльбруса, личный опыт восьми лет (XIX конференция разработчиков свободных программ OSSDEVCONF 2023)
- ↑ также доступны предшествующие выпуски 10.x--8.2
- ↑ ocaml в режиме байткода
- ↑ за цену дополнительной видеокарты получаем полноценное второе рабочее место в режиме multiseat, поставив галочку "Два рабочих места" при установке
- ↑ информация по e2k на packages.altlinux.org пока что заведомо неполна с учётом ограничений как NDA, так и технических