WSL 2 内核的编译与升降级

date
Aug 13, 2021
slug
building-wsl2
status
Published
tags
WSL 2
Environment Installation
summary
type
Post

0. 环境准备

  • Ubuntu(仅在 20.04 版本上测试通过)
  • x86 架构
  • 使用以下代码安装 packages
sudo install build-essential flex bison libssl-dev libelf-dev
⚠️
强烈建议使用 Docker 镜像,已配置好环境的 docker 镜像点击这里下载 导入 docker 镜像 docker load -i zz-wsl2.tar
 

1. 编译

✍🏻
微软开源了其 WSL 2 的内核代码在 GitHub 上,并且提供了简要的 README
  1. 下载指定版本的 release 包(在 Windows 10 内测版 21354 版本号上建议使用 5.4.72 版本,否则 WSL 2 无法正常初始化 GPU)
notion image
 
  1. 解压后,进入目录;
cd WSL-Linux-Kernel-linux-msft-5.4.72/

# 若使用 docker 镜像,请结合以下命令使用
# 创建容器
docker run -dit -v $(pwd):/workspace/wsl2 zz:wsl2

# 进入容器
docker exec -it {容器id} /bin/bash

# 进入目录
cd /workspace/wsl2
 
  1. 输入以下命令进行编译;
make KCONFIG_CONFIG=Microsoft/config-wsl -j8
⚠️
建议使用 CPU 较好的服务器编译,编译所需时间会大幅度减少
 
  1. Severn years later,等待编译结束后,可见编译好的内核所在路径为 ./arch/x86/boot/bzImage
notion image

© Zack Zhou 2021