| |
@@ -0,0 +1,68 @@
|
| |
+ <image>
|
| |
+ <profiles>
|
| |
+ <profile name="WSL-Base" description="Windows Subsystem for Linux Base"/>
|
| |
+ </profiles>
|
| |
+ <preferences profiles="WSL-Base">
|
| |
+ <type image="tbz"/>
|
| |
+ <timezone>Etc/UTC</timezone>
|
| |
+ <locale>en_US</locale>
|
| |
+ <rpm-locale-filtering>false</rpm-locale-filtering>
|
| |
+ <rpm-excludedocs>false</rpm-excludedocs>
|
| |
+ </preferences>
|
| |
+ <packages type="bootstrap" profiles="WSL-Base">
|
| |
+ <package name="bash"/>
|
| |
+ <package name="coreutils"/>
|
| |
+ <package name="dnf5"/>
|
| |
+ <package name="dnf5-plugins"/>
|
| |
+ <package name="fedora-release-wsl"/>
|
| |
+ <package name="policycoreutils"/>
|
| |
+ <package name="rpm"/>
|
| |
+ <package name="selinux-policy-targeted"/>
|
| |
+ </packages>
|
| |
+ <packages type="image" patternType="plusRecommended" profiles="WSL-Base">
|
| |
+ <package name="attr"/>
|
| |
+ <package name="acl"/>
|
| |
+ <package name="bash-color-prompt"/>
|
| |
+ <package name="bash-completion"/>
|
| |
+ <package name="bind-utils"/>
|
| |
+ <package name="bzip2"/>
|
| |
+ <package name="curl"/>
|
| |
+ <package name="dbus"/>
|
| |
+ <package name="default-editor"/>
|
| |
+ <package name="file"/>
|
| |
+ <package name="glibc-langpack-en"/>
|
| |
+ <package name="gnupg2"/>
|
| |
+ <package name="iproute"/>
|
| |
+ <package name="iputils"/>
|
| |
+ <package name="less"/>
|
| |
+ <package name="lsof"/>
|
| |
+ <package name="man-db"/>
|
| |
+ <package name="man-pages"/>
|
| |
+ <package name="NetworkManager"/>
|
| |
+ <package name="nmap-ncat"/>
|
| |
+ <package name="openssh-clients"/>
|
| |
+ <package name="passwd"/>
|
| |
+ <package name="pciutils"/>
|
| |
+ <package name="procps-ng"/>
|
| |
+ <package name="rsync"/>
|
| |
+ <package name="shadow-utils"/>
|
| |
+ <package name="sudo"/>
|
| |
+ <package name="symlinks"/>
|
| |
+ <package name="systemd-udev"/>
|
| |
+ <package name="systemd-resolved"/>
|
| |
+ <package name="tar"/>
|
| |
+ <package name="tcpdump"/>
|
| |
+ <package name="time"/>
|
| |
+ <package name="traceroute"/>
|
| |
+ <package name="tree"/>
|
| |
+ <package name="unzip"/>
|
| |
+ <package name="usbutils"/>
|
| |
+ <package name="util-linux"/>
|
| |
+ <package name="vim-minimal"/>
|
| |
+ <package name="which"/>
|
| |
+ <package name="whois"/>
|
| |
+ <package name="wsl-setup"/>
|
| |
+ <package name="zip"/>
|
| |
+ <package name="zram-generator-defaults"/>
|
| |
+ </packages>
|
| |
+ </image>
|
| |
This introduces the beginnings of an image definition for Windows
Subsystem for Linux (WSL).
The package list is based on the core and standard grouplists. Some
packages, like the kernel, dracut, and so on, are omitted as they are
unnecessary. Others, like audit, don't work in the environment. Finally,
many packages are omitted since I thought "people probably won't want
that", so the package list is completely up for debate. This is just a
reasonable starting point that works.
I'm not sure my Kiwi definitions are reasonable, I mostly cherry-picked
things from other definitions.
Build/test instructions:
To build the tarball:
$ ./kiwi-build --image-profile=WSL-Base --image-type=tbz --output-dir=./build/
Get it to a Windows host with WSL installed. To boot it with cgroupsv2,
add the following to
.wslconfig
in the Windows host home folder:[wsl2]
kernelCommandLine=systemd.unified_cgroup_hierarchhy=1 cgroup_no_v1=all
This assumes the latest WSL release is installed, at least version 2.4.4:
$ wsl --install --from-file .\path\to\the\fedora.tar.xz
Alternatively, if you're using something prior to version 2.4.4:
$ wsl --import --version=2 Fedora C:\path\to\storage\Fedora\ .\path\to\the\fedora.tar.xz
Finally, run it with:
$ wsl -d Fedora
If you are using 2.4.4+, you will be prompted for a username and then
dropped into an interactive shell with that user and passwordless sudo
access.
If you're using an older version, you need to do:
$ wsl -d Fedora -u root
# useradd ...