Open cdrage opened 6 months ago
just to clarify - are you trying to run an amd64 image on an arm64 device?
Yup.
I'm expecting podman-bootc under the hood to choose qemu-system-aarch64
or qemu-system-x86_64
and run the image.
I don't believe that will work. You can not run a aarch64 VM/Kernel on an x86 box. Emulation works in user space not for the kernel, as I understand.
I don't believe that will work. You can not run a aarch64 VM/Kernel on an x86 box. Emulation works in user space not for the kernel, as I understand.
qemu can do both, qemu-system-aarch64
will emulate a full aarch64 VM, qemu-aarch64
will emulate user space binaries.
ERROR Re-exec in host mountns: setns: EINVAL: Invalid argument
The core problem here (and this has come up elsewhere) is that qemu's userspace emulation doesn't handle many Linux container features.
Here what we're trying to do is extract information about the container from the host podman. Hmm. Maybe we could switch to using data from the /var/lib/containers
mount?
The other avenue here is we could use bootc-image-builder's flow in this case (or in general, by default), where it runs the install container with the host arch. That path is https://github.com/containers/podman-bootc/issues/4
I built an amd64 image using
podman build --platform linux/amd64 -t fedora-helloworld-test .
I then tried running it with podman-bootc: