From Fedora Project Wiki
 
Line 142: Line 142:


<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
There are two major variables to test with this change. The first is the versions of Windows, and the second is the version of WSL. The expectation is that both Windows 10 and Windows 11 should work, assuming they're up-to-date. For WSL, version 2.4.4 or greater is required for the simple installation experience. Older versions will work as well, but require some manual first-time setup.


For WSL versions 2.4.4+:
For WSL versions 2.4.4+:


# Have access to a Windows installation with WSL 2.4.4+
# Have access to a Windows installation with WSL 2.4.4+
# Run "wsl --install Fedora"
# Download the Fedora WSL tarball
# From the command line, install the tarball with "wsl --install --from-file .\path\to\Fedora.tar.xz"
# Enter the environment by running "wsl -d Fedora"
# Enter the environment by running "wsl -d Fedora"
# Use the interactive out-of-the-box experience script to set up a new user
# Use the interactive out-of-the-box experience script to set up a new user

Latest revision as of 16:20, 6 December 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-12-06
  • Announced
  • Discussion 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:

Optionally, we can include a section on fedoraproject.org to ensure users can discover our WSL image.

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:
  • 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

There are two major variables to test with this change. The first is the versions of Windows, and the second is the version of WSL. The expectation is that both Windows 10 and Windows 11 should work, assuming they're up-to-date. For WSL, version 2.4.4 or greater is required for the simple installation experience. Older versions will work as well, but require some manual first-time setup.

For WSL versions 2.4.4+:

  1. Have access to a Windows installation with WSL 2.4.4+
  2. Download the Fedora WSL tarball
  3. From the command line, install the tarball with "wsl --install --from-file .\path\to\Fedora.tar.xz"
  4. Enter the environment by running "wsl -d Fedora"
  5. Use the interactive out-of-the-box experience script to set up a new user
  6. Install some applications, start some services, see if things fall over.

For WSL versions prior to 2.4.4:

  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 $ENV:LOCALAPPDATA\WSL\Fedora .\Path\To\Fedora.x86_64-Rawhide.tar.xz"
  5. Enter the environment with "wsl -d Fedora -u root"
  6. manually execute the interactive out-of-the-box experience script to set up a new user with "/usr/libexec/wsl/oobe.sh"
  7. exit the environment logged in as root
  8. Enter the environment as the newly created user with "wsl -D Fedora -u <username>"
  9. 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. This will cover both older versions of WSL which require more manual steps as well as the newer, easier method of installation.

Release Notes