-
Notifications
You must be signed in to change notification settings - Fork 183
Multi Architeture docker #76
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
Multi Architeture docker #76
Conversation
da270b2 to
d519e05
Compare
d519e05 to
58d458c
Compare
2ed40ac to
7aead1f
Compare
|
Thanks for looking at this.
I appreciate the attempt to use I did some looking into the bug you hit; seems it's something others are starting to hit. The root cause is based on a bad interaction with the Qemu 32-bit guest API and the host 64-bit ext4 kernel driver, which uses 64-bit inode numbers. The workaround seems to be creating a small filesystem for Cargo's Git repo, which will prevent the host from using 64-bit inodes. I think this should be possible to integrate with |
|
I would certainly like to not have to cross compile too if possible. I will try the tmpfs route mkdir ~/.cargo
mount -t tmpfs -o size=2048m tmpfs ~/.cargoThen see how it goes |
58db0e5 to
458842e
Compare
Using buildkit to mount inside docker build
Put back in missing AS name Debugging the issue with docker... Explicit cargo path Attempt setting exec on tmpfs Avoid execfs issues Just use the setup path env Typo fix in docker build More debuging of the docker build Just amd64 and arm7 Explicitly set cacert path Add arm v8 Add arm v6 Remove armv6
c10d299 to
d95885a
Compare
|
I have gotten it to build via tmpfs so the cross compile isn't needed anymore.
Does not support
We could probable do this all in alpine as pointed out in #84 which would make the armv6 maybe possible |
|
@thirtythreeforty Probably ready for review when you have the time |
|
With no progress on my PRs in years I am closing them in favour of working on my own fork. If your interested in these features please see there |
In issue #73 we had a request for a docker image sutable for a raspberry pi (armhf architecture).
I looked into getting such an image to work on github actions. The solution was to build the docker with xbuild and qemu.
I went to the trouble of creating a multiarch build that supports all architectures that rust supports.
It works in two stages:
I could not do this on alpine as that is amd64 only, so it is on debian buster. What I did was publish two tags
:branchnamewhich is the multiarch debian build:branchname-alpinewhich is the amd64 only alpine buildcloses #73