WSL开发环境搭建采坑记录

发布于:2023-01-20 ⋅ 阅读:(425) ⋅ 点赞:(0)

WSL开发环境搭建采坑记录

1.配置win

在这里插入图片描述

确保以上打开,或者直接用命令行配置:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

2.安装wsl(以下两种方法均可)

大致对比下wsl两个版本区别,详细了解见https://docs.microsoft.com/zh-cn/windows/wsl/compare-versions
在这里插入图片描述

2.1 命令行

在管理员 PowerShell 或 Windows 命令提示符中输入此命令,然后重启计算机来安装运行适用于 Linux 的 Windows 子系统 (WSL) 所需的全部内容。

wsl --install

2.2 官网应用

点击wsl下载进行下载,然后点击安装

2.3 WSL常用命令说明

  • 使用 wsl --install 命令安装的新 Linux 安装将默认设置为 WSL 2,之后连接USB驱动会在该版本上进行。
  • wsl --set-version 命令可用于从 WSL 2 降级到 WSL 1,或将以前安装的 Linux 发行版从 WSL 1 更新到WSL 2。
  • wsl -l -v查看 Linux 状态(运行和挂起)和版本是为 WSL 1 还是 WSL 2 。
  • 要更改版本,请使用 wsl --set-version <distro name> 2 命令将 <distro name>
    替换为要更新的 Linux 发行版的名称。 例如,wsl --set-version Ubuntu-22.04 2 会将 Ubuntu
    20.04 发行版设置为使用 WSL 2。
  • wsl --shutdown命令用于关闭子系统

3. 安装子系统

打开 Microsoft Store,并选择 Linux 版本,正常获取安装就可以,下载时长和网络关系挂钩,出现失败多试几次。
在这里插入图片描述

  • 首次启动新安装的 Linux 分发版时,将打开一个控制台窗口,系统会提示等待几分钟,提示成功可直接关掉;未来的所有启动时间都不到一秒。

避坑:
1.如果提示一些错误码,导致卡住,大部分原因都是WSL没有安装或者win子系统和虚拟平台没有打开导致,可以将安装WSL步骤重复一遍。
2.先不要着急换源,后续连接usb有大坑。 正常安装好后,就可以愉快的使用了,打开终端,在新打开窗口即可看到子系统选项,打开就可以用了,同时计算机会出现单独的linux文件目录,可以共同复制粘贴,WSL
2兼容性更强。
注:默认权限为root,更换方法:打开终端,使用命令ubuntu config --default-user root即可更换,其中ubuntu 为安装子系统版本,root为要更换的用户名,一般在安装时会设置,忘了的话,在子系统里执行whoami看下用户名称。

在这里插入图片描述
在这里插入图片描述

4. VScode远程连接配置

  • 此时默认开发环境搭建完成,可在子系统内部命令行可进行编译开发。 打开VScode

在这里插入图片描述

  • 安装好1插件后,点击2指向的地方,会提示打开文件夹,相应的开发环境打好后,可直接打开终端进行编译。

5. USB设备连接子系统

5.1 前提条件

  • 运行 Windows 11(内部版本 22000 或更高版本)。 (可提供 Windows 10 支持,请参见下面的注释)
  • Linux 发行版已安装并设置为 WSL 2
  • 运行 Linux 内核 5.10.60.1 或更高版本。
    在这里插入图片描述

注:若要检查 Windows 版本及内部版本号,选择 Win + R,然后键入“winver”,选择“确定” 。
可通过选择“开始”>“设置”>“Windows 更新”>“检查更新”来更新到最新的 Windows 版本。 若要检查 Linux 内核版本,请打开 Linux 发行版并输入命令:uname -a。 若要手动更新到最新内核,请打开 PowerShell
并输入命令:“wsl --update”。
升级后重启。

5.2 安装 USBIPD-WIN 项目

WSL 本身并不支持连接 USB 设备,因此你需要安装开源 usbipd-win 项目。
1.转到 usbipd-win 项目的最新发布页
2.选择 .msi 文件,该文件将下载安装程序。
3.运行下载的 usbipd-win_x.msi 安装程序文件。

5.3 在 Linux 中安装 USBIP 工具和硬件数据库

在 Ubuntu 上运行以下命令:

sudo apt install linux-tools-5.4.0-77-generic hwdata
sudo update-alternatives --install /usr/local/bin/usbip usbip /usr/lib/linux-tools/5.4.0-77-generic/usbip 20

这里有大坑:
1.子系统刚安装后不要换源不要换源不要换源,执行命令1,安装成功进行下一步;实测阿里源和清华源全部不行。
2.执行命令1不成功看这里,成功跳过;如果接提醒E:无法安装,先检查源,换源到最原始,换命令sudo apt-get --fix-broken install linux-tools-virtual hwdata
3.安装了部分,提示dpkg-deb: 错误: 粘贴 子进程被信号(断开的管道) 终止了,解决办法:sudo dpkg -i --force-overwrite "实际报错路径",中间缺什么装什么,到这里命令1就没有问题了。
4.命令2执行成功忽略。如果提示无效,则到/usr/lib/linux-tools/下看下真实文件夹名称,可能版本号不是命令里的,更改后再执行就可以了。如sudo update-alternatives --install /usr/local/bin/usbip usbip /usr/lib/linux-tools/实际名称/usbip 20

以上都装好后,才可进行下一步。

5.4 连接usb

5.4.1 win下执行

管理员运行终端,使用命令

usbipd wsl list

即可打出当前连接全部设备
在这里插入图片描述

终端下执行

usbipd wsl attach --busid <BUSID>

选择要连接的设备,以COM9为例,执行

usbipd wsl attach --busid 1-5

避坑:提示usbipd: warning: A third-party firewall may be blocking the connection; ensure TCP port 3240 is allowed.
打开电脑防火墙,一般为第三方软件拦截,将3240端口号添加保护就可以了。 其他问题,返回5.25.3

5.4.2 子系统下执行

打开终端执行 lsusb ,列出子系统可看到的设备
在这里插入图片描述

然后再确认下对应是/dev/tty*的具体名称,就可以使用了。

避坑:给端口加权限

6. 参考链接

https://docs.microsoft.com/zh-cn/windows/wsl/install
https://docs.microsoft.com/zh-cn/windows/wsl/connect-usb
https://www.bilibili.com/read/cv7755144

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到