1 系统要求

欢迎阅读《Yocto Project 参考手册》。本手册提供当前 Yocto Project 版本的参考信息。在掌握 Yocto Project 基础知识后使用本手册,效果最好。 它不是入门读物,也不需要从头到尾通读。使用 Yocto Project 期间, 可以按需查阅本手册中的变量定义、类说明等内容。

有关 Yocto Project 的入门信息,请参阅 Yocto Project 网站 和《Yocto Project 概览与概念手册》的 “Yocto Project 开发环境”章。

如果希望不先学习相关概念,直接使用 Yocto Project 快速构建镜像, 请按照 Yocto Project 快速构建 操作。 具体操作方法见 Yocto Project 开发任务手册, 概览和概念性信息见 Yocto Project 概述与概念手册。

备注

有关 Yocto Project 文档集的更多信息,请参阅 链接与相关文档 一节。

1 最低可用磁盘空间

为 qemux86-64 机器构建 core-image-sato 之类的镜像, 系统至少需要 140 Gbytes 可用磁盘空间。 构建更复杂的镜像、同时运行多个构建,以及缓存构建产物以提高效率, 都需要更多磁盘空间。

如果磁盘空间不足,请参阅《开发任务手册》的 “节省磁盘空间”一节。

1 最低系统内存

在具有 4 个 CPU 核心的旧系统上,只需 32 Gbytes 内存, 就能为 qemux86-64 机器构建 core-image-sato 之类的镜像。 不过,尽可能增加内存和 CPU 核心数,可以显著加快构建。

1 受支持的 Linux 发行版

当前,Yocto Project 的 6.1(“Blacksail”)版本 支持以下发行版:

  • AlmaLinux 8

  • AlmaLinux 9

  • AlmaLinux 10

  • CentOS Stream 9

  • CentOS Stream 10

  • Debian 11

  • Debian 12

  • Debian 13

  • Fedora 42

  • Fedora 43

  • Fedora 44

  • openSUSE Leap 15.6

  • openSUSE Leap 16.0

  • Rocky Linux 8

  • Rocky Linux 9

  • Rocky Linux 10

  • Ubuntu 22.04 (LTS)

  • Ubuntu 24.04 (LTS)

  • Ubuntu 25.04

  • Ubuntu 25.10

  • Ubuntu 26.04 (LTS)

以下发行版版本仍在测试范围内,尽管发行组织已不再公开提供更新:

  • Fedora 42

  • openSUSE Leap 15.5

  • Ubuntu 25.04

  • Ubuntu 25.10

请注意,Yocto Project 无法获得这些版本可能提供的非公开更新。 因此,如果你使用此类更新,我们的测试参考价值有限。 此外,在较旧的发行版上可能需要使用 buildtools, 以获得足够新的 Python 等工具。

最后,以下发行版版本曾在“Blacksail”的早期修订版中测试, 但现在已不再测试:

此列表目前为空

备注

  • Yocto Project 团队尽力确保所有版本与每个正式支持的 Linux 发行版 完全兼容,但仍可能遇到只发生在特定发行版上的问题。

  • Yocto Project 版本针对上表中的稳定 Linux 发行版进行测试。 其他发行版也应能使用,但未经过验证。

  • 尤其是滚动发行版和开发中的发行版,由于它们不断变化, Yocto Project 不支持它们,目前也没有支持计划。 欢迎提交补丁和缺陷报告,但我们的优先级仍是上表中的受支持平台。

  • 如果你的 Linux 发行版不在上表中,建议获取 buildtools 或 buildtools-extended 压缩包,其中包含相应 Yocto Project 版本所需的主机工具。通常按照 “所需的 Git、tar、Python、make 和 gcc 版本”一节运行 scripts/install-buildtools 即可。

  • 可以在 Windows 10 或更高版本、Windows Server 2019 或更高版本上, 使用 Windows Subsystem For Linux v2 建立构建主机, 但使用 WSL 2 的构建主机不在验证范围内。

    更多信息请参阅《Yocto Project 开发任务手册》的 设置 Windows Subsystem For Linux(WSL 2) 一节。

  • 如果遇到问题,请到 Yocto Project Bugzilla 提交缺陷。我们希望了解你的使用体验。有关如何提交缺陷的信息, 请参阅 Yocto Project 的 Bugzilla Wiki 页面, 以及《Yocto Project 与 OpenEmbedded 贡献者指南》的 “报告 Yocto 项目与 OpenEmbedded 的缺陷”一节。

