From Fedora Project Wiki
Line 58: Line 58:


* Add a WSL variant to https://src.fedoraproject.org/rpms/fedora-release/
* Add a WSL variant to https://src.fedoraproject.org/rpms/fedora-release/
* Provide a [https://learn.microsoft.com/en-us/windows/wsl/build-custom-distro#add-the-wsl-distribution-configuration-file WSL configuration file and out-of-the-box experience script]
* Create a [https://pagure.io/fedora-kiwi-descriptions/ Kiwi definition] to produce a WSL root filesystem tarball.
* Create a [https://pagure.io/fedora-kiwi-descriptions/ Kiwi definition] to produce a WSL root filesystem tarball.
* Write documentation on how to use the tarball with WSL.
* Write documentation on how to use the tarball with WSL.
 
* Add our images to the [https://learn.microsoft.com/en-us/windows/wsl/build-custom-distro#adding-your-distribution-to-wsl---install-for-all-wsl-users WSL distribution list] so users can install it with the "wsl --install Fedora" command.
In future changes, we can build on this change to enable a smoother user experience. It is possible to distribute WSL distributions as Windows Appx packages. These are composed of the root filesystem tarball along with a Windows executable to handle setting up the distribution automatically, enabling users to install the Fedora WSL environment with a few clicks.


== Feedback ==
== Feedback ==

Revision as of 19:51, 26 November 2024


Create Fedora Windows Subsystem for Linux Images

This is a proposed Change for Fedora Linux.
This document represents a proposed Change. As part of the Changes process, proposals are publicly announced in order to receive community feedback. This proposal will only be implemented if approved by the Fedora Engineering Steering Committee.

Summary

Recent versions of Windows support running Linux guests via Windows Subsystem for Linux (WSL). These can be distributed via tarballs, Appx packages, or via the Windows Store. The purpose of this change is to start producing Fedora images for users of WSL.

Distributing images via the Windows Store requires agreeing to the store policies and developer agreement, which is something Fedora has historically not been comfortable with. This change proposal is to distribute a tarball. In recent versions of WSL (version 2.4.4 and greater), the user experience has been greatly improved for WSL images outside the store. These include allowing tarballs to distribute first-time setup scripts and icons as part of the distribution instead of as a Windows application, as well as click-to-install support for tarballs using the ".wsl" file extension. Therefore, this proposal will work best with version 2.4.4+ of WSL, although documentation will be provided for users on older releases.

Owner


Current status

  • Targeted release: Fedora Linux 42
  • Last updated: 2024-11-26
  • [<will be assigned by the Wrangler> devel thread]
  • FESCo issue: <will be assigned by the Wrangler>
  • Tracker bug: <will be assigned by the Wrangler>
  • Release notes tracker: <will be assigned by the Wrangler>

Detailed Description

Recent versions of Windows support running Linux distributions using Windows Subsystem for Linux (WSL). In the latest version, WSL 2, a single virtual machine is managed by the Windows host and guest Linux distributions run as containers within it. For basic WSL support, Fedora needs to distribute a root filesystem tarball. The Fedora base container can already be used with WSL, but it is not ideal as it intentionally excludes documentation and non-essential tools. There also isn't official documentation on how to use it with WSL.

The goal of this change is to complete the following:

Feedback

Benefit to Fedora

A dedicated image with documentation allows people to easily try out a Fedora environment from their Windows installations. When it comes time to install a Linux distribution on their computer, they can be more confident when choosing Fedora.

Scope

  • Proposal owners:
  • Other developers:
  • Policies and guidelines: N/A (not needed for this Change)
  • Trademark approval: N/A (not needed for this Change)
  • Alignment with Community Initiatives:

Upgrade/compatibility impact

How To Test

  1. Have access to a Windows 10 or 11 installation (VMs should work)
  2. On the Windows host, download the WSL tarball from <somewhere>
  3. Open up a Windows terminal and install WSL itself with "wsl --install"
  4. Import the WSL tarball with "wsl --import Fedora C:\Users\<username>\AppData\Local\WSL\Fedora .\Path\To\Fedora.x86_64.tar.xz"
  5. Enter the environment with "wsl -d Fedora"
  6. Install some applications, start some services, see if things fall over.

User Experience

Dependencies

Contingency Plan

  • Contingency mechanism: (What to do? Who will do it?) Don't ship the tarball
  • Contingency deadline: N/A (not a System Wide Change)
  • Blocks release? No

Documentation

Add a section somewhere in https://docs.fedoraproject.org/ (perhaps quick docs) with a short guide on installing the tarball.

Release Notes