Jump to content

Talk:Windows Subsystem for Linux

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Meno25 (talk | contribs) at 07:56, 2 March 2019 (Assessment: Microsoft: class=C; Microsoft Windows: class=C; Linux: class=C; Computing: class=C (assisted)). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Alternative root systems (userlands) for WSL

It might be worth adding a few examples of third party projects that exchange the ubuntu root file system for other popular linux distributions. A notable example is ALWSL, which brings a custom archlinux userland. The project page is here. References are mostly news/blogs. Examples: HackerNews, IDG's Inforworld, Techworm. There's also loose list of other developers with their own distros (such as Fedora) that can be found in the BoW github issues. Alphaneuron (talk) 14:18, 30 September 2016 (UTC)[reply]

GNU vs Ubuntu

Why is there "Ubuntu binaries" and "Ubuntu user-mode", not "GNU user-mode"? Ubuntu is just a distribution. GNU is the userland and tools. 94.254.177.22 (talk) 15:07, 15 April 2016 (UTC)[reply]

Because they're running binaries direct from the Ubuntu distribution, not source code compiled to run on Windows Subsystem for Linux. The GNU project don't, as far as I know, distribute binaries, they just distribute source.
Furthermore, not all the programs in Ubuntu's userland come from the GNU project, so the userland is more than just GNU. Guy Harris (talk) 19:22, 15 April 2016 (UTC)[reply]

The irony of this "No it's GNU."/"No it's Ubuntu." argument is that neither is correct. Yesterday, Seth Jennings, a Senior Software Engineer at Red Hat, demonstrated Fedora binaries, taken from a Docker image, running on the subsystem. If there's a name for what binaries run here, it is Linux binaries, i.e. binaries that make Linux system calls to (what they expect to be) a Linux kernel. This is the name used by FreeBSD writers and Solaris/Illumos writers. It's also the name used in the Wikipedia lxrun article.

  • Jennings, Seth (2016-04-17). "RUNNING FEDORA ON WINDOWS 10 USING WSL". Obfuscation's End.
  • Handy, Brian N.; Murphey, Rich; Mock, Jim (2016-01-28). "Linux® Binary Compatibility". FreeBSD Handbook. The FreeBSD Documentation Project. {{cite book}}: External link in |chapterurl= (help); Unknown parameter |chapterurl= ignored (|chapter-url= suggested) (help)
  • James, Mike (2016-03-31). "Run Linux Binaries On Windows 10". I Programmer.

Jonathan de Boyne Pollard (talk) 20:37, 18 April 2016 (UTC)[reply]

There's "what binaries can WSL run?" and there's "what binaries does Microsoft ship?" The answer to the former is probably "Linux binaries"; the answer to the latter is "Ubuntu binaries". Guy Harris (talk) 20:56, 18 April 2016 (UTC)[reply]
The latter is Ubuntu binaries from GNU software. The former is Linux binaries with GNU as target runtime, [example]. Filiprino (talk) 02:53, 28 June 2017 (UTC)[reply]

What it *probably* runs are "ELF 64-bit LSB executables". You folks need to read your Tannenbaum. — Preceding unsigned comment added by 131.215.115.31 (talk) 16:28, 20 October 2016 (UTC)[reply]

Executable AND LINKABLE format. Without GNU runtime system you can't do nothing. They have to prepare their subsystem to run different user space libraries. Filiprino (talk) 02:50, 28 June 2017 (UTC)[reply]

An introduction that explains why this is useful might be nice.

I.e., what was the business model? Who is the user? Why would this be their preferred solution? Without that, this seems like a strange hybrid of two divergent worlds. MrRedwood (talk) 22:24, 15 April 2016 (UTC)[reply]

I have added this: Microsoft envisages WSL as "primarily a tool for developers -- especially web developers and those who work on or with open source projects." -Lopifalko (talk) 15:57, 4 October 2016 (UTC)[reply]

Informative [on Project Astoria]