1 构建主机所需的软件包

若覆盖使用 Yocto Project 的全部构建场景,开发主机需要的软件包可能很多。 本节按 Linux 发行版和用途说明所需软件包。

1 Ubuntu 和 Debian

在运行受支持的 Ubuntu 或 Debian Linux 发行版的无图形界面系统上, 构建镜像需要以下软件包:

sudo apt-get install build-essential chrpath cpio debianutils diffstat file gawk gcc git iputils-ping libacl1 libcrypt-dev locales python3 python3-git python3-jinja2 python3-pexpect python3-pip python3-subunit socat texinfo unzip wget xz-utils zstd

还需要确保已启用 en_US.UTF-8 区域设置:

$ locale --all-locales | grep en_US.utf8

如果尚未启用,可以重新配置 locales 软件包以添加它 (需要交互式 shell):

$ sudo dpkg-reconfigure locales

备注

  • 在非交互式 shell 中,dpkg-reconfigure 无法按预期工作。 要添加此区域设置,需要编辑 /etc/locale.gen 文件,添加 en_US.UTF-8 条目或取消该条目的注释。 一种简单的方法是以 root 身份执行:

    $ echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
    $ locale-gen
    
  • 如果构建系统安装了 oss4-dev 软件包,QEMU 构建可能失败, 原因是该软件包在 Debian 系统中安装了它自己定制的 /usr/include/linux/soundcard.h。遇到这种情况时, 请尝试以下任一种解决方法:

    $ sudo apt build-dep qemu
    $ sudo apt remove oss4-dev
    

此外,在 Debian 11 和 Ubuntu 22.04 之外的发行版上,安装以下软件包。 这两个版本请参阅下面的说明:

$ sudo apt-get install python3-websockets

备注

Debian 11 和 Ubuntu 22.04 提供的 python3-websockets 不满足最低版本要求。此软件包用于从上游 Yocto Project 服务器获取 预构建的 共享状态 产物。 更多信息见 core/yocto/sstate-mirror-cdn。

要使用此功能,可以通过以下任一种方式获得正确版本的 python3-websockets:

构建项目文档手册需要以下软件包:

sudo apt install git librsvg2-bin locales make python3-pip python3-venv
python3 -m venv --clear ./yocto-docs-venv
. ./yocto-docs-venv/bin/activate
python3 -m pip install sphinx sphinx_rtd_theme pyyaml sphinx-copybutton 'sphinxcontrib-svg2pdfconverter>=2.0.0'

除了上述软件包,构建 PDF 格式文档还需要以下软件包:

sudo apt install fonts-freefont-otf latexmk tex-gyre texlive-fonts-extra texlive-fonts-recommended texlive-lang-all texlive-latex-extra texlive-latex-recommended texlive-xetex

1 Fedora 软件包

在运行受支持的 Fedora 发行版的无图形界面系统上,构建镜像需要以下软件包:

sudo dnf install bzip2 chrpath cpio cpp diffstat diffutils file findutils gawk gcc gcc-c++ git glibc-devel glibc-langpack-en gzip hostname libacl make patch perl perl-Data-Dumper perl-File-Compare perl-File-Copy perl-FindBin perl-Text-ParseWords perl-Thread-Queue perl-bignum perl-locale python python3 python3-GitPython python3-jinja2 python3-pexpect python3-pip python3-websockets rpcgen socat tar texinfo unzip wget which xz zstd $([ $(rpm -E %fedora) -ge 42 ] && echo "util-linux-script")

