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 Filiprino (talk | contribs) at 15:07, 28 June 2017 (Windows Subsystem for Linux targets GNU software). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
WikiProject iconMicrosoft: Windows Stub‑class Low‑importance
WikiProject iconThis article is within the scope of WikiProject Microsoft, a collaborative effort to improve the coverage of articles relating to Microsoft on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
StubThis article has been rated as Stub-class on Wikipedia's content assessment scale.
LowThis article has been rated as Low-importance on the project's importance scale.
Taskforce icon
This article is supported by WikiProject Microsoft Windows (assessed as Low-importance).
WikiProject iconLinux Stub‑class Mid‑importance
WikiProject iconThis article is within the scope of WikiProject Linux, a collaborative effort to improve the coverage of Linux on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
StubThis article has been rated as Stub-class on Wikipedia's content assessment scale.
MidThis article has been rated as Mid-importance on the project's importance scale.
WikiProject iconComputing: Software Stub‑class Low‑importance
WikiProject iconThis article is within the scope of WikiProject Computing, a collaborative effort to improve the coverage of computers, computing, and information technology on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
StubThis article has been rated as Stub-class on Wikipedia's content assessment scale.
LowThis article has been rated as Low-importance on the project's importance scale.
Taskforce icon
This article is supported by WikiProject Software (assessed as Mid-importance).

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]