#文档注明 5.15和5.10 版本内核可以部署成功,这里我当前最新的发布版本
#下载wsl 源码
wget --progress=bar:force --output-document=linux-msft-wsl-5.15.133.1.tar.gz https://codeload.github.com/microsoft/WSL2-Linux-Kernel/tar.gz/refs/tags/linux-msft-wsl-5.15.133.1
#解压
tar xf linux-msft-wsl-5.15.133.1.tar.gz
#进入解压目录
cd WSL2-Linux-Kernel-linux-msft-wsl-5.15.133.1
#复制配置信息到 .config文件
cp Microsoft/config-wsl .config
#追加配置到.config
<<EOT cat>> .config
CONFIG_IPV6_ROUTER_PREF=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_MULTIPLE_TABLES=y
CONFIG_IPV6_SUBTREES=y
CONFIG_DMABUF_HEAPS=y
CONFIG_DMABUF_HEAPS_SYSTEM=y
CONFIG_STAGING=y
CONFIG_ASHMEM=y
CONFIG_ANDROID=y
CONFIG_ANDROID_BINDER_IPC=y
CONFIG_ANDROID_BINDERFS=y
CONFIG_ANDROID_BINDER_DEVICES="binder,hwbinder,vndbinder"
EOT
#按回车确认
#检查一下是否追加成功,随便搜索一下追加里的内容
cat .config |grep "CONFIG_IPV6_ROUTER_PREF"
#输出 CONFIG_IPV6_ROUTER_PREF=y 表示追加成功
#安装编译工具
sudo apt-get install build-essential flex bison bc dwarves libssl-dev libelf-dev libncurses-dev
#编译
make
等待编译完成
复制编译完成的 arch/x86/boot/bzImage 到你电脑本地并添加.wslcongfig文件(wsl设置文档)
#进入 mnt 中查看电脑磁盘挂载的信息
cd /mnt
#复制到电脑本地磁盘中(我这里是在D 盘创建了WSL 文件)
cp ./arch/x86/boot/bzImage /mnt/d/WSL/bzImage-5.15.133.1
#在电脑用户目录C:\Users\95677(95677这个你电脑的用户名)下创建 .wslconfig 文件
#内容中配置内核路径
[wsl2]
kernel= D:\\WSL\\bzImage-5.15.133.1
#重启wsl
wsl --shutdown
#再次打开本地ubuntu查看内核信息
uname -a
#输出信息为我们编译的信息,那就说明更改内核成功了
Linux ZENGHONGYAO 5.15.133.1-microsoft-standard-WSL2 #1 SMP Thu Dec 14 09:28:41 CST 2023 x86_64 x86_64 x86_64 GNU/Linux
docker 拉取 redroid/redroid 镜像并运行容器
#拉取
docker pull redroid/redroid
#运行,为了重头到尾演示整个过程,这次我运行用的是5556端口,之前的5555端口被占用了
docker run -itd --privileged --restart=always -v ~/redroid-data:/data -p 5556:5555 --name redroid redroid/redroid
#连接安卓 QtScrcpy
127.0.0.1:5556
最后附上 (QtScrcpy下载地址) 至此本地wsl 部署redroid 就完成了