Skip to content

Upgrade QEMU to 10.1.3 / fix tar+fcntl+openat2 issue on musl aarch64#287

Merged
crazy-max merged 1 commit intotonistiigi:masterfrom
chadlwilson:qemu-10-1-3-fnctl-patch
Feb 10, 2026
Merged

Upgrade QEMU to 10.1.3 / fix tar+fcntl+openat2 issue on musl aarch64#287
crazy-max merged 1 commit intotonistiigi:masterfrom
chadlwilson:qemu-10-1-3-fnctl-patch

Conversation

@chadlwilson
Copy link
Contributor

@chadlwilson chadlwilson commented Jan 20, 2026

fixes #285
closes #283

This PR augments #283 in order to

None of the direct-execve patches have been altered from their 10.0 versions.

Testing

Tests/builds all passing on my fork at https://github.com/chadlwilson/binfmt/actions/runs/21826024785

Other Notes

(edit: this will be done in #293 instead)

As a side effect to make this happen

  • Upgrades to Alpine 3.23 and go 1.25 (tests left as-is)
  • Fixes an issue with bringing in crossarch busybox-static on Alpine 3.23
    • older approach no longer works and will give execve format error during busybox triggers, since apk tries to upgrade/replace all existing installs with the new arch; breaking the crossarch builder stage
    • uses an alternate apk --root to install the cross-arch busybox-static instead
  • Upgrades golanglint-ci to v2 (used golangci-lint migrate to migrate config as-is)

@chadlwilson
Copy link
Contributor Author

FWIW i tried upgrading the tests golang version and pkg dependencies but there is an issue with the scheduling tests that needs some work so I dropped it to keep this more focused

I also tried upgrading the main vendored dependencies which also worked fine but also left aside due to distracting from core goal.

@chadlwilson chadlwilson changed the title Upgrade QEMU to 10.1.3 fixing tar/fcntl/openat2 issue on musl aarch64 Upgrade QEMU to 10.1.3 / fix tar/fcntl/openat2 issue on musl aarch64 Jan 20, 2026
@chadlwilson chadlwilson changed the title Upgrade QEMU to 10.1.3 / fix tar/fcntl/openat2 issue on musl aarch64 Upgrade QEMU to 10.1.3 / fix tar+fcntl+openat2 issue on musl aarch64 Jan 20, 2026
@chadlwilson
Copy link
Contributor Author

Any thoughts on this @tonistiigi or @crazy-max - now that the tests are all passing? 🙏

@ggjulio
Copy link

ggjulio commented Jan 29, 2026

@tonistiigi @crazy-max ? 🙏

@crazy-max
Copy link
Collaborator

We should split Go and QEMU update. Opened #293 to first update to go 1.25 with also bake definition changes. I picked your patch for cross arch issue in BuildKit tests.

@chadlwilson chadlwilson force-pushed the qemu-10-1-3-fnctl-patch branch from 2d76855 to d5deaed Compare February 9, 2026 13:45
@chadlwilson
Copy link
Contributor Author

chadlwilson commented Feb 9, 2026

We should split Go and QEMU update. Opened #293 to first update to go 1.25 with also bake definition changes. I picked your patch for cross arch issue in BuildKit tests.

@crazy-max OK, fair enough; have rebased now onto master with just the QEMU bits.

I thought I would need to have Alpine 3.23 images in use to safely pick an aports commit/patch that was from the 3.23-stable branch of QEMU. (in other words, I thought it was confusing to be using a set of aports qemu patches only on the 3.23 branch when this repo was still using Alpine 3.21). But the tests do seem to pass as least.

Since this repo seemed to not be getting much love, and the builds are quite time consuming, I did things together for expediency/safety, building on the other contributor's patch at #283 which had already bumped the versions; but seems Alpine 3.23/Go 1.25 aren't actually required to get the tests to pass.

Glad to just have some progress anyway.

@pbo-linaro
Copy link

@chadlwilson Happy to see you got an answer for this. Hopefully will be straightforward to merge the changes from here.
Thanks @crazy-max.

@crazy-max
Copy link
Collaborator

crazy-max commented Feb 10, 2026

@chadlwilson #293 just got merged, can you rebase?

Signed-off-by: jchzhou <zhoujiacheng@iscas.ac.cn>
@chadlwilson chadlwilson force-pushed the qemu-10-1-3-fnctl-patch branch from d5deaed to ca83574 Compare February 10, 2026 08:48
@chadlwilson
Copy link
Contributor Author

@crazy-max done.

Copy link
Collaborator

@crazy-max crazy-max left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@crazy-max crazy-max merged commit 69cedb8 into tonistiigi:master Feb 10, 2026
84 checks passed
@chadlwilson chadlwilson deleted the qemu-10-1-3-fnctl-patch branch February 10, 2026 09:50
@ggjulio
Copy link

ggjulio commented Feb 11, 2026

@crazy-max sorry for asking, but any ETA for the release ?

@chadlwilson
Copy link
Contributor Author

chadlwilson commented Feb 11, 2026

There are -master tags on docker hub which you can try (and/or pin to hash) if you are installing binfmt rather than relying on the version embedded inside buildkit.

@ggjulio
Copy link

ggjulio commented Feb 11, 2026

Master works fine. Il'l use master's digest until next new release. Ty!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Failed to run tar on aarch64 when using QEMU compiled by tonistiigi/binfmt

5 participants