Skip to content
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

Does not run on ARM64 GitHub runners #114

Open
chetbox opened this issue Jun 18, 2024 · 3 comments
Open

Does not run on ARM64 GitHub runners #114

chetbox opened this issue Jun 18, 2024 · 3 comments

Comments

@chetbox
Copy link
Contributor

chetbox commented Jun 18, 2024

I set up a Linux ARM64 (Beta) GitHub hosted runner wondering if the build would be faster given QEMU ends up running on the same target architecture. I got the following error:

update-binfmts: warning: unable to open /usr/share/binfmts/qemu-arm: No such file or directory
update-binfmts: warning: couldn't find information about 'qemu-arm' to unimport
update-binfmts: exiting due to previous errors
warning: could not unimport qemu-arm
update-binfmts: warning: unable to open /usr/share/binfmts/qemu-aarch64: No such file or directory
update-binfmts: warning: couldn't find information about 'qemu-aarch64' to unimport
update-binfmts: exiting due to previous errors
warning: could not unimport qemu-aarch64
/home/runner/work/_temp/1dd63415-b0f0-46f4-9a92-6292765a5c0f.sh: line 32: /usr/bin/sudo: cannot execute binary file: Exec format error
@pguyot
Copy link
Owner

pguyot commented Jun 18, 2024

Is qemu properly installed on this runner?
Do you mean to test for an arm32 Pi or an arm64 one? In the latter case, virtualization with chroot or docker could prove faster, you would avoid emulation.

@chetbox
Copy link
Contributor Author

chetbox commented Jun 19, 2024

I am building an arm64 image.

I ensured QEMU is installed by running apt-get install -y qemu-static but I still get the same error.

I was under the impression this action uses a chroot under the hood so my assumption is that no emulation would occur if running on an arm64 runner. Perhaps I have misunderstood?

@pguyot
Copy link
Owner

pguyot commented Jun 19, 2024

No emulation should occur but the action modifies the binfmt to run the qemu wrapper to ensure a particular CPU is emulated. This might be why sudo doesn't work here.

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

No branches or pull requests

2 participants