-
Notifications
You must be signed in to change notification settings - Fork 20
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
Initial support for foreign architectures (i686 and aarch64). #197
Conversation
If we ever want to make emulation transparent without requiring binfmt, we'd need to add something like https://patchwork.ozlabs.org/project/qemu-devel/patch/[email protected]/ to our Qemu_jll. |
Well, I've implemented that. |
Even with separate root directories, there may be cgroup conflicts.
crun lies when it claims it can mount sysfs.
2d9d5c3
to
4a14a44
Compare
Using |
Replaces #144; cc @IanButterworth @DilumAluthge
Fixes #97
Tested that this works by installing
qemu-user-static
and whatever binfmt-integration package your distro uses:Although that's pretty neat, emulation is way slower than I expected:
I originally also wanted to integrate PkgEval.jl with Qemu_jll.jl and automatically use qemu's user-mode emulation, but turns out it doesn't actually handle
execve
, so we need to usebinfmt
for transparent emulation. But since it's way too slow for actual PkgEval purposes, I won't explore that any further anyway.Finally, as you see in the output above
cpu_time
reporting doesn't work properly in the case of qemu emulation, but I assume it does with native aarch64 execution, so that shouldn't hold this PR back.