On 4/27/21 14:59, Jan Christian Grünhage wrote:
> You're running buildah itself natively, but the
"arch" binary in the
> base image that's being invoked for that RUN instruction is compiled for
> arm64, and that means you need the help of an emulator to execute it.
Yeah, I understand that so far. The `arch` binary in the container image
is not my native architecture, so it needs emulation. But *where* do I
insert that emulator? And how? I can't just run `buildah` with
`qemu-aarch64-static`, because `buildah` is for my native architecture.
I also can't add `qemu-aarch64-static` in the Dockerfile, that'd be
pointless (and also wouldn't work, because it'd look for the binary
inside the container image).
Looking at
https://github.com/containers/buildah/issues/1590#issuecomment-771924743
for example, I don't see any manual step for invoking an emulator,
leading me to believe that this is something buildah takes care of for
me, assuming that `qemu-user-static` is installed (which it is, ftr).
Any more hints?
--
JC
_______________________________________________
Buildah mailing list -- buildah(a)lists.buildah.io
To unsubscribe send an email to buildah-leave(a)lists.buildah.io
With the emulator software installed, the kernel figures out that the
arch is different and runs the emulator. I am not quite sure how all
this magic happens, but Buildah is not involved, it is just the beneficiary.