构建项目文档手册需要以下软件包:

sudo dnf install git glibc-locale-source librsvg2-tools make python3-pip which
python3 -m venv --clear ./yocto-docs-venv
. ./yocto-docs-venv/bin/activate
python3 -m pip install sphinx sphinx_rtd_theme pyyaml sphinx-copybutton 'sphinxcontrib-svg2pdfconverter>=2.0.0'

除了上述软件包,构建 PDF 格式文档还需要以下软件包:

sudo dnf install 'texlive-collection-lang*' latexmk texlive-collection-fontsextra texlive-collection-fontsrecommended texlive-collection-latex texlive-collection-latexextra texlive-collection-latexrecommended texlive-collection-xetex texlive-fncychap texlive-gnu-freefont texlive-tex-gyre texlive-xetex

1 openSUSE Leap 软件包

1 openSUSE Leap 15.6 软件包

在运行受支持的 openSUSE Leap 15.6 发行版的无图形界面系统上,构建镜像需要以下软件包:

sudo zypper install bzip2 chrpath diffstat gcc gcc-c++ git gzip hostname libacl1 make makeinfo patch python python-curses python-xml python3 python3-Jinja2 python3-curses python3-pexpect python3-pip rpcgen socat tar wget which xz zstd
sudo pip3 install GitPython

此外,openSUSE Leap 15.6 还需要安装并设置 buildtools 压缩包, 因为该发行版提供的 Python 对 BitBake 而言过旧。 更多信息见下文的 所需的 Git、tar、Python、make 和 gcc 版本 一节。

构建项目文档手册需要以下软件包:

sudo zypper install git glibc-i18ndata make python3-pip rsvg-convert which
python3 -m venv --clear ./yocto-docs-venv
. ./yocto-docs-venv/bin/activate
python3 -m pip install sphinx sphinx_rtd_theme pyyaml sphinx-copybutton 'sphinxcontrib-svg2pdfconverter>=2.0.0'

除了上述软件包,构建 PDF 格式文档还需要以下软件包:

sudo zypper install 'texlive-collection-lang*' texlive-collection-fontsextra texlive-collection-fontsrecommended texlive-collection-latex texlive-collection-latexextra texlive-collection-latexrecommended texlive-collection-xetex texlive-fncychap texlive-gnu-freefont texlive-latexmk texlive-tex-gyre texlive-xetex

1 openSUSE Leap 16.0 软件包

在运行受支持的 openSUSE Leap 16.0 发行版的无图形界面系统上,构建镜像需要以下软件包:

sudo zypper install bzip2 chrpath diffstat gcc gcc-c++ git gzip hostname libacl1 make makeinfo patch python3 python3-GitPython python3-Jinja2 python3-curses python3-pexpect python3-pip python3-websockets python3-xml rpcgen socat tar wget which xz zstd

构建项目文档手册需要以下软件包:

sudo zypper install git glibc-i18ndata make python3-pip rsvg-convert which
python3 -m venv --clear ./yocto-docs-venv
. ./yocto-docs-venv/bin/activate
python3 -m pip install sphinx sphinx_rtd_theme pyyaml sphinx-copybutton 'sphinxcontrib-svg2pdfconverter>=2.0.0'

除了上述软件包,构建 PDF 格式文档还需要以下软件包:

sudo zypper install 'texlive-collection-lang*' texlive-collection-fontsextra texlive-collection-fontsrecommended texlive-collection-latex texlive-collection-latexextra texlive-collection-latexrecommended texlive-collection-xetex texlive-fncychap texlive-gnu-freefont texlive-latexmk texlive-tex-gyre texlive-xetex

1 AlmaLinux 软件包

