Official Arch Linux image for WSL
Hi everyone, I'm writing this mail to collect thoughts and interests about providing an official Arch Linux image for WSL (Windows Subsystem for Linux) [1]. Indeed, after a quick related discussion over on IRC, I started tinkering with this and I personally would be eventually interested in proposing this "officially", if that's of interest. This proposal is inspired by the related Fedora one [2] (which was accepted and planned for Fedora 42). # Benefits An official Arch Linux image for WSL would provide an easy way for people to give Arch Linux a try directly from their Windows system, making our distro more "discoverable" and accessible. Additionally, some people may have no other choice but to use Windows in specific situations (despite not necessarily being the best choice for their needs / duties), e.g. on their company's workstation (like it's the case for me). While WSL consists of an acceptable solution to get access to a Linux environment in such situations, the lack of an official image for Arch Linux either "suggests" the use of a different distribution or "forces" people to rely on unofficial Arch Linux WSL images (which quality may vary). # Distribution / Installation WSL images can be distributed via tarballs, Appx packages, or via the Windows Store. From what we know, distributing images from the Windows Store implies agreeing to the store policies & developer agreement, and may imply additional eventual concerns related to TOS/EULA. I unfortunately don't have much details on that front currently but I think that distribution from the Windows Store should be out of scope for now. Moreover, since version 2.4.4, WSL greatly improved the way to install tarballs outside from the store by adding "click-to-install" support for tarballs using the ".wsl" extension, as well as automatic first setup script support. As such, I would personally advice for that distribution method for the time being. Indeed, downloading such an Arch Linux ".wsl" tarball and (double) clicking on it would be all that's needed to be able to use Arch Linux with WSL. Note that WSL 2.4.4 and greater are still qualified as pre-releases at the time I'm writing those lines [3], but can still be installed with a single command line from a PowerShell prompt (`wsl --update --pre-release` from a system with WSL2 installed). If anything, installing such tarballs from WSL prior to 2.4.4 can still be done "manually" via a single command line (`wsl --import <DistroName> <InstallationPath> <TarballPath>`). With a proper documentation, using Arch Linux with WSL prior to 2.4.4 would still be pretty straightforward. # Technical details WSL2 provides a single virtual machine managed by the Windows host which runs guest Linux distributions as containers. As such, the Arch Linux base container image [4] can already be used for basic WSL support. To define some default parameters and provide additional functionalities, some specific WSL configuration files can be added to it. This, for instance, allows to add `systemd` support out of the box [5], define default parameters (e.g. default user, icon for the app shortcut or terminal profile) and automatic first setup script (which can be used to create a default non-root user and perform basic system setup interactively at first run for instance) [6]. The archive just needs to be renamed from ".tar.zst" to ".wsl" to allow "click-to-install" with WSL >= 2.4.4. For those interested, I actually "built" such a ".wsl" Arch Linux tarball [7] based on our latest base container image which can be installed & uses with WSL2 (made for test purposes). Make sure to read the README [8], which contains important information such as how the tarball was generated and how to use it. # Tarball maintenance / management Given that the WSL tarball would be based on our Docker / Container image, it could eventually be maintained in the same repo [4], although I'm not sure that mixing a WSL specific image with our "Docker" images is desirable. We also have the arch-boxes repo [9] which provides multiple kind of Arch images (vagrant, qcow2, cloud...). I think a WSL image could fit well there. Alternatively, a new dedicated repo could be created. When it comes to actual maintenance / management, I think the image generation and releasing should be fairly easy to automate via a scheduled GitLab CI (as it is currently done for our Docker images for instance). The process is fairly straightforward (grab latest base Docker image / tarball, un-archive it, add a few WSL specific files, re-archive it, rename it from ".tar.zst" to ".wsl"). I guess a monthly generation / release would be more than enough. We would still need a few people to watch over and feel responsible to maintain this. I'd happily be one of them, but please feel free to express interest :) # Unresolved questions / issues From a purely technical stand point, there is one pending issue which, fortunately, can be easily worked around. But the actual root cause and proper fix are unknown yet. See the last section of the README [8] for more details. On another level, I guess the important point here is to determine if we actually want this and, if so, how? For instance, which level of support do we want to provide (if we are to do this)? Since it would be pretty close in terms of "design" and usage, I personally think we could provide a similar level of support than the Docker images & Arch boxes images. Anyway, sorry for the long read 0:) Just to clarify, the actual purpose of this mail is to collect thoughts, concerns, questions, interests (both regarding using such an "official" Arch Linux WSL image and / or helping maintaining it), ... Please, share opinions if you have some :) [1] https://learn.microsoft.com/en-us/windows/wsl/about [2] https://fedoraproject.org/wiki/Changes/FedoraWSL [3] https://github.com/microsoft/WSL/releases [4] https://gitlab.archlinux.org/archlinux/archlinux-docker [5] https://devblogs.microsoft.com/commandline/systemd-support-is-now-available-... [6] https://learn.microsoft.com/en-uisns/windows/wsl/build-custom-distro#add-the... [7] https://pkgbuild.com/~antiz/WSL/ [8] https://pkgbuild.com/~antiz/WSL/README.md [9] https://gitlab.archlinux.org/archlinux/arch-boxes -- Regards, Robin Candau / Antiz
Hi, Robin,
"I guess a monthly generation / release would be more than enough."
As far as I can see from [1] and [2], all "boxes" and OCI (Docker) images are generated daily (with one exception for the image in the official DockerHub library, which is generated weekly). If image generation is cheap (i.e. it can be fully automated and doesn't involve costly human beings:D), then we can be consistent:) Side not-so-serious note: of course, for any practical purpose there is almost no difference between "the latest" and "one month old". But, that irrational feeling—"oh! I'm at the cutting edge!":)) I.e. the daily generated image is more attractive to users (guilty! myself included:D).
"Anyway, sorry for the long read 0:)"
Totally off-topic: anything that is easier to read and understand than the Open Group (POSIX) standards should not be considered as "long read" in a technical community:) [1] https://gitlab.archlinux.org/archlinux/arch-boxes#arch-boxes [2] https://gitlab.archlinux.org/archlinux/archlinux-docker#arch-linux-oci-image... -- Regards, Andrei Korshikov
If I remember correctly, this was suggested before and shot down because WSL is its own can of beans, and mainly because having this “official” implies that we will “support” this in the way of bug reports etc etc. My feelings remain the same, I have zero interest in spending time on any WSL related issues.
Hi, George!
If I remember correctly, this was suggested before and shot down because WSL is its own can of beans, and mainly because having this “official” implies that we will “support” this in the way of bug reports etc etc.
My feelings remain the same, I have zero interest in spending time on any WSL related issues.
In principle, I do agree: I prefer cygwin over WSL for exactly the same "can-of-beans" reason. But, if someone is brave enough - why not? Ok, "one" is not really reliable - there must be at least two of them:) I.e. to my understanding this topic boils down to "do we have enough volunteers for that?"
On 1/28/25 7:58 AM, George Rawlinson wrote: Hi George, Thanks for sharing thoughts!
If I remember correctly, this was suggested before and shot down because WSL is its own can of beans, and mainly because having this “official” implies that we will “support” this in the way of bug reports etc etc.
WSL has come a long way since then, and it's way less its own can of beans that it once was. Since WSL2, this basically consists of running a container image. Actually, as I said in my initial mail, our current base container image is already usable _as-is_ with WSL2. Providing a WSL specific image is solely to bring a slightly better experience out of the box. As such, since the design and usage will be pretty similar, I think we could provide the same level of support that we provide for our OCI images and Arch boxes (whatever that level is, I'm actually not sure to which level we provide support for those to be honest). If anything, I'm personally totally fine "officially" distributing WSL images while still providing limited support for it! Just to make things clear, WSL1 would be out of scope / unsupported.
My feelings remain the same, I have zero interest in spending time on any WSL related issues.
Fair enough. As I said though, WSL has come a long way since the last time this was brought up and I don't expect much WSL specific issues or "common" packages to behave differently then on our Docker image or an x86_64 host (at least from my own experience). For what it's worth, I have been using both Arch (via an unofficial image) and Debian on WSL for the past few years as development environments for my day job. Apart from a few eventual issues regarding the `systemd` support (which, if I remember correctly, were all upstream WSL issues and not specific to Arch), I don't remember facing much (if not any) issues specific to WSL, or issues that I wouldn't face on our Docker image or an x86_64 host. Again, in terms of usage & behavior, it should be pretty similar to our official Docker image nowadays. As I said earlier though, I'm totally fine supporting this at a best effort / limited level if anything. I understand the concern about dealing with WSL related issues. While I don't expect much of them, asking package maintainers to spend time on WSL related issues is not the aim, indeed. I guess every bug report related to WSL can be contained in the related repo? Thanks again for sharing thoughts :) -- Regards, Robin Candau / Antiz
On Tue, Jan 28, 2025 at 12:59:05AM +0100, Robin Candau wrote:
Hi everyone,
Hello Robin and others. I support this idea. And if you need any help, then I am ready to spend my time on WSL
I'm writing this mail to collect thoughts and interests about providing an official Arch Linux image for WSL (Windows Subsystem for Linux) [1].
Indeed, after a quick related discussion over on IRC, I started tinkering with this and I personally would be eventually interested in proposing this "officially", if that's of interest.
This proposal is inspired by the related Fedora one [2] (which was accepted and planned for Fedora 42).
# Benefits
An official Arch Linux image for WSL would provide an easy way for people to give Arch Linux a try directly from their Windows system, making our distro more "discoverable" and accessible.
Additionally, some people may have no other choice but to use Windows in specific situations (despite not necessarily being the best choice for their needs / duties), e.g. on their company's workstation (like it's the case for me). While WSL consists of an acceptable solution to get access to a Linux environment in such situations, the lack of an official image for Arch Linux either "suggests" the use of a different distribution or "forces" people to rely on unofficial Arch Linux WSL images (which quality may vary).
# Distribution / Installation
WSL images can be distributed via tarballs, Appx packages, or via the Windows Store.
From what we know, distributing images from the Windows Store implies agreeing to the store policies & developer agreement, and may imply additional eventual concerns related to TOS/EULA. I unfortunately don't have much details on that front currently but I think that distribution from the Windows Store should be out of scope for now.
Moreover, since version 2.4.4, WSL greatly improved the way to install tarballs outside from the store by adding "click-to-install" support for tarballs using the ".wsl" extension, as well as automatic first setup script support. As such, I would personally advice for that distribution method for the time being. Indeed, downloading such an Arch Linux ".wsl" tarball and (double) clicking on it would be all that's needed to be able to use Arch Linux with WSL. Note that WSL 2.4.4 and greater are still qualified as pre-releases at the time I'm writing those lines [3], but can still be installed with a single command line from a PowerShell prompt (`wsl --update --pre-release` from a system with WSL2 installed).
If anything, installing such tarballs from WSL prior to 2.4.4 can still be done "manually" via a single command line (`wsl --import <DistroName> <InstallationPath> <TarballPath>`). With a proper documentation, using Arch Linux with WSL prior to 2.4.4 would still be pretty straightforward.
# Technical details
WSL2 provides a single virtual machine managed by the Windows host which runs guest Linux distributions as containers. As such, the Arch Linux base container image [4] can already be used for basic WSL support.
To define some default parameters and provide additional functionalities, some specific WSL configuration files can be added to it. This, for instance, allows to add `systemd` support out of the box [5], define default parameters (e.g. default user, icon for the app shortcut or terminal profile) and automatic first setup script (which can be used to create a default non-root user and perform basic system setup interactively at first run for instance) [6].
The archive just needs to be renamed from ".tar.zst" to ".wsl" to allow "click-to-install" with WSL >= 2.4.4.
For those interested, I actually "built" such a ".wsl" Arch Linux tarball [7] based on our latest base container image which can be installed & uses with WSL2 (made for test purposes). Make sure to read the README [8], which contains important information such as how the tarball was generated and how to use it.
# Tarball maintenance / management
Given that the WSL tarball would be based on our Docker / Container image, it could eventually be maintained in the same repo [4], although I'm not sure that mixing a WSL specific image with our "Docker" images is desirable.
We also have the arch-boxes repo [9] which provides multiple kind of Arch images (vagrant, qcow2, cloud...). I think a WSL image could fit well there.
Alternatively, a new dedicated repo could be created.
When it comes to actual maintenance / management, I think the image generation and releasing should be fairly easy to automate via a scheduled GitLab CI (as it is currently done for our Docker images for instance). The process is fairly straightforward (grab latest base Docker image / tarball, un-archive it, add a few WSL specific files, re-archive it, rename it from ".tar.zst" to ".wsl"). I guess a monthly generation / release would be more than enough. We would still need a few people to watch over and feel responsible to maintain this. I'd happily be one of them, but please feel free to express interest :)
# Unresolved questions / issues
From a purely technical stand point, there is one pending issue which, fortunately, can be easily worked around. But the actual root cause and proper fix are unknown yet. See the last section of the README [8] for more details.
On another level, I guess the important point here is to determine if we actually want this and, if so, how? For instance, which level of support do we want to provide (if we are to do this)? Since it would be pretty close in terms of "design" and usage, I personally think we could provide a similar level of support than the Docker images & Arch boxes images.
Anyway, sorry for the long read 0:) Just to clarify, the actual purpose of this mail is to collect thoughts, concerns, questions, interests (both regarding using such an "official" Arch Linux WSL image and / or helping maintaining it), ... Please, share opinions if you have some :)
[1] https://learn.microsoft.com/en-us/windows/wsl/about [2] https://fedoraproject.org/wiki/Changes/FedoraWSL [3] https://github.com/microsoft/WSL/releases [4] https://gitlab.archlinux.org/archlinux/archlinux-docker [5] https://devblogs.microsoft.com/commandline/systemd-support-is-now-available-... [6] https://learn.microsoft.com/en-uisns/windows/wsl/build-custom-distro#add-the... [7] https://pkgbuild.com/~antiz/WSL/ [8] https://pkgbuild.com/~antiz/WSL/README.md [9] https://gitlab.archlinux.org/archlinux/arch-boxes
-- Regards, Robin Candau / Antiz
-- Sincerely, Alexander | Package Maintainer
On 1/28/25 9:50 AM, Alexander Epaneshnikov wrote:
On Tue, Jan 28, 2025 at 12:59:05AM +0100, Robin Candau wrote:
Hi everyone,
Hello Robin and others.
I support this idea. And if you need any help, then I am ready to spend my time on WSL
Hey Alexander, Alright! Thanks for sharing interest :)
I'm writing this mail to collect thoughts and interests about providing an official Arch Linux image for WSL (Windows Subsystem for Linux) [1].
Indeed, after a quick related discussion over on IRC, I started tinkering with this and I personally would be eventually interested in proposing this "officially", if that's of interest.
This proposal is inspired by the related Fedora one [2] (which was accepted and planned for Fedora 42).
# Benefits
An official Arch Linux image for WSL would provide an easy way for people to give Arch Linux a try directly from their Windows system, making our distro more "discoverable" and accessible.
Additionally, some people may have no other choice but to use Windows in specific situations (despite not necessarily being the best choice for their needs / duties), e.g. on their company's workstation (like it's the case for me). While WSL consists of an acceptable solution to get access to a Linux environment in such situations, the lack of an official image for Arch Linux either "suggests" the use of a different distribution or "forces" people to rely on unofficial Arch Linux WSL images (which quality may vary).
# Distribution / Installation
WSL images can be distributed via tarballs, Appx packages, or via the Windows Store.
From what we know, distributing images from the Windows Store implies agreeing to the store policies & developer agreement, and may imply additional eventual concerns related to TOS/EULA. I unfortunately don't have much details on that front currently but I think that distribution from the Windows Store should be out of scope for now.
Moreover, since version 2.4.4, WSL greatly improved the way to install tarballs outside from the store by adding "click-to-install" support for tarballs using the ".wsl" extension, as well as automatic first setup script support. As such, I would personally advice for that distribution method for the time being. Indeed, downloading such an Arch Linux ".wsl" tarball and (double) clicking on it would be all that's needed to be able to use Arch Linux with WSL. Note that WSL 2.4.4 and greater are still qualified as pre-releases at the time I'm writing those lines [3], but can still be installed with a single command line from a PowerShell prompt (`wsl --update --pre-release` from a system with WSL2 installed).
If anything, installing such tarballs from WSL prior to 2.4.4 can still be done "manually" via a single command line (`wsl --import <DistroName> <InstallationPath> <TarballPath>`). With a proper documentation, using Arch Linux with WSL prior to 2.4.4 would still be pretty straightforward.
# Technical details
WSL2 provides a single virtual machine managed by the Windows host which runs guest Linux distributions as containers. As such, the Arch Linux base container image [4] can already be used for basic WSL support.
To define some default parameters and provide additional functionalities, some specific WSL configuration files can be added to it. This, for instance, allows to add `systemd` support out of the box [5], define default parameters (e.g. default user, icon for the app shortcut or terminal profile) and automatic first setup script (which can be used to create a default non-root user and perform basic system setup interactively at first run for instance) [6].
The archive just needs to be renamed from ".tar.zst" to ".wsl" to allow "click-to-install" with WSL >= 2.4.4.
For those interested, I actually "built" such a ".wsl" Arch Linux tarball [7] based on our latest base container image which can be installed & uses with WSL2 (made for test purposes). Make sure to read the README [8], which contains important information such as how the tarball was generated and how to use it.
# Tarball maintenance / management
Given that the WSL tarball would be based on our Docker / Container image, it could eventually be maintained in the same repo [4], although I'm not sure that mixing a WSL specific image with our "Docker" images is desirable.
We also have the arch-boxes repo [9] which provides multiple kind of Arch images (vagrant, qcow2, cloud...). I think a WSL image could fit well there.
Alternatively, a new dedicated repo could be created.
When it comes to actual maintenance / management, I think the image generation and releasing should be fairly easy to automate via a scheduled GitLab CI (as it is currently done for our Docker images for instance). The process is fairly straightforward (grab latest base Docker image / tarball, un-archive it, add a few WSL specific files, re-archive it, rename it from ".tar.zst" to ".wsl"). I guess a monthly generation / release would be more than enough. We would still need a few people to watch over and feel responsible to maintain this. I'd happily be one of them, but please feel free to express interest :)
# Unresolved questions / issues
From a purely technical stand point, there is one pending issue which, fortunately, can be easily worked around. But the actual root cause and proper fix are unknown yet. See the last section of the README [8] for more details.
On another level, I guess the important point here is to determine if we actually want this and, if so, how? For instance, which level of support do we want to provide (if we are to do this)? Since it would be pretty close in terms of "design" and usage, I personally think we could provide a similar level of support than the Docker images & Arch boxes images.
Anyway, sorry for the long read 0:) Just to clarify, the actual purpose of this mail is to collect thoughts, concerns, questions, interests (both regarding using such an "official" Arch Linux WSL image and / or helping maintaining it), ... Please, share opinions if you have some :)
[1] https://learn.microsoft.com/en-us/windows/wsl/about [2] https://fedoraproject.org/wiki/Changes/FedoraWSL [3] https://github.com/microsoft/WSL/releases [4] https://gitlab.archlinux.org/archlinux/archlinux-docker [5] https://devblogs.microsoft.com/commandline/systemd-support-is-now-available-... [6] https://learn.microsoft.com/en-uisns/windows/wsl/build-custom-distro#add-the... [7] https://pkgbuild.com/~antiz/WSL/ [8] https://pkgbuild.com/~antiz/WSL/README.md [9] https://gitlab.archlinux.org/archlinux/arch-boxes
-- Regards, Robin Candau / Antiz
-- Sincerely, Alexander | Package Maintainer
-- Regards, Robin Candau / Antiz
Forwarding Allan's mail at his request, and answering it :) On 1/28/25 9:23 AM, Allan McRae wrote:
Hi Robin,
Hi Allan,
Can you forward this to arch-dev-public? I am not subscribed.
I have been using Arch almost exclusively in WSL for the past months. My Arch machine died and I have not replaced it yet, so WSL on the work laptop is what I have to work with. All pacman development currently happens on WSL!
It does bring its own set of problems, so we would need to have a clear support policy of what is an Arch issue, and what is a WSL issue. Often that is not clear!
Things I have noted:
1) Importing from the docker image is good, but it strips a lot of files (i.e. all documentation). It took me ages to work out why there was no man pages! I do not think a WSL install should do that.
I guess we could install `man-db` as part of the "first setup" script.
2) Logging in a root, setting up the user, the re-logging is not much of a barrier to using Arch, so I do not think we need to automatically set that up.
Sure, that was just to illustrate how distributions usually use the automatic "first setup" script but we can use it the way we want of course.
3) I do not enable systemd boot. I'm not sure what that causes me to miss, but it does result in some errors on pacman upgrades from hooks, so enabling is likely a sane default.
This is about enabling systemd support within your WSL distro, allowing to enable / start services via systemctl. Pretty handy!
4) I use WSL version: 2.3.26.0. I'm not sure why your notes say to use a pre-release version
Version >= 2.4.4 brings support for "click-to-install" and automatic "first setup" script execution, which greatly simplify and improve the "installation" user experience (hence why I mentioned it). But this is not mandatory, such a tarball would still be pretty straightforward to install and use with WSL < 2.4.4. A single PowerShell command is enough to install and the "first setup" script would need to be launched "manually" at the first run, that's all.
As an example of a WSL specific bug, I battled for days with xfce4- terminal settings. Any settings done in the settings manager are not saved. I could not even get them to work by manually editing config files in ~/.config/.... I work around this by having my taskbar launcher point to:
"C:\Program Files\WSL\wslg.exe" -d arch --cd "~" -- xfce4-terminal -- font="Bitsream Vera Sans Mono 15"
This may be due to lack of systemd boot (and thus dbus?).
Also, getting click-through of hyperlinks from the terminal to a (Windows) system browser was a pain. I need a symlink ~/bin/firefox to '/mnt/c/Program Files/Mozilla Firefox/firefox.exe' and a custom ~/.local/share/xfce4/helpers/custom-WebBrowser.desktop file. Even then, I needed xfce4-settings installed for this to be recognised (even though changing settings there does nothing!).
Ah, right. Thanks for bringing those up. I am myself only using WSL inside the default "terminal" environment and I personally do not export X11 or using any graphical environment / apps with it. So those are eventual issues I never had to deal with. But that's a fair point. While I said in my earlier answer to George that I don't expect much WSL specific issues nowadays, exporting / using graphical apps could indeed bring its own fair share of potential issues. Although, I guess most of them would not be Arch specific and probably `wslg` (upstream) related?
I have been keeping notes about my setup here: https://gitlab.archlinux.org/allan/wsl
Thanks for the share!
My conclusion is, WSL is definitely a useful tool, but brings its own issues. Do we have the people-power or community to support it?
That's basically what I'm looking for with this proposal. Maintaining the image itself would probably be a low effort but, indeed, gathering interest from some people (community included) around supporting it would be a prerequisite. As I said to George in my response as well, I'm personally fine if we only officially provide low / limited support for it though, at least at first.
Cheers, Allan
Thanks for sharing good insight! -- Regards, Robin Candau / Antiz
On 1/28/25 9:58 AM, Robin Candau wrote:
On 1/28/25 9:23 AM, Allan McRae wrote:
1) Importing from the docker image is good, but it strips a lot of files (i.e. all documentation). It took me ages to work out why there was no man pages! I do not think a WSL install should do that.
I guess we could install `man-db` as part of the "first setup" script.
Or rather, ship a modified pacman.conf accordingly in the tarball and (re-)install / run whatever is necessary afterwards from the first setup script. -- Regards, Robin Candau / Antiz
On 28.01.25 at 10:21 (UTC+0100), Robin Candau wrote:
On 1/28/25 9:58 AM, Robin Candau wrote:
On 1/28/25 9:23 AM, Allan McRae wrote:
1) Importing from the docker image is good, but it strips a lot of files (i.e. all documentation). It took me ages to work out why there was no man pages! I do not think a WSL install should do that.
I guess we could install `man-db` as part of the "first setup" script.
Or rather, ship a modified pacman.conf accordingly in the tarball and (re-)install / run whatever is necessary afterwards from the first setup script.
The problem is not a missing man-db package, but these NoExtract definitions: https://gitlab.archlinux.org/archlinux/archlinux-docker/-/blob/master/pacman... This calls for a separate base image for WSL rather than reinstalling everything as part of the first-setup script.
Le 28 janvier 2025 12:40:04 GMT+01:00, "Jakub Klinkovský" <lahwaacz@archlinux.org> a écrit :
On 28.01.25 at 10:21 (UTC+0100), Robin Candau wrote:
On 1/28/25 9:58 AM, Robin Candau wrote:
On 1/28/25 9:23 AM, Allan McRae wrote:
1) Importing from the docker image is good, but it strips a lot of files (i.e. all documentation). It took me ages to work out why there was no man pages! I do not think a WSL install should do that.
I guess we could install `man-db` as part of the "first setup" script.
Or rather, ship a modified pacman.conf accordingly in the tarball and (re-)install / run whatever is necessary afterwards from the first setup script.
The problem is not a missing man-db package, but these NoExtract definitions:
https://gitlab.archlinux.org/archlinux/archlinux-docker/-/blob/master/pacman...
Indeed, this is why I mentionned shipping a modified pacman.conf accordingly afterwards. Thanks!
This calls for a separate base image for WSL rather than reinstalling everything as part of the first-setup script.
Sure. Using the Docker image as a base provided an easy & straightforward path for tinkering with it during my test, but if a separate / dedicated base image for WSL turns out to be more appropriate, that's fine by me :) Regards, Robin Candau / Antiz
Hi, On 28/01/2025 00:59, Robin Candau wrote:
Hi everyone,
I'm writing this mail to collect thoughts and interests about providing an official Arch Linux image for WSL (Windows Subsystem for Linux) [1].
Indeed, after a quick related discussion over on IRC, I started tinkering with this and I personally would be eventually interested in proposing this "officially", if that's of interest.
This proposal is inspired by the related Fedora one [2] (which was accepted and planned for Fedora 42).
As I think I brought it up in #archlinux-devops I'll reply :) I have concerns with putting a WSL image into the official store but I am fine with us offering an easy way to setup WSL. Personally I have no interest in WSL but I think it would be cool and I would support this. Greetings, Jelle
On 1/28/25 10:20 AM, Jelle van der Waa wrote:
Hi,
Hey Jelle,
On 28/01/2025 00:59, Robin Candau wrote:
Hi everyone,
I'm writing this mail to collect thoughts and interests about providing an official Arch Linux image for WSL (Windows Subsystem for Linux) [1].
Indeed, after a quick related discussion over on IRC, I started tinkering with this and I personally would be eventually interested in proposing this "officially", if that's of interest.
This proposal is inspired by the related Fedora one [2] (which was accepted and planned for Fedora 42).
As I think I brought it up in #archlinux-devops I'll reply :)
Haha, yeah that's your fault! 0:)
I have concerns with putting a WSL image into the official store but I am fine with us offering an easy way to setup WSL.
I share concerns about distributing images into the official store FWIW.
Personally I have no interest in WSL but I think it would be cool and I would support this.
Good to know, thanks for sharing thoughts! :)
Greetings,
Jelle
-- Regards, Robin Candau / Antiz
On Tue, Jan 28, 2025 at 10:20:15AM +0100, Jelle van der Waa wrote:
I have concerns with putting a WSL image into the official store but I am fine with us offering an easy way to setup WSL.
Speaking of the store, wasn't a previous attempt by shibumi to do this get blocked on some sort of store sheananigans? I think it'd be useful to pull that context up. -S
Excerpts from Santiago Torres-Arias's message of janeiro 28, 2025 2:20 pm:
On Tue, Jan 28, 2025 at 10:20:15AM +0100, Jelle van der Waa wrote:
I have concerns with putting a WSL image into the official store but I am fine with us offering an easy way to setup WSL.
Speaking of the store, wasn't a previous attempt by shibumi to do this get blocked on some sort of store sheananigans? I think it'd be useful to pull that context up.
-S
The context was that the wording of the Microsoft Store was ambiguous and it would mean they would have rights over the Arch Linux trademark. Now that WSL provides an easy way to install off store, I see no reasons why Arch shouldn't have an image. Regards, Giancarlo Razzolini
On 27/01/2025 23:59, Robin Candau wrote:
Hi everyone,
I'm writing this mail to collect thoughts and interests about providing an official Arch Linux image for WSL (Windows Subsystem for Linux) [1].
Hello, Thanks for bringing this up for discussion. My experience with WSL is limited as my company moved to AWS Workspaces for development and eventually to MacOs as host. My 2c from the time I used it in a corporate environment was that with all the bloatware that companies install into the OS and the extra layer that WSL brings on top, the performance on IOps was really poor. It could be specific to the bloatware that the companies (experienced that in two companies) install (call it security tools), but I had occasions where simple operations like `git rebase` multiple commits would end up git complaining that the files are locked (cause everything that was accessed in IO it needed to be scanned in real time, cause again "security"). The added WSL layer of files was making that more difficult to have a real `metal` IO performance. I understand this is probably edge case for most common usage. Overall though I think it's a good idea to have WSL Arch Linux images, but alas without a windows system I won't be able to support this personally (not even work laptop). Cheers, -- Leonidas Spyropoulos Developer & DevOps PGP: 59E43E106B247368 244740D17C7FD0EC
On 1/28/25 11:52 AM, Leonidas Spyropoulos wrote:
On 27/01/2025 23:59, Robin Candau wrote:
Hi everyone,
I'm writing this mail to collect thoughts and interests about providing an official Arch Linux image for WSL (Windows Subsystem for Linux) [1].
Hello,
Hey,
Thanks for bringing this up for discussion.
You're welcome 🙂
My experience with WSL is limited as my company moved to AWS Workspaces for development and eventually to MacOs as host.
My 2c from the time I used it in a corporate environment was that with all the bloatware that companies install into the OS and the extra layer that WSL brings on top, the performance on IOps was really poor. It could be specific to the bloatware that the companies (experienced that in two companies) install (call it security tools), but I had occasions where simple operations like `git rebase` multiple commits would end up git complaining that the files are locked (cause everything that was accessed in IO it needed to be scanned in real time, cause again "security"). The added WSL layer of files was making that more difficult to have a real `metal` IO performance.
I understand this is probably edge case for most common usage.
Thanks for sharing your experience. Maybe edge cases indeed, at least mine is different, I didn't suffer too much from such IO performance issue. I assume most common usage wouldn't suffer from this, but that's still a valuable input 🙂
Overall though I think it's a good idea to have WSL Arch Linux images, but alas without a windows system I won't be able to support this personally (not even work laptop).
Thanks for sharing thoughts! Indeed, support requires access to a Windows system. On my side, I have my work laptop. Also my wife is still running Windows on her PC, so I could eventually access that if needed :p For what it's worth, wsl2 can be installed / executed from a Windows VM as well, as far as I know. In any case, I think it would be great to get some community involvement regarding support. I have a few people that already expressed their interest to me off-list, both in terms of usage and helping with support :D
Cheers,
-- Regards, Robin Candau / Antiz
On 1/28/25 12:59 AM, Robin Candau wrote:
Anyway, sorry for the long read 0:) Just to clarify, the actual purpose of this mail is to collect thoughts, concerns, questions, interests (both regarding using such an "official" Arch Linux WSL image and / or helping maintaining it), ... Please, share opinions if you have some :)
I'd also be fine with this. I had a really bad experience with WSL1 because of the number of bogus bug reports I got, but since WSL2 things seem better. Arch Linux has a very extensive collection of software, I think it's incredibly useful, even on non-Arch Linux computers. I think considering WSL related bug reports as low priority is very acceptable, and treat it more like a best-effort project instead of blocking it outright. cheers, kpcyrd
On 1/28/25 1:45 PM, kpcyrd wrote:
On 1/28/25 12:59 AM, Robin Candau wrote:
Anyway, sorry for the long read 0:) Just to clarify, the actual purpose of this mail is to collect thoughts, concerns, questions, interests (both regarding using such an "official" Arch Linux WSL image and / or helping maintaining it), ... Please, share opinions if you have some :)
I'd also be fine with this. I had a really bad experience with WSL1 because of the number of bogus bug reports I got, but since WSL2 things seem better.
Hey :) Thanks for sharing thoughts. Indeed WSL2 is a massive improvement compared to WSL1. Again, just to make things clear for everyone, WSL1 is out of the scope of this proposal. I'm only targeting support for WSL2.
Arch Linux has a very extensive collection of software, I think it's incredibly useful, even on non-Arch Linux computers.
I think so too.
I think considering WSL related bug reports as low priority is very acceptable, and treat it more like a best-effort project instead of blocking it outright.
I would be fine with this as well.
cheers, kpcyrd
-- Regards, Robin Candau / Antiz
On 1/28/25 12:59 AM, Robin Candau wrote:
Hi everyone,
I'm writing this mail to collect thoughts and interests about providing an official Arch Linux image for WSL (Windows Subsystem for Linux) [1].
Hey, After only a few days, this proposal has generated quite some attractions with a majority of positive feedback, both from users and staff! Interest for an official Arch Linux WSL image is *nearly* unanimous so far (at the moment, this thread only received one answer expressing no interest) and multiple people shared that they are already using WSL (with or without Arch Linux as a distribution) which gives legitimacy to this proposal. I'm also very happy to see that some staff members agreed on supporting such an image and that multiple people (including staff members and users from the community) offered their help, both regarding maintenance and support! :D I guess the one major remaining question is the level of support we would provide for this. As I said multiple time in this thread (and as approved by multiple staff members as well), I think it's totally reasonable to provide a limited / best effort support and consider WSL related bug reports a low priority for now. As suggested by the answers I got so far, I eventually expect some users from the community to jump in regarding support / bug reports handling (if anyone else from the community would eventually be up to help with support, please reach out)! Regarding maintenance and distribution, I took the time to set up a GitLab repository [1] (under my own namespace, please read the DISCLAIMER at the top of the README) to tinker a bit with automated image building & publishing and I think it's already pretty close from a first iteration goal: The repository contains every scripts and files needed to create a WSL image for Arch Linux (built from scratch, it's not based on the Docker rootfs tarball anymore). Images are automatically built monthly and published in the package registry via GitLab CI schedule [2]. The pipeline also automatically creates a tag and a related release containing the image (and a checksum file) as release assets [3]. The repository also contains documentation on how to build your own image [4], which is pretty straightforward. The image provides out of the box `systemd` support, a first setup script (currently mostly showing a bit of documentation to the user at the first run), a default shortcut icon and a default terminal profile. It can already be installed & used with WSL2, as described in the (semi) manual installation instructions [5] (still pretty straightforward). The automated install method [6] is documented but not yet functional. This requires opening a pull request to add the Arch Linux image to the official list of distributions supported by WSL out of the box [7], which I intend to do if this proposal get through. Note that it would require opening pull requests to the microsoft/WSL repository regularly to update the image URL and checksum (e.g. once a month if we follow the current release schedule) but that can be automated, as it's currently done for our Docker image. After a second thought, I think it would be beneficial to have a separate / dedicated repository for WSL images. Indeed, while the overall development and building workflow is pretty close to the one used for Docker images, I don't think WSL images would fit well in the "archlinux-docker" repository [8]. The "arch-boxes" repository [9] could have been a great fit but the development and building workflow differs quite a lot. Keeping WSL images in a separate repository would also bring the benefit to keep every WSL related issues / bug reports in a dedicated space, so people that have no interest in them won't came accros them :) Sorry once again for the long read 0:) All and all, I'm pretty happy about the overall feedback on that proposal and the work done on my "PoC" repository so far! Let's give a bit more time for people to react though. It's only been a few days and a lot of people are currently busy with FOSDEM preparation (by the way, a lot of us will be there, including myself. Come say "hi"!). [1] https://gitlab.archlinux.org/antiz/archlinux-wsl [2] https://gitlab.archlinux.org/antiz/archlinux-wsl/-/pipeline_schedules [3] https://gitlab.archlinux.org/antiz/archlinux-wsl/-/releases/2025.01.29 [4] https://gitlab.archlinux.org/antiz/archlinux-wsl#building-your-own-image [5] https://gitlab.archlinux.org/antiz/archlinux-wsl#manual-install [6] https://gitlab.archlinux.org/antiz/archlinux-wsl#automated-install [7] https://learn.microsoft.com/en-us/windows/wsl/build-custom-distro#adding-you... [8] https://gitlab.archlinux.org/archlinux/archlinux-docker [9] https://gitlab.archlinux.org/archlinux/arch-boxes -- Regards, Robin Candau / Antiz
On 1/29/25 10:15 PM, Robin Candau wrote:
On 1/28/25 12:59 AM, Robin Candau wrote:
Hi everyone,
I'm writing this mail to collect thoughts and interests about providing an official Arch Linux image for WSL (Windows Subsystem for Linux) [1].
[...]
The automated install method [6] is documented but not yet functional. This requires opening a pull request to add the Arch Linux image to the official list of distributions supported by WSL out of the box [7], which I intend to do if this proposal get through.
[...]
Just as a precision, the above isn't related to the Windows store and, as far as I can't tell, doesn't involve any policy agreement or anything that may be a concern for us. -- Regards, Robin Candau / Antiz
participants (10)
-
Alexander Epaneshnikov
-
Andrei Korshikov
-
George Rawlinson
-
Giancarlo Razzolini
-
Jakub Klinkovský
-
Jelle van der Waa
-
kpcyrd
-
Leonidas Spyropoulos
-
Robin Candau
-
Santiago Torres-Arias