Yocto Linux:教程基础知识
Yocto 项目允许用户为嵌入式和物联网软件创建自定义 Linux 发行版。这是一个开源项目,得到了 Linux 基金会和科技行业其他知名人士的支持。它的一大优点是它可以在各种架构上工作,包括一些不那么主流或不广泛的架构,如 ARM、MIPS、PowerPC、x86 和 x86-64。
在本教程中,您将学习如何使用 Yocto 的基础知识。我们将逐步指导您开始为嵌入式系统创建您自己的 Linux 发行版。
在本教程中您将学习:
Yocto 有何用途?
如何使用 Yocto 创建 Linux 发行版
Yocto Linux:教程基础知识
要开始使用 Yocto,用户可以下载 Poky。 Poky 是 Yocto 作为示例构建的参考 Linux 发行版。创建自己的发行版的最简单方法是编辑用于构建 Poky 的文件。 此外,开发人员将提供用户配置、元文件、机器 BSP 配置和策略配置。然后可以编译自定义发行版。 Yocto 项目在其网站上有一个很棒的图表,有助于解释构建过程:
图片来源:Yocto 软件概述
使用 Yocto Project 构建 Linux 发行版 – 分步说明
对于 Ubuntu 系统,使用 Yocto 的过程有非常详细的记录,因此我们建议您将它用于您的主机系统。您仍然可以使用许多其他发行版,但需要参考系统要求页面以了解需要哪些必备包。在 Ubuntu 或任何基于 Debian 的系统上,您可以使用以下命令来安装所有需要的软件包依赖项:
$ sudo apt install 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 pylint xterm python3-subunit mesa-common-dev zstd liblz4-tool
接下来,我们将克隆包含所有 Poky 文件的 Yocto git 存档。
kirkstone
是撰写本文时的最新版本名称。$ git clone -b kirkstone git://git.yoctoproject.org/poky.git
接下来,进入 poky 目录并初始化构建。这将为我们生成一些配置文件和一个新目录。
$ cd poky $ source oe-init-build-env build
执行
source
命令后,您的终端将自动切换到build
目录。继续根据您的喜好编辑
local.conf
文件。您可以在此处选择目标架构、发行版将使用哪些软件包(RPM 或 DEB)以及其他设置。您选择不编辑的任何内容都将自动接受默认值。从技术上讲,您不必编辑任何内容。$ sudo nano conf/local.conf
接下来,使用
bitbake
命令开始编译。$ bitbake core-image-sato
此过程可能需要几个小时才能完成,具体取决于计算机的硬件和连接速度。许多资源将被下载和编译。
命令完成后的结果将是 build
目录和 poky/build/tmp/deploy/images/qemux86
中的二进制文件。
结束语
在本教程中,我们了解了如何使用 Yocto 为嵌入式设备构建自定义 Linux 发行版。我们在这里只触及了表面,因为使用 Yocto 可能会变得极其复杂,并且配置可以在非常细粒度的范围内完成。对于想要在嵌入式设备上使用 Linux、想要定制软件而不是依赖主流发行版并试图在构建之前删除不必要的部分的开发人员来说,Yocto 是天赐之物。