在运行受支持的 AlmaLinux 发行版的无图形界面系统上,构建镜像需要以下软件包:

sudo dnf install -y epel-release
sudo dnf install -y dnf-plugins-core
sudo dnf config-manager --set-enabled crb || sudo dnf config-manager --set-enabled powertools
sudo dnf makecache
sudo dnf install -y bzip2 chrpath cpio cpp diffstat diffutils gawk gcc gcc-c++ git glibc-devel glibc-langpack-en gzip libacl make patch perl perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue python3 python3-GitPython python3-jinja2 python3-pexpect python3-pip rpcgen socat tar texinfo unzip wget which xz zstd

还需要使用 buildtools 压缩包,其中提供了一组版本固定的基本主机工具。 有关下载和安装该压缩包的方法,请参阅下文的 所需的 Git、tar、Python、make 和 gcc 版本 一节。

备注

AlmaLinux 9、CentOS 9 和 RockyLinux 9 发行版受到 https://bugzilla.yoctoproject.org/show_bug.cgi?id=16143 中所述缺陷的影响, 因此需要使用 buildtools 压缩包。

备注

  • Extra Packages for Enterprise Linux(即 epel-release) 是一组在 RHEL/CentOS 上构建的 Fedora 软件包, 便于安装企业级 Linux 默认不包含的软件包。 需要单独安装这些软件包。

  • PowerTools/CRB 仓库提供 rpcgen 和 texinfo 等额外软件包。

  • makecache 命令会使用 epel-release 提供的额外元数据。

构建项目文档手册需要以下软件包:

sudo dnf install -y git glibc-locale-source librsvg2-tools make python3-pip which
python3 -m venv --clear ./yocto-docs-venv
. ./yocto-docs-venv/bin/activate
python3 -m pip install sphinx sphinx_rtd_theme pyyaml sphinx-copybutton 'sphinxcontrib-svg2pdfconverter>=2.0.0'

除了上述软件包,构建 PDF 格式文档还需要以下 TeX Live 软件包, 可使用 TeX Live 软件包管理器 安装:

sudo dnf install -y wget perl
textooldir=${TEXTOOLDIR:-"./docs-build-tex-tools"}
mkdir -p "$textooldir"/tl
wget https://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz -O "$textooldir"/install-tl-unx.tar.gz
tar xzf "$textooldir"/install-tl-unx.tar.gz -C "$textooldir"
"$textooldir"/install-tl-*/install-tl --scheme=small --texdir="${textooldir}"/tl --no-interaction
PATH="$PATH:${textooldir}/tl/bin/x86_64-linux" tlmgr install titlesec varwidth tabulary needspace upquote framed capt-of wrapfig fncychap gnu-freefont ctex latexmk nimbus15
rm -r "$textooldir"/install-tl*

警告

上述 TeX Live 安装方式仅适用于 x86_64 主机。

构建 PDF 文档之前,设置 PATH 以使用已安装的软件包。 其中 ${textooldir} 指向上一步的 TeX Live 安装位置:

$ export PATH="${PATH}:${textooldir}/tl/bin/x86_64-linux"

1 CentOS Stream 软件包

在运行受支持的 CentOS Stream 发行版的无图形界面系统上,构建镜像需要以下软件包:

sudo dnf install -y epel-release
sudo dnf install -y dnf-plugins-core
sudo dnf config-manager --set-enabled crb || sudo dnf config-manager --set-enabled powertools
sudo dnf makecache
sudo dnf install -y bzip2 chrpath cpio cpp diffstat diffutils gawk gcc gcc-c++ git glibc-devel glibc-langpack-en gzip libacl make patch perl perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue python3 python3-GitPython python3-jinja2 python3-pexpect python3-pip rpcgen socat tar texinfo unzip wget which xz zstd

