Create Fedora Windows Subsystem for Linux Images
Summary
Recent versions of Windows support running Linux guests via Windows Subsystem for Linux (WSL). Distributions can be distributed in the Windows Store, or as tarballs or Appx files for users to download and install. The purpose of this change is to start producing Fedora images for users of WSL.
Owner
- Name: Jeremy Cline
- Name: Cloud SIG
- Email: jeremy@jcline.org
Current status
- Targeted release: Fedora Linux 41
- Last updated: 2024-03-25
- [<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 does not include documentation and non-essential tools. There also isn't official documentation on how to use it.
In addition to distributing a plain tarball, it is possible to distribute Windows Appx packages that contain a distribution. An Appx package is a zip that contains an executable, data files, and package metadata. In the case of a WSL package, this includes the tarball mentioned above, some standard metadata describing the package, and an executable that can provide first-time setup and a shortcut for entering the environment. OpenSUSE has taken the Microsoft example executable and forked it to be build-able with autotools here. With that executable we can configure Kiwi, which already builds the cloud images, to produce an Appx package as well.
Feedback
Benefit to Fedora
A dedicated image with documentation lets users of WSL try out Fedora with minimal effort.
Scope
- Proposal owners:
- Other developers:
- Release engineering: #Releng issue number
- 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
User Experience
Dependencies
Contingency Plan
- Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
- Contingency deadline: N/A (not a System Wide Change)
- Blocks release? N/A (not a System Wide Change), Yes/No
Documentation
N/A (not a System Wide Change)