При попытке запуска любого образа (в т.ч. собранного из rootfs установленного в QEMU ALT Linux для Loongson) появляется такая ошибка. Вероятно, в самом докере отсутствует поддержка для этой архитектуры: ``` docker run -it --rm alt:latest bash docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error loading seccomp filter into kernel: error patching filter: error generating patch for filter: error finding last syscalls for -ENOSYS stub: unable to get native arch: unrecognized architecture 0xc0000102: unknown. ``` alt:latest в данном примере - это образ rootfs установленной в QEMU Alt Linux. Для установки и для создания образа использовался диск установки по ссылке [1]. [1] http://get.srt.basealt.ru/ports/loongarch64/Sisyphus/images/loongarch64/alt-server-20240426-loongarch64.iso
> Вероятно, в самом докере отсутствует поддержка для этой архитектуры Не так давно мы успешно собирали и запускали базовый образ по инструкции https://www.altlinux.org/Docker#Сборка_базового_образа_с_использованием_mkimage-profiles Ближе к вечеру попробую ещё раз, может что-то в Сизифе неудачно обновилось.
Действительно, работа с seccomp в runc изменилась, надо патчить по-другому. Сейчас попробую починить.
Я попробовал собрать через Dockerfile, как вы прислали. Продрался через документацию и mkimage. Собрал тарболл (.tar.gz) и попробовал по инструкции собрать образ: ``` $ docker build --rm --tag=alt:from-mkimage . [+] Building 4.3s (5/5) FINISHED docker:default => [internal] load build definition from Dockerfile 0.0s => => transferring dockerfile: 208B 0.0s => [internal] load .dockerignore 0.0s => => transferring context: 2B 0.0s => [internal] load build context 0.4s => => transferring context: 22.70MB 0.4s => [1/2] ADD docker-latest.tar.xz / 2.8s => ERROR [2/2] RUN true > /etc/security/limits.d/50-defaults.conf 1.0s ------ > [2/2] RUN true > /etc/security/limits.d/50-defaults.conf: 0.258 runc run failed: unable to start container process: error loading seccomp filter into kernel: error patching filter: error generating patch for filter: error finding last syscalls for -ENOSYS stub: unable to get native arch: unrecognized architecture 0xc0000102 ------ Dockerfile:5 -------------------- 3 | ADD docker-latest.tar.xz / 4 | 5 | >>> RUN true > /etc/security/limits.d/50-defaults.conf 6 | 7 | # overwrite this with 'CMD []' in a dependent Dockerfile -------------------- ERROR: failed to solve: process "/bin/sh -c true > /etc/security/limits.d/50-defaults.conf" did not complete successfully: exit code: 1 ``` Результат тот же, что и при ручном (через docker import) включении, только оно сломалось ещё на этапе сборки образа.
> Я попробовал собрать через Dockerfile, как вы прислали. [...] Спасибо. Такую ошибку воспроизвёл, исправление тестирую.
Прошу мейнтейнера пропустит задачу c исправлением: https://git.altlinux.org/tasks/361175/
Я то везде использую crun. С ним пробовали?
Итак, проблема была в пакете runc, у которого отвалились наши патчи для поддержки loongarch64, и никто не заметил, что надо бы сделать и приложить другие патчи. На будущее мы внесём докерные пакеты в список того, что мы тестируем перед приёмом в sisyphus_loongarch64. Исправление будет доступно в sisyphus_loongarch64 завтра, после синхронизации репозиториев (04:00 MSK). Вам понадобится runc 1.2.0-alt1.0.port или более свежий.
(In reply to Alexey Shabalin from comment #6) > Я то везде использую crun. С ним пробовали? Ну, runc у нас по умолчанию, и единственный сконфигурированный из коробки. Даже как настроить использование crun в docker надо догадываться. Допишешь на wiki? Но да, с crun, похоже, работает.
runc-1.2.0-alt1.1 -> sisyphus: Wed Oct 30 2024 Ivan A. Melnikov <iv@altlinux> 1.2.0-alt1.1 - NMU: fix loongarch64 support (ALT#51885) + backport upstream patch from libseccomp-golang upstream + add a similar fix for libcontainer
Подтверждаю, что починилось. Спасибо!