还需要使用 buildtools 压缩包,其中提供了一组版本固定的基本主机工具。 有关下载和安装该压缩包的方法,请参阅下文的 所需的 Git、tar、Python、make 和 gcc 版本 一节。

备注

AlmaLinux 9、CentOS 9 和 RockyLinux 9 发行版受到 https://bugzilla.yoctoproject.org/show_bug.cgi?id=16143 中所述缺陷的影响, 因此需要使用 buildtools 压缩包。

构建项目文档手册需要以下软件包:

sudo dnf install -y git glibc-locale-source librsvg2-tools make python3-pip which
python3 -m venv --clear ./yocto-docs-venv
. ./yocto-docs-venv/bin/activate
python3 -m pip install sphinx sphinx_rtd_theme pyyaml sphinx-copybutton 'sphinxcontrib-svg2pdfconverter>=2.0.0'

除了上述软件包,构建 PDF 格式文档还需要以下 TeX Live 软件包, 可使用 TeX Live 软件包管理器 安装:

sudo dnf install -y wget perl
textooldir=${TEXTOOLDIR:-"./docs-build-tex-tools"}
mkdir -p "$textooldir"/tl
wget https://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz -O "$textooldir"/install-tl-unx.tar.gz
tar xzf "$textooldir"/install-tl-unx.tar.gz -C "$textooldir"
"$textooldir"/install-tl-*/install-tl --scheme=small --texdir="${textooldir}"/tl --no-interaction
PATH="$PATH:${textooldir}/tl/bin/x86_64-linux" tlmgr install titlesec varwidth tabulary needspace upquote framed capt-of wrapfig fncychap gnu-freefont ctex latexmk nimbus15
rm -r "$textooldir"/install-tl*

警告

上述 TeX Live 安装方式仅适用于 x86_64 主机。

构建 PDF 文档之前,设置 PATH 以使用已安装的软件包。 其中 ${textooldir} 指向上一步的 TeX Live 安装位置:

$ export PATH="${PATH}:${textooldir}/tl/bin/x86_64-linux"

1 RockyLinux 软件包

在运行受支持的 RockyLinux 发行版的无图形界面系统上,构建镜像需要以下软件包:

sudo dnf install -y epel-release
sudo dnf install -y dnf-plugins-core
sudo dnf config-manager --set-enabled crb || sudo dnf config-manager --set-enabled powertools
sudo dnf makecache
sudo dnf install -y bzip2 chrpath cpio cpp diffstat diffutils gawk gcc gcc-c++ git glibc-devel glibc-langpack-en gzip libacl make patch perl perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue python3 python3-GitPython python3-jinja2 python3-pexpect python3-pip rpcgen socat tar texinfo unzip wget which xz zstd

还需要使用 buildtools 压缩包,其中提供了一组版本固定的基本主机工具。 有关下载和安装该压缩包的方法,请参阅下文的 所需的 Git、tar、Python、make 和 gcc 版本 一节。

备注

AlmaLinux 9、CentOS 9 和 RockyLinux 9 发行版受到 https://bugzilla.yoctoproject.org/show_bug.cgi?id=16143 中所述缺陷的影响, 因此需要使用 buildtools 压缩包。

备注

  • Extra Packages for Enterprise Linux(即 epel-release) 是一组在 RHEL/CentOS 上构建的 Fedora 软件包, 便于安装企业级 Linux 默认不包含的软件包。 需要单独安装这些软件包。

  • PowerTools/CRB 仓库提供 rpcgen 和 texinfo 等额外软件包。

  • makecache 命令会使用 epel-release 提供的额外元数据。

构建项目文档手册需要以下软件包:

sudo dnf install -y git glibc-locale-source librsvg2-tools make python3-pip which
python3 -m venv --clear ./yocto-docs-venv
. ./yocto-docs-venv/bin/activate
python3 -m pip install sphinx sphinx_rtd_theme pyyaml sphinx-copybutton 'sphinxcontrib-svg2pdfconverter>=2.0.0'