"[Microsoft] confirmed that Astoria was dead, as it rather undermined the Universal Windows Platform concept."[1] and [http://arstechnica.com/information-technology/2015/11/divisive-android-app-support-for-windows-mobile-dropped-maybe-even-discarded/ older link. comp.arch (talk) 09:54, 12 September 2016 (UTC)[reply]

MSDN references

I note that the article seems to be rated generally as 'Stub' and notice that there seems to be further material available for writers on the MSDN blogs, to extend the article.

WSL – Windows Command Line Tools For Developers‎
One of the most interesting things about the Windows Subsystem for Linux (WSL) is its ability to run unmodified Linux ELF64 binaries atop the Windows Kernel.
https://blogs.msdn.microsoft.com/commandline/tag/wsl
Windows Command Line Tools For Developers – Windows ...‎
One of the most frequent questions we get about Bash/WSL is how WSL provides a Linux-compatible filesystem atop NTFS and how filesystem interop works.
https://blogs.msdn.microsoft.com/commandline
Windows Command Line Tools For Developers – Page 2 ...‎
At //Build 2016, Microsoft announced the ability to run native Bash and GNU/Linux command-line tools directly on the new Windows Subsystem for Linux (WSL), coming ...
https://blogs.msdn.microsoft.com/commandline/page/2
Do not change Linux files using Windows apps and tools
I have to provide this guidance at least 2-3 times a day so instead I am publishing it here so everyone can find / link-to this guidance.
https://blogs.msdn.microsoft.com/commandline/2016/11/17/do-not-change-linux-files-using-windows-apps-and-tools/

A search on the MSDN Blogs for WSL (by search or, separately, by tag) yields many more usable source materials.

Happy editing!

KING (talk) 06:22, 3 January 2017 (UTC)[reply]

Windows Subsystem for Linux targets GNU software

Only software designed for the GNU API runs under Windows Subsystem for Linux. That is, software designed for GNU/Linux in mind.

This affects the ELF format too, because GNU software adds its own fields to an ELF binary. This article is written as if the software targeting other APIs worked/was supported. It is not. Microsoft even mentions in their blog they target GNU/Linux.

GNU command line tools such as grep, sed, and awk. This implies GNU runtime.

They target POSIX, GNU and Linux binaries:

Rich Turner from Microsoft:

Bash is indeed a shell. Bash on Windows or Bash/WSL got the most votes in early polling while we were choosing a descriptive name for this unusual feature, especially compared to WSRPGLB (Windows Subsystem for Running POSIX, GNU, Linux Binaries) which felt a little cumbersome. They announced the ability to run GNU/Linux command line tools. Note that they did not say Linux command line tools. Because they are GNU/Linux.

Oh and do not come here with this, where they omit the dynamic libraries loaded by the GNU ELF binaries. Here you will find a GNU ELF header dump. GNU sections: .gnu.hash, .gnu.version, .gnu.version_r, .gnu_debuglink, .note.gnu.build-id. And the program has the following sections: GNU_EH_FRAME, GNU_STACK, GNU_RELRO.

From an Oracle blogger talking about GNU extensions to the ELF format: The ELF object format is used by several different operating systems, all sharing a common basic design, but each sporting their own extensions. The binaries are GNU/Linux. Not mentioning anywhere neither GNU nor POSIX is an error.Filiprino (talk) 13:09, 28 June 2017 (UTC)[reply]

What you wrote is synthesis of published material and is not allowed in Wikipedia.
But I will ask Wikipedia:WikiProject Linux to take a look at it. Maybe they have a direct source.
Best regards,
Codename Lisa (talk) 14:34, 28 June 2017 (UTC)[reply]
I have not put together different parts. I have used the same source: the WSL blog from Microsoft. On top of that I have added my own dump of a GNU ELF file to demostrate that in practice it is prepared for GNU software, matching what they say in their blog. Filiprino (talk) 15:07, 28 June 2017 (UTC)[reply]
That's what everyone who had committed synthesis have said. (None of them have so far said, "yes, that's what I did." All of them have so far said "that's what's written in the source".) Your entire argument hinges on the premise that Microsoft thinks "GNU/Linux" and "Linux" have the same momentous difference that you think they have. But there is no evidence that they do. Quite the contrary, Microsoft has a colorful history of using the blatantly wrong terms. (Example, the system partition and boot partition and the difference between x86 and IA-32.) Also, my experience with MOS:LINUX and all its discussions tell me that actually, nobody cares for these two terms.
Best regards,
Codename Lisa (talk) 16:03, 28 June 2017 (UTC)[reply]
My argument is not based on what Microsoft says. I have put Microsoft blogs because that is what others have used in this talk page. My arguments use documented sources like the Linux Journal from 1994 which within its first 6 months defined what is Linux, what is GNU and what is a Linux distribution. Multiple articles from GNU, Debian, Red Hat and other free software contributors defined what is GNU and Linux. I have to say that Tanembaum and other books are wrong when they "teach" Linux, but at the beginning of their books they give a different definition of an OS. matching with what GNU/Linux and other modern operating systems are. Knowing that Tanembaum does not want to use GNU Public License for his MINIX 3 OS, it would be not surprising if he does not want to write down the word GNU unless it is mandatory, and even then he writes wrong things like Linux command line.
I have digressed quite a bit. Filiprino (talk) 19:14, 28 June 2017 (UTC)[reply]

The See also section of this article links to lxrun, but as I described on that article's talk page the lxrun described there has no apparent relation to Windows 10's lxrun which is used for setting up WSL. Any ideas for best addressing this, i.e. should that article be updated somehow or should the link be removed? ChrstphrChvz (talkcontribs) 12:04, 10 March 2018 (UTC)[reply]

Hello, ChrstphrChvz.
Perhaps you should study MOS:SEEALSO to get better idea of what this section is. Things that are directly related to the subject of the article, must not normally appear there because normally, they get a mention within the article prose. In fact:

The links in the "See also" section might be only indirectly related to the topic of the article because one purpose of "See also" links is to enable readers to explore tangentially related topics.

As you can see, lxrun, which is only tangentially related to the subject of this article, fits the inclusion criterion pretty good.
Best regards,
Codename Lisa (talk) 17:16, 10 March 2018 (UTC)[reply]
Thanks, I see more clearly how lxrun probably ended up in the "See also" in the first place along with other compatibility layers like Wine (software). So probably the intention was to link to lxrun (referring to the compatibility layer) and it's just coincidence that Windows 10 had a similarly-named command.
However based on what NapoliRoma suggested on Talk:lxrun, I'll probably go with removing the reference to prevent any confusion since there probably doesn't need to be any mention of the command on either of these articles. ChrstphrChvz (talkcontribs) 00:26, 18 March 2018 (UTC)[reply]