Альт на «Эльбрусе» — 2017 (Михаил Шигорин, OSEDUCONF-2017)

Материал из 0x1.tv

(перенаправлено с «20170128J»)

Аннотация

Докладчик
Михаил Шигорин.jpg
Михаил Шигорин

После создания полноценной сборочной среды на рабочей станции «Эльбрус-401» пошёл рабочий процесс собственно портирования пакетной базы ALT; в докладе разбираются обнаруженные узкие места, способы их преодоления и полученные на данный момент результаты.

The routine process to actually port ALT package base to e2k architecture has started out upon completion of the automated build environment. This report looks at the bottlenecks found, methods used to overcome those, and current results.

Видео

on youtube

Слайды

Альт на «Эльбрусе» — 2017 (Михаил Шигорин, OSEDUCONF-2017).pdf Альт на «Эльбрусе» — 2017 (Михаил Шигорин, OSEDUCONF-2017).pdf Альт на «Эльбрусе» — 2017 (Михаил Шигорин, OSEDUCONF-2017).pdf Альт на «Эльбрусе» — 2017 (Михаил Шигорин, OSEDUCONF-2017).pdf Альт на «Эльбрусе» — 2017 (Михаил Шигорин, OSEDUCONF-2017).pdf Альт на «Эльбрусе» — 2017 (Михаил Шигорин, OSEDUCONF-2017).pdf Альт на «Эльбрусе» — 2017 (Михаил Шигорин, OSEDUCONF-2017).pdf Альт на «Эльбрусе» — 2017 (Михаил Шигорин, OSEDUCONF-2017).pdf Альт на «Эльбрусе» — 2017 (Михаил Шигорин, OSEDUCONF-2017).pdf Альт на «Эльбрусе» — 2017 (Михаил Шигорин, OSEDUCONF-2017).pdf Альт на «Эльбрусе» — 2017 (Михаил Шигорин, OSEDUCONF-2017).pdf Альт на «Эльбрусе» — 2017 (Михаил Шигорин, OSEDUCONF-2017).pdf Альт на «Эльбрусе» — 2017 (Михаил Шигорин, OSEDUCONF-2017).pdf Альт на «Эльбрусе» — 2017 (Михаил Шигорин, OSEDUCONF-2017).pdf Альт на «Эльбрусе» — 2017 (Михаил Шигорин, OSEDUCONF-2017).pdf Альт на «Эльбрусе» — 2017 (Михаил Шигорин, OSEDUCONF-2017).pdf Альт на «Эльбрусе» — 2017 (Михаил Шигорин, OSEDUCONF-2017).pdf Альт на «Эльбрусе» — 2017 (Михаил Шигорин, OSEDUCONF-2017).pdf Альт на «Эльбрусе» — 2017 (Михаил Шигорин, OSEDUCONF-2017).pdf Альт на «Эльбрусе» — 2017 (Михаил Шигорин, OSEDUCONF-2017).pdf Альт на «Эльбрусе» — 2017 (Михаил Шигорин, OSEDUCONF-2017).pdf Альт на «Эльбрусе» — 2017 (Михаил Шигорин, OSEDUCONF-2017).pdf Альт на «Эльбрусе» — 2017 (Михаил Шигорин, OSEDUCONF-2017).pdf Альт на «Эльбрусе» — 2017 (Михаил Шигорин, OSEDUCONF-2017).pdf

Тезисы

Мы уже рассказывали о проекте портирования репозитория Альт на отечественную архитектуру «Эльбрус», а точнее, на процессор «Эльбрус-4С»; по состоянию на момент, описанный в предыдущем докладе, была достигнута точка работоспособности автоматической сборочной системы hasher (и далее до примерно 250 srpms), но вскоре была достигнута и точка преткновения в виде проблемы между генератором зависимостей в составе rpm-build (cpp.req) и особенностями компилятора lcc (вывод препроцессора несколько отличается от gcc).

Таким образом, весна и лето по сути выпали из работ по этой теме: можно было заниматься чем-либо, не затрагивающим libX11, но это потребовало бы существенных заведомо лишних усилий по добавлению «ручек» сборки без x11 и заметно ограничивало возможные результаты (не говоря уже о том, что неполные сгенерированные зависимости могли скрытно образоваться и в других пакетах). Репозиторий замер на полутысяче srpms.

Осенью вдруг объявился сам автор cpp.req, Алексей Турбин, и на материале почтового обсуждения с примерами вывода обоих препроцессоров с первого раза написал заработавший патч.

После сборки базовых графических библиотек процесс портирования обрёл второе дыхание — последовали openldap, python3, cups, cmake, а за ними «потянулись» требующие их для сборки пакеты. Ускорению способствовало и получение новой версии lcc 1.21 со значительно улучшенной совместимостью с более новыми версиями gcc и стандартов.

Вскоре определилась и ставшая достижимой ближайшая цель: минимальная графическая система на базе Xfce, перекликающаяся с дистрибутивом Альт Образование.

По состоянию на середину января 2017 года собрано более 800 исходных пакетов; при этом наработанный репозиторий уже позволяет собирать достаточно многие пакеты без каких бы то ни было правок, разве что порой вместо добавления «ручек» отбирая версии из предыдущих стабильных веток (нередко мешают завязки на systemd). Работает сборка архивов чрутов при помощи mkimage-profiles. Реализована параллельная пересборка репозитория, занимающая на машине «Эльбрус-401» уже около суток. Потихоньку возвращаются в положение «вкл» выключенные было «ручки» от udev до gl.

Из оставшихся проблем:

  1. doxygen!
  2. не собирается текущий perl 5 (даже новым компилятором);
  3. часть базовых пакетов (binutils, gmp, strace) остаётся alien-изированной вместо «родной» сборки;
  4. также всё сложно с guile18 (т.е. и autogen), требуется полноценный порт реализации сборки мусора;
  5. наконец, alien-изированному lcc требуется 32-битная glibc (тоже перепакована).

Часть из них относится к классу «сесть и сделать», а некоторые придётся решать вместе со специалистами МЦСТ (в первую очередь это относится к guile).

Параллельно предполагаются работы по экспериментальному и затем промышленному формированию загрузочных образов операционной системы.

Как мне кажется, выбранный подход с возможно более ранним переходом к сборке пакетов в hasher в «многозадачных» условиях себя оправдал.

Примечания и отзывы

  1. http://altlinux.org/ports/e2k
  2. http://altlinux.org/bootstrap
  3. http://altlinux.org/hasher


Альт на «Эльбрусе» — 2017 (Михаил Шигорин, OSEDUCONF-2017)!.jpg

Plays:515   Comments:0