除了上述软件包,构建 PDF 格式文档还需要以下 TeX Live 软件包, 可使用 TeX Live 软件包管理器 安装:

sudo dnf install -y wget perl
textooldir=${TEXTOOLDIR:-"./docs-build-tex-tools"}
mkdir -p "$textooldir"/tl
wget https://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz -O "$textooldir"/install-tl-unx.tar.gz
tar xzf "$textooldir"/install-tl-unx.tar.gz -C "$textooldir"
"$textooldir"/install-tl-*/install-tl --scheme=small --texdir="${textooldir}"/tl --no-interaction
PATH="$PATH:${textooldir}/tl/bin/x86_64-linux" tlmgr install titlesec varwidth tabulary needspace upquote framed capt-of wrapfig fncychap gnu-freefont ctex latexmk nimbus15
rm -r "$textooldir"/install-tl*

警告

上述 TeX Live 安装方式仅适用于 x86_64 主机。

构建 PDF 文档之前,设置 PATH 以使用已安装的软件包。 其中 ${textooldir} 指向上一步的 TeX Live 安装位置:

$ export PATH="${PATH}:${textooldir}/tl/bin/x86_64-linux"

1 所需的 Git、tar、Python、make 和 gcc 版本

要使用构建系统,开发主机上的工具必须满足以下版本要求:

  • Git 2.22.0 或更高版本

  • tar 1.28 或更高版本

  • Python 3.9.0 或更高版本

  • GNU make 4.0 或更高版本

如果开发主机未满足所有要求,可以安装包含这些工具的 buildtools 压缩包。既可以下载预构建的压缩包, 也可以使用 BitBake 自行构建。

此外,开发主机上的 gcc 必须满足以下版本要求:

  • gcc 10.1 或更高版本

如果开发主机不满足此要求,可以安装 buildtools-extended 压缩包,其中包含额外工具,相当于 Debian/Ubuntu 的 build-essential 包。

如果系统的 make 版本存在问题(例如没有打补丁的 make 4.2.1), 而其他主机工具可用,则可以改用 buildtools-make 压缩包。

以下各节介绍安装 buildtools、buildtools-extended 或 buildtools-make 工具集的三种方式。

1 使用 install-buildtools 脚本安装预构建的 buildtools 压缩包

使用 install-buildtools 脚本是三种方式中最简单的。 它会下载预构建的 buildtools 安装程序,并自动安装工具:

  1. 执行 install-buildtools 脚本。例如:

    $ cd /path/to/bitbake-builds
    $ ./layers/openembedded-core/scripts/install-buildtools \
      --without-extended-buildtools \
      --base-url https://downloads.yoctoproject.org/releases/yocto \
      --release yocto-6.1 \
      --installer-version 6.1
    

    执行期间会下载 buildtools 压缩包,验证下载文件的校验和, 运行安装程序,并执行基本检查,确保安装后可以正常工作。

    为避免需要 sudo 权限,install-buildtools 脚本默认让安装程序 安装到以下位置:

    /path/to/bitbake-builds/buildtools
    

    如果开发主机需要 buildtools-extended 压缩包提供的额外工具, 可以改为使用默认参数执行 install-buildtools 脚本:

    $ cd /path/to/bitbake-builds
    $ ./layers/openembedded-core/scripts/install-buildtools
    

    如果开发主机的 make 版本存在问题,只需要一个已知正常的 make 版本,可以使用 --make-only 选项:

    $ cd /path/to/bitbake-builds
    $ ./layers/openembedded-core/scripts/install-buildtools --make-only
    
  2. 使用如下命令加载工具环境设置脚本:

    $ source /path/to/bitbake-builds/buildtools/environment-setup-x86_64-pokysdk-linux
    

    加载设置脚本后,工具会加入 PATH,运行工具所需的其他环境变量 也会初始化。此时即可使用正常工作的 Git、tar、Python 和 chrpath。 对于 buildtools-extended 压缩包,还可使用 gcc、make, 以及 packagegroup-core-buildessential 包含的其他工具。

