The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Как создать crosscompiled репозиторий для NETBSD?"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Оптимизация и Промышленные системы (Разное)
Изначальное сообщение [ Отслеживать ]

"Как создать crosscompiled репозиторий для NETBSD?"  +/
Сообщение от IdeaFixemail (ok), 26-Фев-20, 20:26 
Собственно сабж. Хочется построить свой бинарный репозиторий пакетов под NetBSD.

Мотивация простая - NetBSD, одна из немногих ОС, которая (не для продакшена) может быть установлена в очень похожей конфигурации (набор системного и прикладного ПО, тестов) на широкий спектр архитектур. Т.е. фактически, можно в лоб сравнить ARM, MIPS, SPARC, SPARC64, ALPHA, HPPA, ITANIUM ну и эти ваши пентиумы в 7zip. Конечно я упрощаю, но задачка примерно такая.

Скорость сборки пакетов на хосте Sparc Classic (или raspberry pi) не доставляет. Совсем. В готовых репозиториях многие пакеты по каким то причинам отсутствуют, а порой, отсутствуют целые репозитории под конкретные версии NetBSD для конкретных архитектур. К разработчикам претензий нет.. понятно что в третьей декаде 21-го века SPARC32 нужен чуть более чем никому, но.. вот переводы фаерфокса на все языки в репозиториях есть (потому, что собрались!) а фаерфокса нет (потому, что не собрался!).

Ну а теперь собственно вопрос. Существует ли что-то, более подробное чем это https://wiki.netbsd.org/tutorials/pkgsrc/pbulk/ для описания решения задачи? Естественно, собирать хочется на мощной X86 машине с 64 тредами, 256 памяти и быстрым диском под одну или несколько НЕ X86 архитектур. Публиковаться всё это будет локально по FTP, поэтому момент публикации не очень важен, важна сборка. Как это всё наладить с минимумом неудачных попыток?

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Как создать crosscompiled репозиторий для NETBSD?"  +/
Сообщение от izyk (ok), 27-Фев-20, 00:27 
Есть дневные сборки уже бинарные, выбирай любую удачно скомпилированную.
http://releng.netbsd.org/cgi-bin/builds.cgi
Snapshots can be downloaded from http://nycdn.netbsd.org/pub/NetBSD-daily/

А это уже сам:
http://www.netbsd.org/docs/guide/en/chap-build.html

Ответить | Правка | Наверх | Cообщить модератору

2. "Как создать crosscompiled репозиторий для NETBSD?"  +/
Сообщение от IdeaFix (ok), 27-Фев-20, 07:34 
> Есть дневные сборки уже бинарные, выбирай любую удачно скомпилированную.
> http://releng.netbsd.org/cgi-bin/builds.cgi
> Snapshots can be downloaded from http://nycdn.netbsd.org/pub/NetBSD-daily/
> А это уже сам:
> http://www.netbsd.org/docs/guide/en/chap-build.html

Это немного не то. Вернее, совсем не то. Сравните к примеру это: http://nycdn.netbsd.org/pub/NetBSD-daily/netbsd-8/2020022400.../ и ftp://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/sparc/8.0_20.../

По первой ссылке минимальная ОС, по второй - набор пакетов. Мне нужно как раз второе и оно в общем описано тут https://wiki.netbsd.org/tutorials/pkgsrc/pbulk/ но во-первых, в NETBSD9 оно в принципе как-то не так работает, как описано, а во-вторых, вопрос кросскомпиляции для меня остался открытым после прочтения нескольких мануалов: о том, как сделать локальный пакетный репозиторий, о том, как скомпилировать ОДИН пакет под другую платформу и пр.


Ответить | Правка | Наверх | Cообщить модератору

3. "Как создать crosscompiled репозиторий для NETBSD?"  +/
Сообщение от izyk (ok), 27-Фев-20, 21:39 

> По первой ссылке минимальная ОС, по второй - набор пакетов. Мне нужно
> как раз второе и оно в общем описано тут https://wiki.netbsd.org/tutorials/pkgsrc/pbulk/
> но во-первых, в NETBSD9 оно в принципе как-то не так работает,
> как описано, а во-вторых, вопрос кросскомпиляции для меня остался открытым после
> прочтения нескольких мануалов: о том, как сделать локальный пакетный репозиторий, о
> том, как скомпилировать ОДИН пакет под другую платформу и пр.

На сколько я помню, все руководства в NetBsd устаревшие, если не полность, то сильно, в лучшем случае указывают направления. Нужно смотреть исходники, проверять, исправлять слать запросы на изменения, в том числе документации. Там никто никому не должен, каждый пилит что то своё, никто не мешает пилить своё, а если поделишься, то с удовольствуем принимают помощь.
Лучше написать в лист рассылки наиболее подходящий для вашего вопроса https://www.netbsd.org/mailinglists/ Думаю netbsd-ports: или pkgsrc-users: там лучше подскажут, если, то что вы хотите не что то странное. Если понравится кому-нибудь важному, то могут на google summer даже вынести ваш проект. Только лучше без претензий, с вашей стороны, люди выкладывают результаты своей работы бесплатно и с разрешением воспользоваться.

Ответить | Правка | Наверх | Cообщить модератору

4. "Как создать crosscompiled репозиторий для NETBSD?"  +/
Сообщение от IdeaFix (ok), 28-Фев-20, 09:34 
> На сколько я помню, все руководства в NetBsd устаревшие, если не полность,
> то сильно, в лучшем случае указывают направления. Нужно смотреть исходники, проверять,
> исправлять слать запросы на изменения, в том числе документации. Там никто
> никому не должен, каждый пилит что то своё, никто не мешает
> пилить своё, а если поделишься, то с удовольствуем принимают помощь.

