恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
PX4 在 Windows 虚拟机(VMWare / VirtualBox)中搭建 Linux 工具链的完整指南
首页
资讯中心
/
PX4 在 Windows 虚拟机(VMWare / VirtualBox)中搭建 Linux 工具链的完整指南
PX4 在 Windows 虚拟机(VMWare / VirtualBox)中搭建 Linux 工具链的完整指南
发布时间:2026/9/24 17:18:49
嵌入式物联网机器人自动驾驶智能硬件【免费下载链接】PX4-AutopilotPX4 Autopilot Software项目地址https://gitcode.com/gh_mirrors/px/PX4-Autopilot点击查看免费下载Windows 开发者如果希望在自己的 Windows 机器上编译 PX4 固件或运行仿真可以借助虚拟机Virtual MachineVM在 Windows 上运行 Ubuntu Linux并在虚拟机内部以与原生 Linux 完全一致的方式安装和配置 PX4 工具链。本文以 PX4-Autopilot 官方文档为骨架完整讲解 VMWare Workstation Pro 与 VirtualBox 7 两套搭建流程并深入覆盖 USB 直通连接飞控烧写固件、QGroundControl WiFi 遥测等关键实战环节读完即可在 Windows 宿主机上拥有一个可用的 PX4 编译与仿真环境。:::warning 支持状态说明 该开发环境属于社区支持与维护的方案详见 Community Supported Developer ToolsPX4 核心开发团队不保证其与当前 PX4 版本兼容。核心团队官方支持的环境与工具请参考 Toolchain Installation——目前官方在 Windows 上推荐的方案是 WSL2 开发环境虚拟机方案适合作为补充或临时测试手段。 :::一、方案概览为什么用虚拟机以及它的代价Windows 开发者可以在虚拟机中运行 Linux 客户机guest OS然后照搬 Ubuntu 原生开发环境 的安装步骤即可完成 PX4 环境配置——虚拟机内的一切操作与原生 Linux 电脑完全一致这也是该方案非常容易上手的原因所有 PX4 官方工具链脚本、构建命令都可以原样执行无需任何 Windows 专属适配。不过在动手之前必须清楚虚拟机的三点代价固件编译比原生 Linux 慢虚拟机中的 CPU 与磁盘 I/O 都有虚拟化开销全量编译 PX4 固件时耗时明显增加JMAVSim 仿真帧率大幅下降图形渲染经虚拟显卡中转帧率远低于原生 Linux资源不足时甚至可能导致仿真中的飞行器坠毁Gazebo 与 ROS 虽可安装但慢到几乎不可用因此该方案只适合编译固件 基础仿真验证不适合承载 ROS/Gazebo 类重负载工作。:::tip 资源分配建议 尽可能给虚拟机分配更多的 CPU 核心与内存资源。通常建议在不拖垮 Windows 宿主机的前提下尽量多分——例如宿主 16 核/32 GB 时可分配 8 核/16 GB 给虚拟机。 :::与官方推荐的 WSL2 方案相比虚拟机方案的优势是完全隔离、系统管理直观快照、回滚方便缺点则是性能开销更大、USB/网络直通需要额外配置。若你追求性能与官方支持优先阅读 Windows WSL2 开发环境若你只是想在独立、可回滚的 Linux 环境里快速验证 PX4 编译虚拟机方案依然是可行的社区选项。二、VMWare Workstation Pro 搭建步骤VMWare 方案的整体性能对编译固件这类基础用途是可接受的但同样不适合运行 ROS 或 Gazebo Classic。以下是官方文档给出的完整步骤下载 VMWare Workstation Pro免费 Player 版本已停止发布请下载 Pro 版本其个人免费授权覆盖日常开发使用并将其安装到 Windows 系统上。下载 Ubuntu Desktop ISO 镜像。推荐使用的 Ubuntu 版本与原生 Linux 环境保持一致可参考 Linux 开发环境说明页——当前仓库 CI 与发布目标为Ubuntu 24.04同时在Ubuntu 22.04上也有构建测试详见 Ubuntu 开发环境。打开 Workstation Pro。开启 3D 加速进入VM Settings Hardware Display勾选Accelerate 3D graphics。 :::info 该选项是 jMAVSim、Gazebo Classic 等 3D 仿真环境正常运行所必需的官方建议在向虚拟机安装 Linux 之前就完成此设置。 :::选择创建新虚拟机Create a New Virtual Machine。在创建向导中选择刚下载的 Ubuntu ISO 镜像作为安装介质Workstation 会自动识别要安装的操作系统类型。在向导中为虚拟机分配运行资源在不让 Windows 宿主机不可用的前提下尽量多分配内存与 CPU 核心。向导结束后启动虚拟机按 Ubuntu 安装向导完成系统安装。由于所有设置仅作用于宿主机内部的使用场景你可以关闭屏保与本地工作站安全特性只要不增加被网络攻击的风险即可例如保留防火墙。虚拟机启动后务必在客户机内安装 VMWare Tools 驱动与工具扩展。它能显著提升虚拟机使用体验明显增强图形性能正确支持硬件设备使用如USB 端口分配这对后续固件上传至关重要、鼠标滚轮、声音支持客户机显示分辨率随窗口大小自动适配与宿主机之间支持剪贴板共享与文件共享。完成上述步骤后进入下一阶段在虚拟机内继续 PX4 Linux 环境搭建。三、虚拟机内安装 PX4 工具链与原生 Ubuntu 完全一致虚拟机启动完成后PX4 的安装流程与原生 Linux 完全相同。直接使用仓库中的官方脚本 Tools/setup/ubuntu.sh 一次性安装仿真器与 Pixhawk/NuttX 构建工具链git clone https://github.com/PX4/PX4-Autopilot.git --recursive bash ./PX4-Autopilot/Tools/setup/ubuntu.sh脚本执行过程中按提示确认即可可用--no-nuttx与--no-sim-tools分别跳过 NuttX 交叉编译工具链或仿真工具的安装。安装完成后重启虚拟机。可执行下面命令验证 NuttX 工具链是否就绪Ubuntu 24.04 上通常为 GCC 13.2.1arm-none-eabi-gcc --version之后即可按 Building PX4 Software 进行首次构建验证例如cd PX4-Autopilot make px4_sitl gz_x500 # 仿真目标验证环境 make px4_fmu-v5_default # 编译 Pixhawk 4 (FMUv5) 固件从源码结构看px4_fmu-v5_default这类目标会映射到仓库 boards/px4/fmu-v5/default.px4board 配置文件_default后缀表示默认固件配置可省略。四、VirtualBox 7 搭建概述VirtualBox 7 的搭建流程与 VMWare 基本类似创建虚拟机 → 挂载 Ubuntu ISO → 分配资源 → 完成安装 → 进入 PX4 Linux 环境搭建。官方文档明确欢迎社区成员补充 VirtualBox 的逐步图文指南目前该部分保持概述状态。但 VirtualBox 方案有两个非常重要的实战细节下面两节详细展开。五、USB 直通让虚拟机连接飞控并烧写固件:::tip 验证环境 以下操作步骤已在VirtualBox 7 运行 Ubuntu 20.04 LTS、宿主机为 Windows 10的环境下实测通过。 :::虚拟机的一个天然局限是无法自动访问宿主 USB 端口上连接的飞控。这会导致两件事做不了无法在虚拟机终端里执行构建并上传 PX4 固件正常流程见 Building PX4 Software Uploading Firmware虚拟机内的 QGroundControl 无法连接飞控。解决方法是配置USB 直通passthrough按以下步骤操作将用户加入 dialout 组在虚拟机终端执行使普通用户具备访问串行设备的权限sudo usermod -a -G dialout $USER然后重启虚拟机内的 Ubuntu。启用串口VirtualBox Settings Serial Ports 1/2/3...启用相应串口。启用 USB 控制器VirtualBox Settings USB。为 bootloader 添加 USB 过滤器VirtualBox Settings USB Add new USB filter打开菜单将飞控的 USB 线插入宿主机当界面中出现...Bootloader设备时选择它当 bootloader 完成后出现...Autopilot设备时再选择它。:::info Bootloader 设备在插入 USB 后只会短暂出现几秒。若来不及选择它就消失了请断开再重新插入 USB。 :::在虚拟机实例的菜单中挂载设备VirtualBox Devices your_device将设备分配给客户机。配置成功后设备会出现在lsusb输出中QGroundControl 将自动连接该设备同时你也能在虚拟机内正常执行固件构建与上传例如make px4_fmu-v5_default upload上传成功后终端会依次输出Erase / Program / Verify进度至 100% 并Rebooting.随后显示[100%] Built target upload。六、WiFi 遥测QGroundControl 的网络模式选择如果你要在虚拟机内使用 QGroundControl 进行WiFi 遥测必须将虚拟机网络设置为Bridged Adapter桥接模式。桥接模式客户机直接访问宿主机的网络硬件UDP 遥测数据包可以正常收发NAT 模式这是 VirtualBox 7 Ubuntu 20.04 LTS 的默认模式会阻断 QGroundControl 与飞行器通信所需的出站 UDP 数据包导致无法连接。因此请在VirtualBox Settings Network中将网卡改为 Bridged Adapter再启动虚拟机内的 QGroundControl 连接飞行器。七、常见问题与性能调优建议结合文档与仓库实际情况给出以下排查与调优要点编译慢 / 仿真卡顿优先增加虚拟机 CPU 核数与内存确认 VMWare 已启用 3D 加速见第二节第 4 步这是 3D 仿真流畅运行的前提。QGroundControl 无法连接检查虚拟机网络是否为桥接模式见第六节若使用 NATUDP 遥测会被阻断。USB 设备识别不到确认已在 VirtualBox 设置中添加了对应的 USB 过滤器bootloader 与 autopilot 两个设备都需要并在 Devices 菜单中挂载必要时重插 USB。串口权限不足执行sudo usermod -a -G dialout $USER并重启客户机。构建报错优先执行git submodule update --recursive与make distclean清理环境常见构建问题可参考 Building PX4 Software Troubleshooting。结语Windows 虚拟机方案是体验 PX4 编译流程最直接的社区方案之一VMWare 适合以编译固件为主的基础用途VirtualBox 则在 USB 直通配置上提供了被实测验证的完整路径。需要再次强调的是该环境属于社区维护、性能受限仿真慢、Gazebo/ROS 基本不可用长期或团队级开发建议优先采用官方支持的 WSL2 方案见 Windows WSL2 开发环境。无论选择哪条路径虚拟机内 PX4 的安装、构建与上传流程都与原生 Ubuntu 完全一致可无缝复用 Ubuntu 开发环境 与 构建指南 的全部内容。赞分享嵌入式物联网机器人自动驾驶智能硬件【免费下载链接】PX4-AutopilotPX4 Autopilot Software项目地址https://gitcode.com/gh_mirrors/px/PX4-Autopilot点击查看免费下载相关推荐HMCL与虚拟机在VMware/VirtualBox中运行Minecraft启动器的完整指南HMCLHello Minecraft! Launcher作为一款功能强大的Minecraft启动器在虚拟化环境中也能完美运行。本教程将详细介绍如何在VM桌面应用游戏开发FlydJavaScript函数式响应式编程的终极入门指南FlydJavaScript函数式响应式编程的终极入门指南 Flyd是一个极简但功能强大的JavaScript函数式响应式编程库它采用模块化设计为开发者提Laravel Collection Macros高级功能解析transpose、rotate、sectionBy原理与应用Laravel Collection Macros高级功能解析transpose、rotate、sectionBy原理与应用 Laravel Collecti上一篇OpenClaw 移除 BlueBubbles 频道迁移到 imsg 驱动的官方 iMessage 插件下一篇>创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考