第3章:Linux宿主机准备——在Ubuntu 22.04上安装基础依赖包
好,咱们继续。上一章我们把Ubuntu 22.04装好了,现在这台机器还是个「毛坯房」。要搞Zephyr开发,得先给它装上几样趁手的工具。说白了,就是Git、CMake、Ninja、Python3-pip这四件套。
我刚开始接触嵌入式Linux开发时,总觉得装环境是浪费时间。后来被坑过几次才明白——基础依赖没装对,后面全是泪。嗯,咱们一步到位。
3.1 为什么是这四样?
你可能想问:为啥非得装这几个?我简单解释下:
- Git:版本控制,拉取Zephyr源码、管理自己的代码,没它寸步难行。
- CMake:构建系统。Zephyr用CMake来组织编译流程,相当于项目的「总指挥」。
- Ninja:构建工具。CMake生成构建规则后,Ninja负责真正干活——编译、链接。它比Make快不少。
- Python3-pip:Python包管理器。Zephyr的很多脚本、工具链依赖Python环境,pip用来装这些依赖。
你想想看,这四样东西就像盖房子的脚手架、水泥、砖头和铲子。缺一样,活就没法干。
3.2 开始安装
Ubuntu 22.04的包管理工具是apt。我个人习惯先更新一下索引,确保能装到最新版本。
sudo apt update
然后一条命令把四样东西全装上:
sudo apt install git cmake ninja-build python3-pip -y
这里有个小细节:ninja-build是Ubuntu里Ninja的包名,不是ninja。我第一次装的时候就写错了,结果提示找不到包。嗯,注意一下。
装完之后,验证一下是否成功:
git --version
cmake --version
ninja --version
pip3 --version
如果每个命令都输出了版本号,恭喜你,基础环境搞定了。
我的经验:我曾经在Ubuntu 20.04上装过CMake,默认版本是3.16,但Zephyr要求至少3.20以上。Ubuntu 22.04自带的CMake是3.22,够用。如果你用旧版Ubuntu,可能需要手动添加Kitware的APT源来升级CMake。这点后面章节会细讲。
3.3 避坑指南
安装过程中,有几个坑我替你们踩过了:
- Python版本问题:Ubuntu 22.04默认Python3是3.10,没问题。但别手贱去装Python2,Zephyr已经不支持了。
- pip3 vs pip:有些系统里
pip指向Python2,pip3才是Python3的。我建议统一用pip3,避免混淆。 - Ninja版本:Ubuntu 22.04仓库里的Ninja是1.10,够用。如果你需要最新版,可以自己编译,但没必要。
注意:不要用sudo pip3 install来装系统级的Python包。这可能会破坏系统Python环境。后面我们会用虚拟环境或用户级安装来管理Zephyr的Python依赖。
3.4 安装后的检查清单
装完别急着走。我习惯列个清单,逐项确认:
| 工具 | 最低版本要求 | 验证命令 |
|---|---|---|
| Git | 2.x 以上 | git --version |
| CMake | 3.20.0 以上 | cmake --version |
| Ninja | 1.9 以上 | ninja --version |
| Python3 | 3.8 以上 | python3 --version |
| pip3 | 21.x 以上 | pip3 --version |
你可以在终端里一条条跑一遍。如果版本都达标,那就可以放心进入下一步了。
3.5 我的一点建议
说实话,装环境这事看着简单,但很多人栽在这里。我见过同事因为Git没配好,拉代码时各种报错;也见过有人CMake版本太低,编译Zephyr时卡住半天找不到原因。
所以我的建议是:别跳过验证步骤。哪怕多花两分钟,也比后面排查问题强。你想想看,如果编译到一半才发现工具链有问题,那才叫崩溃。
好,基础依赖装完了。下一章我们开始装Zephyr SDK和工具链,那才是真正进入Zephyr的世界。
小技巧:如果你经常重装系统,可以把这些安装命令写成一个shell脚本。我自己的脚本就叫setup_zephyr_env.sh,每次新机器上跑一遍就行,省时省力。