一、编译wsl2内核
1、安装依赖
sudo apt update
sudo apt upgrade
sudo apt install build-essential flex bison libssl-dev libelf-dev libncurses-dev autoconf libudev-dev libtool bc dwarves
2、查看匹配的wsl版本并下载
uname -r
https://github.com/microsoft/WSL2-Linux-Kernel
3、添加配置文件
touch .config
将arch\x86\configs\config-wsl文件的内容复制到.config中
sudo cp arch/x86/configs/config-wsl .config
4、编译
sudo make -j8
sudo make modules_install -j8
如果报错,参考我的另一篇文章https://blog.csdn.net/weixin_44733606/article/details/132664226
sudo make install -j8
注意如果编译错误,重新编译,清除
make clean
5、生成USB/IP工具包
cd tools/usb/usbip
sudo ./autogen.sh
sudo ./configure
sudo make install -j8
sudo cp libsrc/.libs/libusbip.so.0 /lib/libusbip.so.0
6、替换内核
将Ubuntu的bzImage文件,复制到Windows系统,路径见下图
将bzImage改名为kernel,原来的kernel
备份一下哦。
二、WSL2连接USB
1、windows安装USBIPD-WIN
https://github.com/dorssel/usbipd-win/releases下载并双击安装。
2、Linux 中安装 USBIP 工具和硬件数据库
sudo apt install linux-tools-virtual hwdata
sudo update-alternatives --install /usr/local/bin/usbip usbip `ls /usr/lib/linux-tools/*/usbip | tail -n1` 20
3、附加usb
usbipd wsl list
选择要附加到 WSL2
的设备总线 ID
usbipd wsl attach --busid <busid>