Международная конференция разработчиков
и пользователей свободного программного обеспечения

Альт на "Эльбрусе"

Михаил Шигорин, Москва, Россия

LVEE Winter 2016

As soon as we've got a shell on Elbrus processor we wanted to port our RPM there; upon that, it was only natural to want hasher working too. The availability of a physical system didn't hurt at all.

Эльбрус — два семейства процессоров разработки российской компании МЦСТ: SPARC-совместимая ветка и оригинальная VLIW-архитектура. Речь пойдёт о второй. Особенностями платформы в настоящее время являются малодоступность (вследствие в т.ч. применения, например, в системах ПРО) и закрытость системного компилятора (вероятно, по тем же причинам). Используем рабочую станцию “Эльбрус-401”, которая автором доклада найдена вполне симпатичной на ощупь (подробнее в кулуарах). Работающая на ней хост-система — Linux (точнее, ОС “Эльбрус”, во многом близкая к Debian 5.0/7.0 и местами новее).

Я работаю в компании “Базальт СПО”, которая участвует в разработке репозитория ALT Linux Sisyphus. Как только у нас появился доступ на машину с процессором “Эльбрус-4С”, возникло вполне естественное желание портировать туда нашу пакетную базу. Первым этапом стало портирование пакетного менеджера (RPM версии ALT Linux, он же ALT-RPM). Когда заработал rpm, следующим этапом стал запуск hasher – инструмента, с помощью которого собираются пакеты Sisyphus (hasher спроектирован так, чтобы не допускать влияния собираемого пакета на хост-систему, а также взаимного влияния собирающихся пакетов).

Текущая работа опирается на труды многих других людей — начальное портирование RPM было выполнено glebfm@, процедуру бутстрапа альта ранее описал kas@ по мотивам ARM-порта, а код поддержки архитектуры мы получили от сотрудников МЦСТ.

На время написания тезисов доступна базовая сборочная среда ALT для сборки в автоматически создаваемом силами hasher чруте, за исключением архитектурнозависимых пакетов (binutils, glibc, компилятор), которые пока alien’изированы из предоставленных разработчиком системы deb-пакетов — примерно 230 исходных пакетов.

Основные пройденные стадии сборки:

  1. сборка/установка rpm вручную в хост-окружении;
  2. упаковывание всего, что попадает в hasher chroot;
  3. пересборка собранных пакетов уже в hasher.

Производится итеративная пересборка с откручиванием гаек вроде —disable static —without-ssl и корректировка полученной начальной пакетной базы для возможности включения её в основной разработческий репозиторий ALT Linux Sisyphus.

В целом, работа позволила оценить достоинства и недостатки:

  • e2k как целевой платформы;
  • ALT Linux как портабельного репозитория и набора инструментария;
  • “бутстрапа напролом” и “раннепакетного”.

Ссылки:

  • http://altlinux.org/bootstrap
  • http://altlinux.org/ports
  • http://altlinux.org/hasher
  • http://sdelanounas.ru/blogs/71419/

Abstract licensed under Creative Commons Attribution-ShareAlike 3.0 license

Назад