From Fedora Project Wiki

m (Patricklang moved page Test Day:2014-02-17 WSL to Test Day:2025-02-17 WSL)
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
(This page is a work in progress, we are still working on a date and will open a test day ticket within the next week)


= Description =
{{Infobox_group
| name = '''WSL'''
| image = [[File:test-days-banner.svg|300px|link=QA/Test Days]]
| date = '''2025-02-17'''
<!-- The testdays app will parse this, so please make sure to have it in format 'date = YYYY-MM-DD' or 'date = YYYY-MM-DD to YYYY-MM-DD' -->
| time = all day
| website = [[QA/Test Days]]
| matrix = {{matrix|#test-day:fedoraproject.org}} , {{matrix|#cloud:fedoraproject.org}}
| fedora_mailing_list = test
}}
 
{{admon/note | Can't make the date? | If you come to this page after the test day is completed, your testing is still valuable, and you can use the information on this page to test, file any bugs you find, and add your results to the results section. If this page is more than a month old when you arrive here, please check the [[QA/Test_Days|current schedule]] and see if a similar but more recent Test Day is planned or has already happened.}}
 
== What to test? ==
 
This [[QA/Test Days|Test Day]] will focus on running Fedora 42 in WSL.


In Fedora 42, a new image is being built for use with [https://learn.microsoft.com/en-us/windows/wsl/ Windows Subsystem for Linux] (commonly referred to as WSL). This will allow users to have a simple, easy to set up Fedora environment for development and testing use.
In Fedora 42, a new image is being built for use with [https://learn.microsoft.com/en-us/windows/wsl/ Windows Subsystem for Linux] (commonly referred to as WSL). This will allow users to have a simple, easy to set up Fedora environment for development and testing use.
Line 10: Line 24:




= Setup =
== Who's available ==
 
The following cast of characters will be available testing, workarounds, bug fixes, and general discussion:
* Development - [[User:jcline|jcline]] (Jeremy Cline), [[User:patricklang|patricklang]] (Patrick Lang)
* Quality Assurance - [[User:patricklang|patricklang]] (Patrick Lang)
* Documentation - [[User:davdunc|davdunc]] (David Duncan)
 
You can chat with us on [https://docs.fedoraproject.org/en-US/project/communications/ Matrix]. See the infobox on top of the page to learn where to join.


== Prerequisites ==
== Prerequisite for Test Day ==  


* Windows 11 (recommended). Windows 10 may work, but is not a focus as it will be [https://www.microsoft.com/en-us/windows/end-of-support end-of-life soon]
* Windows 11 (recommended), amd64 or arm64. Windows 10 may work, but is not a focus as it will be [https://www.microsoft.com/en-us/windows/end-of-support end-of-life soon]
* Virtualization extensions must be available. If you are testing in a VM - be sure this is enabled in your VM settings. Some cloud services restrict this to specific instance types.
* Virtualization extensions must be available. If you are testing in a VM - be sure this is enabled in your VM settings. Some cloud services restrict this to specific instance types.




== Installing WSL ==
=== Install WSL on Windows 11 ===


Setting up WSL is pretty simple. `wsl --install` will enable the hypervisor prerequisites, and prompt for reboot if needed. If a reboot is needed, you may need to run `wsl --install` a second time after reboot.  (TODO: verify the reboot steps). This will also install a default Ubuntu image. Fedora can be installed in the next step.
Setting up WSL is pretty simple. `wsl --install` will enable the hypervisor prerequisites, and prompt for reboot if needed. If a reboot is needed, you may need to run `wsl --install` a second time after reboot.  (TODO: verify the reboot steps). This will also install a default Ubuntu image. Fedora can be installed in the next step.
Line 24: Line 45:
Full documentation is available at [https://learn.microsoft.com/en-us/windows/wsl/install]
Full documentation is available at [https://learn.microsoft.com/en-us/windows/wsl/install]


=== Installing Fedora in WSL ===


== Installing Fedora ==
==== Downloading the Fedora WSL tarball ====
 
=== Downloading the Fedora WSL tarball ===


TODO: add a specific link, or a publishing page to get the latest tarball
TODO: add a specific link, or a publishing page to get the latest tarball


=== Installing Fedora with wsl.exe ===
==== Installing Fedora with wsl.exe ====


First, check the version of WSL you are using by running `wsl.exe --version`. Follow the steps below based on the version.
First, check the version of WSL you are using by running `wsl.exe --version`. Follow the steps below based on the version.
Line 50: Line 70:
# Manually run `/usr/libexec/wsl/oobe.sh` to create the default user
# Manually run `/usr/libexec/wsl/oobe.sh` to create the default user
# `exit` the environment logged in as root
# `exit` the environment logged in as root
# Enter the environment as the newly created user with `wsl -D Fedora -u <username>`
# Enter the environment as the newly created user with `wsl -d Fedora -u <username>`
 
== How to test? ==
 
<!--
High level details on how a contributor can get involved.  This can include (but not limited to):
* Areas to target with exploratory testing
* Areas to put special focus on
* Links to documentation, if relevant
* How to report the results
Example: https://fedoraproject.org/wiki/Test_Day:2020-02-20_Gnome_3.36_Test_Day#How_to_test.3F
 
If not using the TestDays app, provide a list of test areas or test cases that you'd like contributors to execute. For examples, see https://fedoraproject.org/wiki/Category:Test_Cases . If possible, always include https://fedoraproject.org/wiki/QA:Testcase_Exploratory_Testing among test cases. If using the TestDays app, link the test cases in it.
-->
 
<!--
Visit the '''[http://testdays.fedoraproject.org/events/NUMBER FIXME results page]''' and click on the column title links to see the tests that need to be run: most column titles are links to a specific test case. Follow the instructions there, then enter your results by clicking the ''Enter result'' button for the test.
 
-->
 
A simple regression test suite is available at [[QA:WSL_regression_testing]] that covers some basic usage and configuration.
 
 
Please also see [[QA:WSL_Exploratory_Testing]] for some more ideas outside of the pre-defined test cases.
 
 
== Reporting bugs ==
 
<!--
If there are multiple places where to report bugs (e.g. general GNOME bugs go into upstream GNOME GitLab, and only packaging issues or non-GNOME bugs go to Red Hat Bugzilla), mention it and advise users where to file which issues.
-->
 
Perhaps you've found an already-reported bug. Please look at:
* [https://bugzilla.redhat.com/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&classification=Fedora&component=wsl-setup&product=Fedora&product=Fedora%20EPEL wsl-setup bugs] - for initial user creation & WSL configurations. (Package sources are at: [https://src.fedoraproject.org/rpms/wsl-setup rpms/wsl-setup])
* [https://pagure.io/fedora-kiwi-descriptions/issues fedora-kiwi-descriptions issues] - for feedback & issues related to the preinstalled packages in the WSL package.
 
{{admon/tip | We really need bug reports! | Please note that just mentioning your problem into the comments section on the results page is not very helpful. Very often those problems only happen in specific circumstances, or with specific steps taken. We need the logs and screenshots, and we need to be able to ask you followup questions. Please file bug reports, it's much more useful than a short comment. Thank you!}}
 
When filing the bug, it's very helpful to include:
* WSL & Windows versions, which you can retrieve with <code>wsl.exe --version</code>
* exact steps you've performed (and whether you can reproduce it again)
* screenshots or videos, if applicable
* system journal (log), which you can retrieve by <code>journalctl -b > journal.txt</code>
* all output in a terminal, if started from a terminal
* your system description
 
If you are unsure about exactly how to file the report or what other information to include, just [[#Who's_available|ask us]].


{{QA/Test_Case
Please make sure to link to the bug when submitting your test result, thanks!
|description=This test case ensures that the default user has been created, and that it has been configured for sudo
 
|setup=
 
|actions=
 
# If you already have WSL running in Fedora, `exit`
 
# Run a new Fedora shell by running `wsl.exe -d Fedora` (for WSL 2.4.4+), or `wsl.exe -d Fedora -u <username` (for WSL < 2.4.4)
== Test Results ==
# Verify your username is what you configured with `id -u`
 
# Run `sudo su`, then `id -u` again to confirm you can assume root
Test results will be exported here once the test day is over. See [[#How_to_test?|How to test?]] section for information how to submit results and see the live results.
|results=
 
# Step 3 should return your default username
<!--
# Step 4 should return `root`
If you're not using TestDays app for submitting test results, and want to let users input results directly into wiki, here's an example results table:
}}
{|
! User
! [[QA:Testcase_example_1|Example test 1]]
! [[QA:Testcase_example_2|Example test 2]]
! [[QA:Testcase_example_3|Example test 3]]
! [[QA:Testcase_example_4|Example test 4]]
! References
|-
| [[User:ExampleUser|Example User]]
| {{result|none}}
| {{result|pass}}
| {{result|warn}} <ref>Test pass, but also encountered {{bz|54321}}</ref>
| {{result|fail}} <ref>{{bz|12345}}</ref>
| <references/>
|-
|}
-->
 
[[Category:Fedora 42 Test Days]]

Latest revision as of 15:33, 3 February 2025

WSL

Date 2025-02-17
Time all day

Website QA/Test Days
Matrix #test-day:fedoraproject.org(other clients|?) , #cloud:fedoraproject.org(other clients|?)
Mailing list test


Can't make the date?
If you come to this page after the test day is completed, your testing is still valuable, and you can use the information on this page to test, file any bugs you find, and add your results to the results section. If this page is more than a month old when you arrive here, please check the current schedule and see if a similar but more recent Test Day is planned or has already happened.

What to test?[edit]

This Test Day will focus on running Fedora 42 in WSL.

In Fedora 42, a new image is being built for use with Windows Subsystem for Linux (commonly referred to as WSL). This will allow users to have a simple, easy to set up Fedora environment for development and testing use.

Multiple distributions may be run side by side in different namespaces, sharing the same kernel. Conceptually, the workflow is similar to a container, but it has been optimized to support an interactive Linux development & testing. WSL manages a lightweight VM with Wayland, PulseAudio, and some extra filesystem mounts provided. The user's choice of distro, such as Fedora, is run in an isolated namespace with its own root image. Filesystem state, including the root filesystem and home directories are also preserved between uses.

The Fedora changes are fully described at Changes/FedoraWSL. It is similar to the cloud and container images, but some developer-focused packages such as manual pages, wget, and vim have been preinstalled. Some changes specific to WSL for X11 and Wayland compatibility have also been preconfigured.


Who's available[edit]

The following cast of characters will be available testing, workarounds, bug fixes, and general discussion:

You can chat with us on Matrix. See the infobox on top of the page to learn where to join.

Prerequisite for Test Day[edit]

  • Windows 11 (recommended), amd64 or arm64. Windows 10 may work, but is not a focus as it will be end-of-life soon
  • Virtualization extensions must be available. If you are testing in a VM - be sure this is enabled in your VM settings. Some cloud services restrict this to specific instance types.


Install WSL on Windows 11[edit]

Setting up WSL is pretty simple. wsl --install will enable the hypervisor prerequisites, and prompt for reboot if needed. If a reboot is needed, you may need to run wsl --install a second time after reboot. (TODO: verify the reboot steps). This will also install a default Ubuntu image. Fedora can be installed in the next step.

Full documentation is available at [1]

Installing Fedora in WSL[edit]

Downloading the Fedora WSL tarball[edit]

TODO: add a specific link, or a publishing page to get the latest tarball

Installing Fedora with wsl.exe[edit]

First, check the version of WSL you are using by running wsl.exe --version. Follow the steps below based on the version.

For WSL versions 2.4.4+:

  1. From the command line, install the tarball with wsl --install --from-file .\path\to\Fedora.tar.xz
  2. Enter the environment by running "wsl -d Fedora"
  3. When prompted, provide a username. This will be the default user, and it will be added to the groups for sudo usage

For WSL versions prior to 2.4.4:

(These steps assume you are using PowerShell)

  1. Make a directory for the Fedora distribution with mkdir $ENV:LOCALAPPDATA\WSL\Fedora
  2. Import the WSL tarball with wsl --import Fedora $ENV:LOCALAPPDATA\WSL\Fedora .\Path\To\Fedora.x86_64-Rawhide.tar.xz
  3. Enter the environment with wsl -d Fedora -u root
  4. Manually run /usr/libexec/wsl/oobe.sh to create the default user
  5. exit the environment logged in as root
  6. Enter the environment as the newly created user with wsl -d Fedora -u <username>

How to test?[edit]

A simple regression test suite is available at QA:WSL_regression_testing that covers some basic usage and configuration.


Please also see QA:WSL_Exploratory_Testing for some more ideas outside of the pre-defined test cases.


Reporting bugs[edit]

Perhaps you've found an already-reported bug. Please look at:

We really need bug reports!
Please note that just mentioning your problem into the comments section on the results page is not very helpful. Very often those problems only happen in specific circumstances, or with specific steps taken. We need the logs and screenshots, and we need to be able to ask you followup questions. Please file bug reports, it's much more useful than a short comment. Thank you!

When filing the bug, it's very helpful to include:

  • WSL & Windows versions, which you can retrieve with wsl.exe --version
  • exact steps you've performed (and whether you can reproduce it again)
  • screenshots or videos, if applicable
  • system journal (log), which you can retrieve by journalctl -b > journal.txt
  • all output in a terminal, if started from a terminal
  • your system description

If you are unsure about exactly how to file the report or what other information to include, just ask us.

Please make sure to link to the bug when submitting your test result, thanks!



Test Results[edit]

Test results will be exported here once the test day is over. See How to test? section for information how to submit results and see the live results.