Это не божественный генту, который имеет хендбуки возрастом 10+ лет, которые были не достоверны 10+ лет назад :) Тут всё более или менее в норме, просто порог вхождения высоковат.

> Лучше написать в лист рассылки наиболее подходящий для вашего вопроса https://www.netbsd.org/mailinglists/
> Думаю netbsd-ports: или pkgsrc-users: там лучше подскажут, если, то что вы
> хотите не что то странное. Если понравится кому-нибудь важному, то могут
> на google summer даже вынести ваш проект. Только лучше без претензий,
> с вашей стороны, люди выкладывают результаты своей работы бесплатно и с
> разрешением воспользоваться.

Вот как-то тяжело мне было в мейлинг лист написать, реально не осилил, вернее, осилил в итоге, но ответа нет уже неделю. Майнтейнеры портов тоже молчат.


В итоге, кажется разобрался как кросскомпилить и собирать пакеты по одному, а не весь репозиторий, но опять наткнулся на тактическую проблему - овер дофига софта зависит от openssl 1.1.1, а я не могу его собрать ибо он что-то пытается делать с x86 ассемблером в спарке. Дело явно в криво настроенной кросскомпиляции, т.к. в репозитриях собранный пакет есть... но я не могу найти информацию о том, как это всё настроить правильно.

[UPD] Поправочка, в репозиториях пакета нет... там 1.0 а не 1.1.1. Грустно.

Альфа по факту отскочила хоть с какого-то прдакшена из-за x86 ассемблера в libgl, спарк давно не на проде, но неужели его окончательно закопает асм в опенссл?:)

Ответить | Правка | Наверх | Cообщить модератору

5. "Как создать crosscompiled репозиторий для NETBSD?"  +/
Сообщение от IdeaFix (ok), 29-Фев-20, 23:44 
Ну что же, кросскомпил вроде настроился. Настроился по компиляции двух руководств:

Общее - https://www.netbsd.org/docs/guide/en/chap-fetch.html
Частное для кросскомпила - https://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc/doc/HOWTO-u...

Результаты так себе:
1. pkgsrc не может собрать openssl (libressl может), а на openssl завязано пол системы. Поддержка говорит что это проблема pkgsrc (не верно интерпретируются архтектурно-зависимые асм вставки).
2. pkgsrc не может собрать gcc - путается в патчах. Тут уже багу не вешал...

Складывается ощущение что Tier II - это уже система на боку... у меня в принципе есть Sparc64, с которым экспериментировать будет даже удобнее по многим причинам, но думаю, что даже не смотря на Tier I, там тоже всё будет печально :(

Ответить | Правка | Наверх | Cообщить модератору

6. "Как создать crosscompiled репозиторий для NETBSD?"  +/
Сообщение от IdeaFixemail (ok), 05-Мрт-20, 12:36 
А я продолжаю продолжать....

В принципе, если в /usr/pkgsrc сделать make package и предварительно всё настроить, то в общем в /usr/pkgsrc/packages.sparc если повезет, появится всё то, что должно.

Посмотрел состав архива pkgsrc и зависимости (вот тут не понятно, буду пробовать), и кажется исходники 2019Q3 содержат в себе openssl 1.0.2, который собирается, в отличии от 1.1.1 в 2019Q4.

Так же логичным, но от того не менее удивительным для меня стал тотф акт что 200GB как-то не хватило на всё про всё... нарезал в виртуалку терабайт, стартую сборку 2019Q3 :)

Ответить | Правка | Наверх | Cообщить модератору

7. "Как создать crosscompiled репозиторий для NETBSD?"  +/
Сообщение от IdeaFixemail (ok), 05-Мрт-20, 18:53 
Хмм.. видимо, кросскомпильнуть перл (от которого зависит опенссл, от которого зависит пол системы) и питон (от которого заисит чутьм еньше, но всё равно овер дофига) действительно сложно. Немнгочисленные гайдописатели говорят что проще собрать нативно... чота как-то грустно. Весь такой от аикса до соляры сорцовый пакетный менеджер на поверку оказывается полной шляпой... ну и мои навыки тоже.
Ответить | Правка | Наверх | Cообщить модератору

8. "Как создать crosscompiled репозиторий для NETBSD?"  +/
Сообщение от IdeaFixemail (ok), 06-Мрт-20, 22:36 
Ну а я продолжаю продолжать :)

https://forum.ixbt.com/post.cgi?id=attach:76:11765:4:1.png

Эмулирую вроде как SparcStation5 с процом на 170 мегагерц. В QEMU я не очень разбираюсь, но тест 7za b показывает превосходство над моим железным SparcClassic примерно в 10-15 раз... но это всё равно уровень первопня :) Посмотрим, пройдёт ли make configure в /usr/pkgsrc/security/openssl :)

Ответить | Правка | Наверх | Cообщить модератору

9. "Как создать crosscompiled репозиторий для NETBSD?"  +/
Сообщение от IdeaFixemail (ok), 08-Мрт-20, 18:06 
Некий промежуточный итог. Скорость конечно выше чем на Sparc Classic, памяти конечно вчетверо больше, и диск. Но всё равно, очень медленно.

https://ideafix.name/?p=4509

Ответить | Правка | Наверх | Cообщить модератору

10. "Как создать crosscompiled репозиторий для NETBSD?"  +/
Сообщение от IdeaFixemail (ok), 14-Мрт-20, 21:44 
По факту всё грустно. Значительная часть ПО не кросскомпилируется на X86. Значительная часть ПО не компилируется в qemu (нет фактической поддержки, неудовлетворённые зависимости), как хотя бы повторить результат, доступный на ftp ресурсе pkgsrc и почему на этом ресурсе нет овер дофига пакетов, которые собираются - вопрос открытый.
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру