
Hi all, can someone untangle this knot for me? I am stuck and am missing an important piece, it seems: I want to build multi-arch containers using buildah. https://podman.io/blogs/2021/10/11/multiarch.html buildah build --jobs=4 --platform=linux/amd64,linux/ppc64le,linux/arm64,linux/s390x --manifest shazam . For this I need to have qemu-emulation available, as far as I understood. So I installed qemu-linux-user and issued the following commands: qemu-binfmt-conf.sh --systemd aarch64 qemu-binfmt-conf.sh --systemd s390x qemu-binfmt-conf.sh --systemd arm I then restarted the systemd-binfmt service and checked in /proc/sys/fs/binfmt_misc: # ls /proc/sys/fs/binfmt_misc qemu-aarch64 qemu-arm qemu-s390x register status # However, building for amd64 works, but fails for both arm64 and s390x.
$ buildah bud --arch arm64 . STEP 1/2: FROM registry.access.redhat.com/ubi8:latest STEP 2/2: RUN uname -a exec /bin/sh: no such file or directory error building at STEP "RUN uname -a": error while running runtime: exit status 1 ERRO[0003] exit status 1
I found multiple examples running "RUN arch" or similar in the Containerfile, and I tried all of them. And each time I get the error on non-amd64. Is there another step I forgot? Is there documentation on enabling the qemu-binfmt-thingy that I did not find? I know that the error says "no such file or directory", I think this just means that the shell could not be executed due to arch-mismatch. I got some "exec format error" messages when trying some golang examples. Thanks for your help! Kind Regards, Johannes -- Johannes Kastl Linux Consultant & Trainer Tel.: +49 (0) 151 2372 5802 Mail: kastl@b1-systems.de B1 Systems GmbH Osterfeldstraße 7 / 85088 Vohburg http://www.b1-systems.de GF: Ralph Dehner Unternehmenssitz: Vohburg / AG: Ingolstadt,HRB 3537