|
1 | | -# Custom WSL2 Linux Kernel |
| 1 | +# Custom WSL2 Linux Kernel - CGroupsV2 |
2 | 2 |
|
3 | | -This repository is forked from the excellent [Windows WSL2 Kernel Build Script |
4 | | -repo by |
5 | | -slyfox1186](https://github.com/slyfox1186/windows-wsl2-kernel-build-script). |
| 3 | +This repository is forked from the excellent [Windows WSL2 Kernel Build Script repo by slyfox1186](https://github.com/slyfox1186/windows-wsl2-kernel-build-script). |
6 | 4 |
|
7 | | -This project aims to use GitHub Actions Workflows to produce and publish |
8 | | -up-to-date, versioned custom builds of |
9 | | -[WSL2-Linux-Kernel](https://github.com/microsoft/WSL2-Linux-Kernel) with |
10 | | -[`HIDDEV`](https://docs.kernel.org/hid/hiddev.html) and |
11 | | -[`HIDRAW`](https://docs.kernel.org/hid/hidraw.html) enabled. |
| 5 | +This project aims to use GitHub Actions Workflows to produce and publish up-to-date, versioned custom builds of [WSL2-Linux-Kernel](https://github.com/microsoft/WSL2-Linux-Kernel) with [`HIDDEV`](https://docs.kernel.org/hid/hiddev.html) and [`HIDRAW`](https://docs.kernel.org/hid/hidraw.html) enabled, **plus full CGroupsV2 support and kernel IO functions like `io.weight`**. |
12 | 6 |
|
13 | | -These custom kernels builds can be used to enable full Yubikey passthrough to |
14 | | -WSL2 using [`usbipd`](https://github.com/dorssel/usbipd-win), with full FIDO2 |
15 | | -functionality. |
| 7 | +These custom kernels builds can be used to enable full Yubikey passthrough to WSL2 using [`usbipd`](https://github.com/dorssel/usbipd-win), with full FIDO2 functionality, **and add the missing kernel IO functions from Microsoft's original kernel (like `weight`, min/max limits, and proportional I/O control in CGroupsV2)**. |
16 | 8 |
|
17 | | -The versioning scheme of this project matches the versioning scheme used by |
18 | | -WSL2-Linux-Kernel. |
| 9 | +The versioning scheme of this project matches the versioning scheme used by WSL2-Linux-Kernel. |
| 10 | + |
| 11 | +## Added Features |
| 12 | +- **HIDDEV and HIDRAW**: For full USB HID device support in WSL2. |
| 13 | +- **Full CGroupsV2**: Enabled with `systemd.unified_cgroup_hierarchy=1` and all required options. |
| 14 | +- **Kernel IO functions**: Includes `CONFIG_BLK_CGROUP_IOCOST=y`, `CONFIG_IO_WEIGHT=y`, and IO scheduling controllers with weights (`weight`), missing from Microsoft's base kernel to optimize containers and disk-intensive workloads. |
19 | 15 |
|
20 | 16 | ## Usage |
21 | 17 |
|
|
0 commit comments