chroot support #19714
Replies: 2 comments 3 replies
-
|
Hey! I thinking this will take a bit more thinking for me to wrap my head around, but as we discussed offline perhaps trying a directory that is not @Chuxel, you are the strongest linux guru I know 😛, do you have any thoughts on this? |
Beta Was this translation helpful? Give feedback.
-
|
Chuxel, thanks for all the pointers. Starting there I eventually came to understand the problem was simply that Thanks for the pointer on how to run a GitHub Action using the codespace image. If I hit an insurmountable obstacle with chroot I now have something to fall back to. Thanks! |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hello codespaces!
I expect to be able to create a chroot in a codespace without having to modify how
/workspacesis mounted and once inside the chroot I expect subprocess to work. Actually, I need to modify the/workspacesmount and when I get into the chroot subprocess don't work.I'm not quite sure what this does, but it does allow me to use debootstrap to create the environment. I can enter the chroot environment, but operations in the environment that make use of mounted directories have issues. For example, subprocess don't work.
StackOverflow tells me the issue is related to the way the
/procis mounted, but not being familiar with UNIX mounting configurations, I'm unsure what the problem is. Can change the parameters I pass to debootstrap to make things work? Have I bumped up against some inherit limitation in codespaces?I've created this little 7 step reproduction that can easily be spun up in a codespace. kingces95/chroot-mounts: Reporduce subprocess failures in codespace chroot environment. (github.com).
My overarching goal is to standup a bash environment my teammates can use to reproduce integration tests failures. I'd like my environment to be hosted by either Codespaces, GitHub actions, or WSL2 on our product DevBox. Each of those three Unix environments is slightly different. I want to hide those differences by creating a chroot within in each of those environments and then develop within the chroot.
For example, GitHub Actions has a pre-installed version of
azwhereas the other environments don't. I lazily install theazversion I want but if one is already present, then I make use of it. If it's the wrong version, then things fail. I can fix such such issues one by one (e.g. it wouldn't be hard to detect if the pre-installed version is unexpected, uninstall it, and re-install the correct one) but if I could use chroot to create an environment without any pre-installed tooling then there are fewer cases to consider.Thanks!
Beta Was this translation helpful? Give feedback.
All reactions