-
Notifications
You must be signed in to change notification settings - Fork 58
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cross-architecture broken with recent bootc #639
Comments
Maybe fallout from containers/bootc@0527ca9 - we're doing a lot more in bootc's install path now? I haven't tested cross arch in a while |
Just noticed, my second example obviously has an issue as I pulled the wrong image by not specifying
but the result is still the same:
|
We had cross arch as part of our bootc-image-builder CI until about a week or so ago, then it started breaking because of an unimplemented |
Bigger picture it's going to be a bit tricky for us to maintain the qemu-emulated path as it is today; in bootc we really want to use some sophisticated Linux kernel features. Probably the most fruitful avenue to pursue will be moving some cross-arch logic into bootc itself. It may to start just look something like |
FTR, the qemu-user openat2 support is now merged upstream, we "just" need to backport it to the podman-machine image (which is f40 afaik(?)). |
Looks like:
Am gonna see if i can compile this from latest sources and see if itll work |
[..] |
I tried modifying the containerfile to include this copr repo, but that didn't seem to change the error message - maybe i did something wrong my changes are here: https://github.com/MoralCode/bootc-image-builder/tree/f40 |
The qemu-user binaries need to come from the system, so either the host or the machine inside podman machine. The namespace support for the underlying binfmt_misc is relatively new [0] we should probably look into using this, then we could potentially have qemu-user as part of the bib container. Maybe worth filing a separate issue that we should look into supporting this via https://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs.git/commit/?h=vfs.binfmt_misc&id=ecddcab2d1b15fea782889237093bd069979c8c7 as it will benefit fedora/rhel10/centos10 There is also an extra complication when running under the mac, here rosetta2 needs to be disabled as it does not support openat2 (I did not find much documentation around rosetta2 but it seems to be also using syscall emulation (to some extend at least)). |
I cannot build any cross-arch (ARM to AMD64) images on my M1 MacBook. It fails on some interesting layer mounting issue:
Steps:
which results in:
Just pulling that image normally with
podman pull
works fine.I also originally ran into something very similar when trying to use
--local
:which results in:
All of this works fine on a Linux AMD64 machine/VM.
Would appreciate some help to make the workflow painless again :)
The text was updated successfully, but these errors were encountered: