# microsoft/wsl2-linux-kernel

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/microsoft-wsl2-linux-kernel).**

10,463 stars · 1,421 forks · C · NOASSERTION

## Links

- GitHub: https://github.com/microsoft/WSL2-Linux-Kernel
- awesome-repositories: https://awesome-repositories.com/repository/microsoft-wsl2-linux-kernel.md

## Description

This project is a Linux kernel designed for Windows Linux integration, providing the underlying operating system kernel required to execute binary files and applications within the Windows Subsystem for Linux. It utilizes hypervisor-based virtualization to run a full kernel within a lightweight utility virtual machine managed by a Windows host.

The repository enables the customization and compilation of the kernel from source. This allows for the modification of system behavior, the addition of specific drivers, and the tailoring of hardware compatibility for virtualized environments.

The system incorporates a monolithic kernel architecture and a hardware abstraction layer to translate kernel requests for the host hypervisor. It supports the use of a configurable build pipeline and virtual disk image mounting to persist data and kernel changes.

## Tags

### Operating Systems & Systems Programming

- [Hypervisors](https://awesome-repositories.com/f/operating-systems-systems-programming/virtualization-emulation/hypervisors.md) — Runs a full Linux kernel within a lightweight utility virtual machine managed by a Windows host hypervisor.
- [Hardware Abstraction Layers](https://awesome-repositories.com/f/operating-systems-systems-programming/hardware-abstraction-layers.md) — Provides a hardware abstraction layer that translates generic kernel requests into calls executable by the host hypervisor.
- [Operating System Kernels](https://awesome-repositories.com/f/operating-systems-systems-programming/operating-system-kernels.md) — Provides a compatible operating system kernel to create an environment for executing Linux binary files and applications. ([source](https://github.com/microsoft/wsl2-linux-kernel#readme))
- [Windows Linux Integration](https://awesome-repositories.com/f/operating-systems-systems-programming/windows-linux-integration.md) — Integrates a full Linux environment on Windows to execute binary files and applications with native kernel support.
- [Kernel Configuration Systems](https://awesome-repositories.com/f/operating-systems-systems-programming/bootable-image-building/kernel-configuration-systems.md) — Provides a configurable Kconfig system to select specific drivers and features before compiling the kernel into a bootable image.
- [Custom Kernel Compilation](https://awesome-repositories.com/f/operating-systems-systems-programming/custom-kernel-compilation.md) — Supports building a Linux kernel from source to tailor system behavior and hardware compatibility for virtualized environments.
- [Custom Kernel Compilation](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-module-compilation/custom-kernel-compilation.md) — Enables compiling a kernel from source with specific configuration changes and packaging modules into a virtual disk image. ([source](https://github.com/microsoft/wsl2-linux-kernel#readme))

### Development Tools & Productivity

- [Monolithic Kernels](https://awesome-repositories.com/f/development-tools-productivity/platforms-runtimes-language-services/development-platforms/operating-system-environments/operating-systems/monolithic-kernels.md) — Utilizes a monolithic kernel architecture integrating all core services and device drivers into a single supervisor-mode binary.

### Part of an Awesome List

- [Kernel Customization](https://awesome-repositories.com/f/awesome-lists/devops/linux-kernel-development/kernel-customization.md) — Allows modifying and compiling the Linux kernel to add specific features or drivers for use within the Windows Subsystem for Linux.
- [Development Utilities](https://awesome-repositories.com/f/awesome-lists/devtools/development-utilities.md) — Source code for the Linux kernel used in the subsystem.

### Data & Databases

- [Virtual Disk Overlays](https://awesome-repositories.com/f/data-databases/virtual-disk-overlays.md) — Maps virtual hard disk files as the root filesystem to persist kernel changes and user data.

### Software Engineering & Architecture

- [Pluggable Module Loading](https://awesome-repositories.com/f/software-engineering-architecture/pluggable-module-loading.md) — Implements mechanisms to dynamically load compiled driver binaries into the running kernel at runtime.
