The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Как создать crosscompiled репозиторий для NETBSD?, !*! IdeaFix, 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, поэтому момент публикации не очень важен, важна сборка. Как это всё наладить с минимумом неудачных попыток?

  • Как создать crosscompiled репозиторий для NETBSD?, !*! izyk, 00:27 , 27-Фев-20 (1)
    Есть дневные сборки уже бинарные, выбирай любую удачно скомпилированную.
    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

    • Как создать crosscompiled репозиторий для NETBSD?, !*! IdeaFix, 07:34 , 27-Фев-20 (2)
      > Есть дневные сборки уже бинарные, выбирай любую удачно скомпилированную.
      > 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 оно в принципе как-то не так работает, как описано, а во-вторых, вопрос кросскомпиляции для меня остался открытым после прочтения нескольких мануалов: о том, как сделать локальный пакетный репозиторий, о том, как скомпилировать ОДИН пакет под другую платформу и пр.


      • Как создать crosscompiled репозиторий для NETBSD?, !*! izyk, 21:39 , 27-Фев-20 (3)

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

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

        • Как создать crosscompiled репозиторий для NETBSD?, !*! IdeaFix, 09:34 , 28-Фев-20 (4)
          > На сколько я помню, все руководства в 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, спарк давно не на проде, но неужели его окончательно закопает асм в опенссл?:)

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

    Общее - 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, там тоже всё будет печально :(

  • Как создать crosscompiled репозиторий для NETBSD?, !*! IdeaFix, 12:36 , 05-Мрт-20 (6)
    А я продолжаю продолжать....

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

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

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

  • Как создать crosscompiled репозиторий для NETBSD?, !*! IdeaFix, 18:53 , 05-Мрт-20 (7)
    Хмм.. видимо, кросскомпильнуть перл (от которого зависит опенссл, от которого зависит пол системы) и питон (от которого заисит чутьм еньше, но всё равно овер дофига) действительно сложно. Немнгочисленные гайдописатели говорят что проще собрать нативно... чота как-то грустно. Весь такой от аикса до соляры сорцовый пакетный менеджер на поверку оказывается полной шляпой... ну и мои навыки тоже.
  • Как создать crosscompiled репозиторий для NETBSD?, !*! IdeaFix, 22:36 , 06-Мрт-20 (8)
    Ну а я продолжаю продолжать :)

    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 :)

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

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

  • Как создать crosscompiled репозиторий для NETBSD?, !*! IdeaFix, 21:44 , 14-Мрт-20 (10)
    По факту всё грустно. Значительная часть ПО не кросскомпилируется на X86. Значительная часть ПО не компилируется в qemu (нет фактической поддержки, неудовлетворённые зависимости), как хотя бы повторить результат, доступный на ftp ресурсе pkgsrc и почему на этом ресурсе нет овер дофига пакетов, которые собираются - вопрос открытый.



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

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