skiffos/SkiffOS

WSL - OCI runtime error

clayauld opened this issue · 6 comments

I'm now getting an issue with the WSL build. When trying to run docker containers or connect to skiff-core I'm getting and OCI runtime error.

image

It appears to be an issue with the cgroup, possibly wrong permissions for root, not being a part of the docker group?

Will look into it, thanks. And definitely, need to get rid of those absurd long file paths.

The issue is related to how the mounting / chroot is working. Previously I patched runc to solve this

To be more specific: the problem is a quirk in WSL2 where nsenter to a particular process was sending it to the / root namespace instead of the correct one.

@clayauld I restored the old patch I had before for runc which avoids the WSL2 quirk where mount --move doesn't seem to work properly within the chroot.

#231

This is pretty much a hack but should make runc/docker work properly for now. Hopefully eventually I can figure out why the original behavior in runc doesn't work properly and remove this.

As for the really long paths including /mnt/wsl - I have changed it to bind mount the /wslinit file specifically (not the entire /mnt/wsl tree)

You'll need to rebuild skiff-init-squashfs and runc on the fix-wsl-runc branch:

git fetch
git checkout fix-wsl-runc
rm -rf ./workspaces/default/build/runc*
rm -rf ./workspaces/default/build/skiff-init-*
make compile

That has fixed the issue.
image

Nice!