Альт на «Эльбрусе» (Михаил Шигорин, OSSDEVCONF-2016)
Материал из 0x1.tv
Аннотация
- Докладчик
- Михаил Шигорин
Как только у нас появился шелл на системе с процессором «Эльбрус», мы захотели портировать туда наш RPM; после этого было само собой разумеющимся «завести» и hasher.
Наличие самой рабочей станции оказалось ещё более полезным.
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 и компилятора, которые пока alien’изированы из предоставленных разработчиком системы deb-пакетов; в сумме 500 исходных пакетов.
Основные пройденные стадии сборки:
- сборка/установка rpm вручную в хост-окружении;
- упаковывание всего, что попадает в hasher chroot;
- пересборка собранных пакетов уже в 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/
Примечания и отзывы
Plays:748 Comments:11

