2. Ubuntu系统安装:双系统安装、虚拟机配置、基础软件包安装
好,咱们正式开始动手了。
做PX4驱动开发,第一件事就是把开发环境搭起来。说白了,你得先让Ubuntu跑起来。我见过太多新手卡在这一步,其实没那么复杂。今天我就把双系统安装、虚拟机配置、还有基础软件包安装这三块,掰开揉碎了讲清楚。
核心思路: 开发PX4驱动,Ubuntu 20.04 LTS是目前最稳的选择。我个人习惯用双系统,性能好、不折腾。但如果你只是入门学习,虚拟机完全够用。
2.1 双系统安装:给Ubuntu一个独立空间
双系统,就是一台电脑上同时有Windows和Ubuntu。开机时你选进哪个系统。我在项目中遇到过好几次,有人装完双系统后Windows进不去了。嗯,这里要注意,分区操作一定要小心。
准备工作
- 一个8GB以上的U盘,用来做启动盘
- Ubuntu 20.04 LTS镜像,去官网下载就行
- Rufus工具(Windows下写盘用)
- 磁盘空间:至少留出50GB空闲分区
安装步骤
- 压缩卷:在Windows磁盘管理里,右键C盘或D盘,选「压缩卷」,腾出50-100GB未分配空间
- 制作启动盘:用Rufus把Ubuntu镜像写入U盘,注意分区类型选GPT
- 关闭快速启动:Windows电源设置里关掉「快速启动」,否则Ubuntu可能认不到硬盘
- 重启进BIOS:按F2/F12/Del(不同品牌不一样),设置U盘为第一启动项
- 安装Ubuntu:选择「安装Ubuntu」,分区时选「其他选项」,把未分配空间挂载到根目录
/
⚠️ 我曾经犯过的错: 安装时选了「清除整个磁盘并安装Ubuntu」,结果Windows全没了。切记,一定要选「其他选项」手动分区。
分区建议
| 挂载点 | 大小 | 说明 |
|---|---|---|
/ |
30-50GB | 系统根目录,放系统和软件 |
/home |
剩余空间 | 用户数据,代码、文档都放这里 |
swap |
8-16GB | 交换分区,内存不够时用 |
你想想看,分区其实就像给房子隔房间。根目录是客厅,home目录是卧室,swap是储物间。别把客厅搞太大,卧室才是你真正待的地方。
2.2 虚拟机配置:不想折腾双系统的选择
如果你只是刚开始学PX4,或者电脑配置一般,虚拟机是个好选择。我用VirtualBox比较多,免费、稳定。
安装VirtualBox
- 去VirtualBox官网下载Windows版本
- 一路默认安装,注意安装时会短暂断网,正常现象
- 下载Ubuntu 20.04 LTS镜像
创建虚拟机
- 点击「新建」,名称填
PX4-Dev,类型选Linux,版本选Ubuntu 64-bit - 内存分配:至少4GB,我建议8GB。PX4编译挺吃内存的
- 硬盘:创建虚拟硬盘,大小给50GB以上,类型选VDI,动态分配
- 启动虚拟机,选择Ubuntu镜像,按提示安装
💡 小技巧: 安装完Ubuntu后,记得安装VirtualBox增强功能。在虚拟机菜单栏点「设备」→「安装增强功能」,然后终端里运行:
sudo ./VBoxLinuxAdditions.run
装完后,屏幕分辨率能自适应,还能共享剪贴板,方便很多。
虚拟机 vs 双系统,怎么选?
| 对比项 | 双系统 | 虚拟机 |
|---|---|---|
| 性能 | 满血运行 | 有损耗,约80-90% |
| USB设备直通 | 原生支持 | 需要设置,有时不稳定 |
| 切换成本 | 需要重启 | 随时切换 |
| 适合场景 | 长期开发、硬件调试 | 学习、测试、轻度开发 |
我个人建议:如果你要接飞控、调传感器,用双系统。如果只是写代码、编译固件,虚拟机完全够用。
2.3 基础软件包安装:把工具箱备齐
系统装好了,接下来就是装工具。PX4开发需要一堆依赖,别怕,一条命令搞定大部分。
更新系统
先让系统保持最新:
sudo apt update
sudo apt upgrade -y
安装基础开发工具
sudo apt install -y \
git \
cmake \
ninja-build \
python3-pip \
python3-venv \
build-essential \
gcc-arm-none-eabi \
gdb-multiarch
这里我解释一下每个工具是干嘛的:
- git:版本管理,PX4代码都在GitHub上
- cmake + ninja:编译系统,PX4用CMake管理构建
- python3-pip:装Python工具,比如px4-tools
- gcc-arm-none-eabi:ARM交叉编译器,编译飞控固件用
- gdb-multiarch:调试器,排查驱动问题必备
⚠️ 注意版本: 我遇到过gcc-arm-none-eabi版本太旧,编译报错的情况。建议装最新版:
sudo apt install gcc-arm-none-eabi=15:10.3-2021.10-4
或者去ARM官网下载最新版手动安装。
安装PX4专用工具
pip3 install --user px4-tools
pip3 install --user kconfiglib
pip3 install --user jsonschema
px4-tools是PX4官方维护的工具集,里面包含了编译、上传、调试的脚本。说白了,有了它你就不用自己写一堆make命令了。
验证安装
装完后,跑几个命令确认一下:
arm-none-eabi-gcc --version
cmake --version
python3 --version
git --version
如果每个命令都能正常输出版本号,恭喜你,环境搭好了。
💡 我个人的习惯: 装完基础包后,我会顺手装一个tree命令和htop。tree看目录结构,htop看系统资源。虽然不必须,但开发时挺顺手。
sudo apt install tree htop -y
2.4 本章知识体系
下面这张图,把本章的核心逻辑串起来了。你一看就明白:
说白了,这三块是递进关系。先选好安装方式(双系统或虚拟机),装好系统后,再装基础软件包。基础软件包是所有开发工作的起点,缺了它,后面PX4固件编译根本跑不起来。
⚠️ 最后提醒一句: 装完系统后,记得把/etc/apt/sources.list里的源换成国内镜像(清华、阿里、中科大都可以)。不然下载依赖包慢到你怀疑人生。我当年第一次装Ubuntu,等apt upgrade等了两个小时...后来换了国内源,五分钟搞定。
公众号:蓝海资料掘金营,微信deep3321