[Discuss] WSL 2

Bill Bogstad bogstad at pobox.com
Thu May 9 22:15:20 EDT 2019


On Mon, May 6, 2019 at 9:43 PM Bill Bogstad <bogstad at pobox.com> wrote:
>
> On Mon, May 6, 2019 at 5:40 PM Rich Pieri <richard.pieri at gmail.com> wrote:
> >...
> > WSL 2 will ship with a fully GPL compliant (including patches),
> > reasonably current Linux kernel running in a lightweight virtual
> > machine. Reasons cited are better performance, particularly filesystem
> > performance, and native Docker capability.
> >
> > https://arstechnica.com/gadgets/2019/05/windows-10-will-soon-ship-with-a-full-open-source-gpled-linux-kernel/

This 60 minute video from Microsoft answers a number of my questions:

https://www.youtube.com/watch?v=lwhMThePdIo

The answers to my questions are inline below..

> Kind of short on details...  Is this going to be some kind of highly
> optimized Hyper-V type environment with a customized
> Linux kernel?
Yes.  Using an optimized Hyper-V system developed for servers.

>  Is it going to still have full filesystem visibility
> from both operating systems?  How?
Both Windows and Linux will support the Plan 9 file server protocol as
both a server
and as a client.  This gives full filesystem visibility from both
sides.  For example, their init automounts
/mnt/c via this mechanism.

>Will I still be able to run
> Window's binaries from a Linux command line?
Yes, They use the Linux kernel's ability to provide user-mode
interpreters (binfmt?) to
start the windows binaries and connect IO between the two sides. This
works for both command line
and graphical windows' programs.  You can safely edit files in either direction.

>Will I be able to run
> all standard system daemons without hacks?  (i.e.
> will init actually be systemd (or at least be replaceable with systemd
> or at least some Linux native init)).
They are still using their own init and nothing was said about doing
anything else.
They mentioned that the way they are running multiple simultaneous distributions
is by using Linux's privileged container system with a single instance
of the Linux kernel
supporting all of them which probably requires the special init they provide.
As they are privileged containers, they said that you could break out
into other containers (underlying Linux system?).  So starting a new
Linux distro in WSL2
is like starting a distro via lxc in Ubuntu.  They also said that they
are using ext4
with a virtual HD for the root filesystem.  There is even a way to
move your distro back and
forth between WSL1 and WSL2 and everything should work more or less
the same (except for
the stuff that WSL1 just can't do (some system calls, no FUSE
filesystems, etc.)).

Bill Bogstad


More information about the Discuss mailing list