1 下载预构建的 buildtools 压缩包

如果不想使用 install-buildtools 脚本, 可以按照以下步骤自行下载并运行预构建的 buildtools 安装程序:

  1. 访问 https://downloads.yoctoproject.org/releases/yocto/yocto-6.1_M3/buildtools/, 找到并下载对应主机架构和所需工具集的 .sh 文件;工具集可选 buildtools、buildtools-extended 或 buildtools-make。

  2. 执行安装脚本。以下是传统安装程序的示例:

    $ sh ~/Downloads/x86_64-buildtools-nativesdk-standalone-6.1.sh
    

    以下是扩展安装程序的示例:

    $ sh ~/Downloads/x86_64-buildtools-extended-nativesdk-standalone-6.1.sh
    

    仅安装 make 的安装程序示例:

    $ sh ~/Downloads/x86_64-buildtools-make-nativesdk-standalone-6.1.sh
    

    执行过程中会提示选择安装目录, 例如可以选择 /home/your-username/buildtools。

  3. 按照安装脚本的提示,加载工具环境设置脚本:

    $ source /home/your_username/buildtools/environment-setup-x86_64-pokysdk-linux
    

    加载设置脚本后,工具会加入 PATH,运行工具所需的其他环境变量 也会初始化。此时即可使用正常工作的 Git、tar、Python 和 chrpath。 对于 buildtools-extended 压缩包,还可使用 gcc、make, 以及 packagegroup-core-buildessential 包含的其他工具。

1 自行构建 buildtools 压缩包

只有在已有能够运行 BitBake 的构建主机时, 才适合自行构建并运行 buildtools 安装程序。 使用该机器构建 .sh 文件,然后将它传输到不满足 Git、tar、Python (或 gcc)最低要求的机器上运行。

以下是自行构建并运行 buildtools 安装程序的步骤:

  1. 在能够运行 BitBake 的机器上,确保已通过设置脚本 (oe-init-build-env)设置构建环境。

  2. 运行 BitBake 命令构建压缩包:

    $ bitbake buildtools-tarball
    

    或者构建扩展压缩包:

    $ bitbake buildtools-extended-tarball
    

    或者构建仅包含 make 的压缩包:

    $ bitbake buildtools-make-tarball
    

    备注

    SDKMACHINE 变量决定构建用于 32 位还是 64 位系统的工具。

    构建完成后,可以在 Build Directory 的 tmp/deploy/sdk 子目录中找到用于安装工具的 .sh 文件。 安装程序的文件名包含“buildtools”或“buildtools-extended”。

  3. 将 .sh 文件从构建主机传输到不满足 Git、tar、Python (或 gcc)要求的机器。

  4. 在该机器上运行 .sh 文件安装工具。 以下是传统安装程序的示例:

    $ sh ~/Downloads/x86_64-buildtools-nativesdk-standalone-6.1.sh
    

    对于扩展安装程序:

    $ sh ~/Downloads/x86_64-buildtools-extended-nativesdk-standalone-6.1.sh
    

    对于仅安装 make 的安装程序:

    $ sh ~/Downloads/x86_64-buildtools-make-nativesdk-standalone-6.1.sh
    

    执行过程中会提示选择安装目录, 例如可以选择 /home/your_username/buildtools。

  5. 使用如下命令加载工具环境设置脚本:

    $ source /home/your_username/buildtools/environment-setup-x86_64-poky-linux
    

    加载设置脚本后,工具会加入 PATH,运行工具所需的其他环境变量 也会初始化。此时即可使用正常工作的 Git、tar、Python 和 chrpath。 对于 buildtools-extended 压缩包,还可使用 gcc、make, 以及 packagegroup-core-buildessential 包含的其他工具。