Skip to content

Add aarch64-native QEMU emulators - #339

Merged
isuruf merged 1 commit into
conda-forge:mainfrom
MementoRC:aarch64-native-qemu
Sep 21, 2026
Merged

isuruf merged 1 commit into
conda-forge:mainfrom
MementoRC:aarch64-native-qemu

Conversation

@MementoRC

Copy link
Copy Markdown
Contributor

Problem

With ubuntu-24.04-arm runners in use (build_platform: {linux_ppc64le: linux_aarch64}), an image can run natively on aarch64 and be asked to emulate ppc64le. The bundled emulators cannot be executed there.

Measured on the published image:

$ docker image inspect quay.io/condaforge/linux-anvil-aarch64:alma10 --format '{{.Os}}/{{.Architecture}}'
linux/arm64
$ file qemu-ppc64le-static      # copied out of that image
ELF 64-bit LSB pie executable, x86-64, static-pie linked, stripped

Change

Fedora publishes aarch64-host builds at the version already pinned here.
Fetch those as well, under an -aarch64 suffix. Verified ARM-native:

qemu-ppc64le-static-aarch64: ELF 64-bit LSB pie executable,
ARM aarch64, static-pie linked, stripped
  • Extraction streams to an explicitly named file instead of extracting in place.
  • linux-anvil-cuda mirrors its own narrower target subset.

Context

Motivated by conda-forge/conda-smithy#2688. With this, smithy's aarch64 branch can register binfmt handlers with the same OC flags and image-supplied interpreters as x86_64, instead of relying on tonistiigi/binfmt.

Open questions

  • Keep linux-anvil-cuda in scope, or limit to linux-anvil?
  • Is the -aarch64 suffix ok, or host-arch subdirectories?
  • Bump the pinned qemu from 8.2.8 separately? 11.x has ppc64le fixes relevant to emulated test suites.

The bundled qemu-*-static binaries are x86_64 ELFs, so they cannot run
on an aarch64 build host. Fetch the aarch64 RPMs as well, under an
-aarch64 suffix. Existing x86_64 paths are unchanged.

Also add x86_64 as an emulation target; it was omitted only because it
was the native host arch.
@isuruf
isuruf enabled auto-merge September 21, 2026 17:13
MementoRC added a commit to MementoRC/conda-smithy that referenced this pull request Sep 21, 2026
@isuruf
isuruf merged commit 7a0259a into conda-forge:main Sep 21, 2026
18 checks passed
@MementoRC
MementoRC deleted the aarch64-native-qemu branch September 21, 2026 18:35
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.

2 participants