Calculate Linux на ARM64

Приобрёл я себе RaspberryPi4 8Gb, карту на 64Gb, раскатал родную RaspberryOS, но не пошло – бедненько, потом попробовал Manjaro c KDE – очень даже ничего, но хотелось конечно же Gentoo/Calculate.
Был взят готовый образ
Рабочие образы генты для RaspberryPi
Да, работает но проект заброшен, дерево и бинхост не обновляются, попытка обновить с гентушного дерева привела к куче пакетов для пересборки, паре несложных проблем с зависимостями и небинарной пересборке всего, конечно же. А раз такое дело, то…
Был форкнут профиль кальки на гите, удалены все профили, кроме CLDX и исправлена архитектура на arm64. Результаты можно посмотреть на моём гите здесь:
Форк оверлея distros
Форк оверлея calculate
На домашнем насе с 4-х ядерным ксеоном был поднят дистцц в докере, настроена кросскомпиляция, в образе генты дистцц уже был. Там же был настроено внешнее хранилище для дистфайло и бинхоста.
Так же был пробито ftp-окно в мир для бинхоста:
Мой FTP-сервер для бинхоста
Подключёны оба оверлея, профили в системе появились, и переключение прошло внешне без проблем.
Файл мира не поменялся… был взял со свежеустановленной в виртуалке CLDX и запущено обновление мера. Не без проблем: из-за оригинального бинхоста куче пакетов пришлось временно ставить подходящие флаги, что бы обновлялись остальные, хром, либра были удалены из мира до лучших времён. После окончания сборки, флаги были возвращены обратно и мир был пересобран ещё раз с новыми флагами. Некоторые флаги были всё же изменены потому как пакеты с ними не собирались:
media-libs/mesa -vulkan -xa -xvmc -vaapi
media-libs/gst-plugins-base -X
media-plugins/gst-plugins-meta -vaapi -X
net-misc/remmina -webkit
Так же был изменён глобальный флаг для видеокарт, т.к. тут нет никакого разнообразия, то в make.conf/custom было прописано:
VIDEO_CARDS="fbdev vc4"
Утилиты кальки встали без проблем, но были имели весьма скудный набор калькоутилит для запуска.
Поиск в оригинальной CLDX показал, что все привычные в кальке cl-setup-* это всего лишь линки. Они были созданы руками.
Т.к. в данном варианте «установки» кальки, никакие первоначальные действия по настройке инсталлятором не выполнялись, то утилитами были настроены локаль, временная зона, обновления, имя хоста и прочие параметры.
При всех этих действиях вылезло следующая ошибка на многие применяемые шаблоны:
Тип шаблона не найден:
/var/db/repos/calculate/profiles/templates/3.6/2_ac_install_merge/Depends/modem-manager-gui
ОШИБКА: getFileType()
При этом профиль пользователя создался, стандартные каталоги создались, обоина кальковская, а вот оформление крысы – стандартное и ещё падает меню при попытке его вызвать, что тянет за собой фриз всего рабочего стола, всё замирает, мышка двгается и всё. Помогает только рестрарт xdm.
cl-update не работает:
# cl-update
Синхронизация репозиториев
Поиск нового сервера обновлений …
Не удалось найти доверенный сервер с актуальными обновлениями
Резервная синхронизация репозитория Distros … [ ok ]
Резервная синхронизация репозитория Calculate … [ ok ]
Резервная синхронизация репозитория Gentoo … [ ok ]
Не удалось найти сервер бинарных обновлений
Не удалось обновить
После запуска cl-update постоянно удаляtт файл /etc/portage/make.conf/binhost хоть бинхост прописан в шаблонах, а новый они не создают.
Так же после этой оперрации меняется тип оверлеев с git на calculate и обновление перестаёт работать.
И после попытки применения шаблонов, в корне появляются 2 пустых файла:
modem-manager-gui
qpdfview
Сражаюсь дальше, буду рад любой помощи, если у кого-то будет желание пособирать, то могу выбросить в мир дистцц ну или приму «в дар» открытый порт на дистцц-сервере с кросскомпиляторм aarch64-unknown-linux-gnu.

По поводу cl-update - прокси или еще чего на дороге нет? Дело в том, что в calculate-utils с какого-то перепугу прокси отключается ! Два дня убил, чтобы это выяснить. Если прокси таки есть, то у меня есть пара патчей.
Вообще тема интересная. Где-то через месяц я возможно получу российский процессор Байкал (BE-M1000), который как раз ARM64 - и разумеется мне же и придется на нем запускаться :smiley:

Установлен ли в системе sys-apps/file, с каким USE флагами он собран. Нормально ли работает команда file?

Как временное решение можно прописать BINHOST в файла /etc/portage/make.conf/custom

Для автоматического создание симлинков можно выполнить cl-core --create-symlink

Прокси нет. C cl-update вроде понятно, что не так - мой “домашний” бинхост не консистентен для cl-update, с этим потом можно будет разобраться.

Installed versions: 5.39-r4{tbz2}(22:35:13 03/27/21)(bzip2 seccomp zlib -lzma -python -static-libs ABI_MIPS="-n32 -n64 -o32" ABI_S390="-32 -64" ABI_X86="-32 -64 -x32" PYTHON_TARGETS="python3_8 -python3_7 -python3_9")

Нормально.

Так и сделал.

 # cl-core --create-symlink
/usr/bin/env: 'python2': No such file or directory

Но при этом установлены версии питона: 2.7.18_p7, 3.8.8, 3.9.2

Но

 # eselect python list
Available Python interpreters, in order of preference:
  [1]   python3.8
  [2]   python3.9 (fallback)

Вопрос - на RPI2 работать будет?

Нет, только 64бита.

Готов помочь. Но в наличии только RPi2. Родион опиши как собирал для Rpi4

Так я вроде всё описал в первом посте. Брал готовый образ, подключал свой оверлей и просто пересобирал мир. Но я в оверлее делал только для arm64, если у пакета есть arm, то будет, но у 90% его не было, так что я просто ставил флаг в надежде, что пакет соберётся.
Пока притормозилось, т.к. навалило работы, но продолжу, как малёк посвободне станет и кто-нибудь из разрабов ответит на вопросы выше.

Пересобрал всё с базовым чистым stage3 gentoo, сборка прошла более гладко, чем в предыдущий раз. Симлинки создались без ошибок с помощью предложенной команды, но ккалькоутилиты по прежнему не работают.

cl-setup-locale -l ru_RU

  • The localization and time options are being configured …
  • ERROR: getFileType()
  • ERROR: getFileType()
  • ERROR: getFileType()
  • ERROR: getFileType()
  • Template type not found: /var/db/repos/calculate/profiles/templates/3.6/2_ac_install_merge/Depends/modem-manager-gui
  • ERROR: getFileType()
    И так далее.
    В итоге System configured! Но вместо настроенного русского я получаю в /etc/locale.gen все доступные в системе локали.