-
Notifications
You must be signed in to change notification settings - Fork 102
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
Infrastructure: Fix MacOS support #558
base: master
Are you sure you want to change the base?
Conversation
CC @adamdoupe who may be interested in unrelated binfmt_misc infrastructure changes soon. Just want this to be on your radar, probably we can find another solution that works for both. Probably we can even just |
@ConnorNelson Thank you for looking into this, I'll try building the branch and see if I have any errors. |
Progress but still fails at the end. Gets past all the installation steps, and no longer crashes at what I mentioned in #555, however, fails while trying to get information regarding the KVM. Adding the argument Full Command:
I am running on an M3 MacBook Air which should support hardware virtualization and nested virtualization. Logs:
|
I haven't quite had time to investigate why workspace-builder still doesn't correctly finish running with these changes. If you want to investigate you can check out |
I am a little out of my depth trying to diagnose this but tried looking into it, found out that it most likely has something to do with Taking it out of the file gets rid of the IO errors but that leads to The underlying problem that caused the IO errors are likely still there but taking out the optimize store line causes it to either crash before it gets to where the IO errors occurred or it just doesn't try to create the links that caused the IO errors Most issues in the nix repo about similar errors have either been closed or fixes have been merged so not sure what's going on here. Theoretically, setting filter-syscalls to false should have fixed what was happening but apparently not. |
99be55b
to
f23e4d3
Compare
Based on discussions in docker/for-mac#7168 (comment) and kubernetes/minikube#17700 it is clear that systemd is our enemy.
Default behavior of systemd is, for some reason, to perform destructive operations on
/proc/sys/fs/binfmt_misc
, and we ultimately lose/proc/sys/fs/binfmt_misc/rosetta
, which means no more emulation.This systemd behavior destructively interferes all the way up to the docker vm host. It will literally brick host MacOS docker rosetta support until docker is restarted:
It is no surprise this also bricks our inner docker support.
Removing the files inside
/lib/binfmt.d
has the behavior of disabling the binfmt_misc systemd service. This just removes some python3.12 binfmt_misc config, that doesn't seem to have any impact that affects us.