-
Notifications
You must be signed in to change notification settings - Fork 827
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
WSL needs to handle (some) init steps #2530
Comments
I wonder if it wouldn't be simpler to actually run systemd in its container mode (used in rkt and nspawn). You already suppport almost all of the syscalls, you just need to rewrite WSL-init's marshalling functions into a systemd daemon |
WSL doesn't have the foggiest idea what |
The big systemd discussion mentioned that there is a way to hand control over from WSL-init to systemd once the environment is set up. Some Linux distros pre-initialize with busybox, then hand over pid 1 to systemd. This is probably the ideal solution. |
Thats the initrdfs. Its a ram disk used to bootstrap the file system. Especially useful when you need some userspace commands before init can run. Maybe we should see if wsl init could become an initrdfs |
Yes, but said distros are running on a Linux kernel compiled with the ABI necessary to support |
Well Systemd itself does not work but what about other inits. They may have similar solution to the issue. Plus As mention above, Its best to move as much as possible of the WSL to initrd. |
@therealkenc yes, I am aware! But my point was that since we are talking to Rich, rather than a user, it is probably a lot easier now for them to just finish supporting the kernel surface required for systemd and use it rather than try to rewrite their own init to do more and more things in a distro-independent way (which is basically reinventing systemd). |
Well... yeah. Implementing missing system surface is always a Good Thing™. But that isn't exactly a news flash. No one needs a "heads up" on that.
The only point I was making in the context of this thread is that quoth: WSL doesn't have the foggiest idea what init processes are "key". |
tmux works for me (have latest updates). |
Recent-ish This submission ended up a dupe target for a WSL |
Same issue with openSuse Tumbleweed and tmux 3.2:
Adding:
in my |
Hooray! Adding it to |
Your Windows build number: (Type
ver
at a Windows Command Prompt)10.0.17007.1000
What you're doing and what's happening: (Copy&paste specific commands and their output, or include screen shots)
Starting tmux in openSUSE & SLES
What's wrong / what should be happening instead:
tmux fails with the following error:
Originally raised this problem in tmux/tmux#1092, but looks to be a WSL issue:
<cmd>
is failing, then runstrace -o strace.txt -ff <cmd>
, and post the strace.txt output here)tmux-trace.55.txt
strace above ends with tmux attempting to create socket in
/run/tmux
which fails because/run/tmux
doesn't exist, because WSL nukes tmpfiles when closing a session, and doesn't (yet) re-init tmpfiles on startup.IF one runs
systemd-tmpfiles
from within SUSE, the requisite folders will be created as expected. We should also look into what other systemd init tasks we should consider running.Suggest that WSL considers running at least some key init processes when starting a new session.
The text was updated successfully, but these errors were encountered: