搭建Yocto开发环境:宿主机要求、安装必要软件包、下载Poky源码、配置Git与Repo
好,咱们正式开始动手了。
搭建开发环境这件事,说难不难,说简单也不简单。我见过不少新手,一上来就急着编译,结果卡在某个依赖包上折腾半天。其实你想想看,环境搭好了,后面的事情就顺了。这一节,我就带你一步步把Yocto的“地基”打牢。
宿主机要求:别让你的机器拖后腿
Yocto编译起来,说白了就是个“吃资源”的活。我最早用一台4GB内存的笔记本试过,编译到一半直接卡死,那叫一个崩溃。所以,硬件上咱们得有点底线。
| 项目 | 最低要求 | 推荐配置 |
|---|---|---|
| CPU | 双核 x86_64 | 4核以上,支持虚拟化 |
| 内存 | 4GB | 8GB或16GB |
| 磁盘 | 50GB空闲 | 100GB以上SSD |
| 操作系统 | Ubuntu 20.04 LTS | Ubuntu 22.04 LTS |
操作系统这块,我个人习惯用Ubuntu。CentOS也行,但包管理工具不一样,你得自己折腾。如果你用Debian或Fedora,原理一样,就是命令稍微改改。
安装必要软件包:缺啥补啥
Yocto编译过程中会调用大量工具链。缺一个包,编译就报错。我曾经因为少装了一个chrpath,排查了整整一下午。嗯,这里要注意,咱们一次性装齐。
打开终端,执行以下命令:
sudo apt-get update
sudo apt-get install -y \
gawk wget git diffstat unzip texinfo gcc build-essential \
chrpath socat cpio python3 python3-pip python3-pexpect \
xz-utils debianutils iputils-ping python3-git python3-jinja2 \
libegl1-mesa libsdl1.2-dev pylint3 xterm python3-subunit \
mesa-common-dev zstd liblz4-tool
python3-venv。Yocto的某些脚本依赖它,不装的话会报“No module named venv”的错误。
装完之后,验证一下关键工具:
gcc --version
python3 --version
git --version
确保gcc版本在8.0以上,Python 3.8以上。如果版本太低,Yocto的某些配方会罢工。
下载Poky源码:Yocto的“内核”
Poky是什么?说白了,它就是Yocto项目的参考发行版。里面包含了BitBake构建系统、元数据层、以及一堆基础配方。咱们的课程,就是基于Poky来展开的。
我建议你创建一个专用目录,别把源码散得到处都是:
mkdir -p ~/yocto
cd ~/yocto
然后克隆Poky仓库。这里我推荐用git clone,而不是下载压缩包。为什么?因为后续你要切换分支、打补丁,git管理起来方便得多。
git clone git://git.yoctoproject.org/poky
cd poky
克隆完成后,咱们切换到最新的稳定分支。以Yocto 4.0(Kirkstone)为例:
git checkout -t origin/kirkstone
下载完成后,看看目录结构:
ls -l
# 你会看到 bitbake/ meta/ meta-poky/ meta-skeleton/ oe-init-build-env 等
其中oe-init-build-env是环境初始化脚本,后面咱们会频繁用到它。
配置Git与Repo:管理多仓库的利器
Yocto项目往往不止一个仓库。除了Poky,你可能还需要meta-openembedded、meta-raspberrypi等第三方层。这时候,repo工具就派上用场了。
先配置Git,这是基础:
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"
git config --global color.ui auto
然后安装Repo工具。Repo是Google开发的一个Python脚本,专门用来管理多个Git仓库:
mkdir -p ~/bin
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
export PATH=$PATH:~/bin
http_proxy和https_proxy环境变量。
验证Repo是否安装成功:
repo --version
如果输出版本号,就说明搞定了。Repo的用法很简单,后面咱们讲到多仓库管理时,我会详细演示。
本章知识体系一览
为了让你更直观地理解整个环境搭建的脉络,我画了一张流程图:
这张图把咱们这一节的核心步骤串起来了。你照着这个流程走,基本不会出大问题。
最后说两句
环境搭建这件事,一次配好,后面省心。我见过太多人因为环境问题浪费大量时间。所以,别急,一步步来。装完包之后,最好重启一下终端,确保环境变量生效。
嗯,这一节的内容就到这里。你的机器现在应该已经具备了Yocto开发的基本条件。下一节,咱们就要真正开始写配方了,想想还有点小激动呢。
- 宿主机推荐8GB内存+100GB SSD+Ubuntu 22.04
- 一次性装齐所有依赖包,避免编译中断
- Poky源码用git clone,方便后续分支管理
- Repo工具用于管理多仓库,安装后记得验证
可可精品资料库