使用 WSL 在 Windows 11 上设置构建环境

这些设置说明介绍了如何为 Windows 11 设置 "Windows Subsystem for Linux",它允许使用 waf 进行构建。

这包括在 Windows 中启用内置的 Windows Linux 环境 (WSL),安装兼容的 Linux 发行版,最后将 ArduPilot 构建环境安装为普通的 Linux 系统。

完成学习后,您将能够构建 ArduPilot 二进制文件并运行本地 ArduPilot SITL 模拟器,包括 MAVProxy 开发人员地面控制站。您还将能够使用大多数 Linux 开发功能,如调试。

WSL 设置步骤

  1. 官方说明如下 这里.

  2. 从 "开始 "菜单启动 "Ubuntu "应用程序,然后按照以下步骤操作 Ubuntu 安装 ArduPilot 开发环境的说明

    备注

    如果将 ArduPilot 资源库下载到 WSL 文件系统中,而不是下载到普通 Windows 文件结构的外部文件中,编译速度会更快。

    • 要在 WSL 中重新加载路径变量,要么关闭终端并重新打开,要么使用 注销

  3. Windows 11 WSL2 包含一个 Linux 程序图形界面。这些程序包括 编辑换文 编辑 鹦鹉螺 文件管理器等不需要额外安装任何东西就能显示图形界面。

  4. 如果需要从 WSL2 内部进行 USB 连接、 安装 USBIPD 或使用其图形用户界面应用程序、 WSL USB 管理器.

WSL 和 Windows 之间的文件系统访问

在 Windows 11 中,Windows 资源管理器会在左侧窗格中显示 Linux 系统(通常为 Ubuntu)的文件基本目录,以方便访问。

Windows 文件可在 WSL2 中使用文件资源管理器(如 鹦鹉螺 如下图所示:

../_images/win11-nautilus.jpg

使用 WSL2 上传到电路板

上传到电路板(例如 ./waf 飞机 --上传不过,Windows 端必须安装 Python。在 Windows Python 中安装这些软件包。

核心.exe 安装 空虚 串行

截至 2022 年 7 月,微软通过 usbipd 为 WSL2 提供 USB 访问的解决方案由于挂载时间较慢而无法访问设备上的引导加载程序。

备注

默认情况下,WSL1 可以上传至电路板,无需额外更改。这是因为 USB 设备的处理方式不同。

使用 VSCode 在 WSL 中编辑代码(可选)

可以在 Windows 机器上安装 VSCode,以便在 WSL 中编辑和编译文件。VSCode 安装后会自动与 WSL 集成。更多详情 这里.

  • 请勿在 WSL 内使用 apt-get 等软件安装 VSCode。

  • 确保您正在处理的文件夹是在 WSL 远程中打开的。这可以通过点击左下角的绿色按钮来实现。

Windows 终端(可选)

Windows 终端支持多个标签页,可在多个 Linux 终端、PowerShell 等之间切换。

  • 您可以在打开 Windows 终端时更改默认终端,方法是进入 "设置",并将 Ubuntu 部分移至第一位。 清单 部分 settings.json 定义

  • 可以通过添加 起始目录 请按照下面的示例将下面的一行移到您喜欢的位置。

  • 请注意,将根据安装的 Linux 版本和发行版自动生成与下图类似的代码块。

{
    "guid";: "{07b52e3e-de2c-5db4-bd2d-ba144ed6c273}",
    "隐藏";: 错误,
    "名称";: "Ubuntu-20.04",
    来源";: "Windows.Terminal.Wsl";,
    "startingDirectory"; : "//wsl$/Ubuntu-20.04/home/<yourUserName>/ardupilot";
},

Git 与 Windows 证书管理器集成(可选)

Git 的凭证管理器可与 Window 的凭证管理器令牌连接。这种连接可防止在关闭 WSL 或重启 Windows 后访问 GitHub 等远程仓库时出现重新认证请求。Git 操作首次需要凭证时,会自动出现一个输入凭证的对话框。请参阅 向导 了解有关 GIT 和 WSL 的更多信息。

git 配置 --全球 凭据助手 "/mnt/c/Program\ Files/Git/mingw64/libexec/git-core/git-credential-manager.exe";