第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,每次新机器上跑一遍就行,省时省力。