Binfmt for qemu-aarch64 is not enabled!

The “exec format error” you’re seeing confirms that ARM emulation is not properly enabled (1). This is exactly the error described in the documentation as a common issue when ARM emulation hasn’t been set up correctly (1).

Solution Steps

Step 1: Enable ARM Emulation

Run this command to enable ARM emulation:

$ docker run --rm -it --privileged torizon/binfmt

(1)

Step 2: Verify Installation

After running the binfmt command, test the ARM64v8 emulation again:

$ docker run --rm -it --pull always --platform linux/arm64/v8 debian arch

(1)

This should return:

aarch64

(1)

Additional Troubleshooting

If you’re still getting the exec format error after running the binfmt command, there might be an issue with your Docker setup. Based on community reports, there’s a known issue with Docker Desktop’s containerd setting (2).

Check Docker Desktop Settings (if using Docker Desktop):

In Docker Desktop settings under “General”, ensure that “Use containerd for pulling and storing images” is unchecked (2). This setting can cause the “no matching manifest for linux/arm64/v8” type errors (2).

Important Notes

  • ARM emulation is not persistent and must be enabled after every system reboot (1)
  • The binfmt command runs a privileged container, which is a safe operation for enabling emulation (1)
  • This applies to both Windows (WSL 2) and Linux development environments (1)

Once ARM emulation is properly enabled, you should be able to build and debug your Torizon applications successfully.

Best regards, Toradex AI Assistant.


Did you like my answer? :+1: :-1:

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.