文章目录
1 WSL Ubuntu 中挂载 U 盘(SDCard)
Linux 驱动开发需要给 SDCard 烧写 u-boot,kernal,rootfs 等内容。如果我们要使用 wsl(这里的 wsl 指的是 WSL 2.x 版本,下同) 进行 Linux 驱动开发,那么我们首先要将 SDCard 挂载到 wsl 中。
-
参考:
- https://zhuanlan.zhihu.com/p/661175117
- https://zhuanlan.zhihu.com/p/607493975
-
sdcard 无法挂载到 wsl 有 2 个原因:
- wsl 是虚拟机,无法直接访问宿主机的 USB 设备。这个问题通过一个叫 usbipd 的桥接工具解决
- wsl 内核没有加入 USB 存储设备的驱动。这个问题通过重新编译 wsl 内核镜像解决
2 usbipd 搭建虚拟机与宿主机 USB 通信桥梁
usbipd 在 OSI 的网络层(IP)、传输层(TCP)之间建立 USB 设备与虚拟机的通信,即 IP 网络共享 USB 设备。
- 1)安装 usbipd 工具
# 可以通过以下命令下载安装(我这里可能因为网络原因失败了)
winget install --interactive --exact dorssel.usbipd-win
# 也可以直接去其 github 分发地址下载,下载完成后双击安装即可。
https://github.com/dorssel/usbipd-win/releases
- 2)回到 wsl ubuntu 中安装 usbipd 工具:
sudo apt install linux-tools-generic hwdata
sudo update-alternatives --install /usr/local/bin/usbip usbip /usr/lib/linux-tools/*-generic/usbip 20
- 3)根据要求重启宿主机。
3 WSL 内核添加 USB 设备驱动
与 Linux 驱动开发的流程一样:配置驱动,编译内核。
3.1 编译 WSL Linux 内核
- 1)编译工具库准备
sudo apt install libncurses-dev libgmp-dev \

最低0.47元/天 解锁文章
1412

被折叠的 条评论
为什么被折叠?



