查看以下有关如何使用 Yocto 创建 Linux 发行版的说明!
使用 Yocto 创建 Linux 发行版
1.所需的硬件和操作系统
- 最低 4GB 内存(越高越好)
- 最新的 Ubuntu 操作系统 (20.04 LTS) 或任何其他 Linux 操作系统:
- Fedora
- openSUSE
- CentOS
- Debian
- 至少有 100GB 可用空间的硬盘(更大的容量将确保更好的性能)。 Yocto 可能会占用大量资源,具体取决于您的最终产品。
如果您是 macOS 或 Windows 用户,请使用 VMware 或 Virtualbox 等虚拟化软件来运行 Linux 发行版。或者,您可以选择多重启动。
2.主机设置
首先,在主机系统中安装所需的依赖项。对于本文,示例使用的是 Ubuntu 发行版。如果您正在运行其他发行版,请查看 Yocto 项目快速入门教程并查看要安装的依赖项:
https://www.yoctoproject.org/docs/2.4/yocto-project-qs/yocto-project-qs.html
启动终端并执行以下命令:
sudo apt update sudo apt-get install wget git-core unzip make gcc g ++ build-essential subversion sed autoconf automake texi2html texinfo coreutils diffstat python-pysqlite2 docbook-utils libsdl1.2-dev libxml-parser-perl libgl1-mesa-dev libglu1-mesa-dev xsltproc desktop-file-utils chrpath groff libtool xterm gawk fop
3.复制 Yocto Poky
安装依赖项后,您可以继续下载 Yocto。您将从 Yocto 项目网站复制 Yocto 存储库。执行下面的命令,这将下载最新版本(分支“sumo”)。让我们在 Home 目录中创建一个目录,以易于访问且一致的方式构建 Yocto 项目。
mkdir ~/yocto mkdir ~/yocto/Project-One/cd ~/Yocto/Project-One/git clone-b sumo git://git.yoctoproject.org/poky.git
如果您收到类似“找不到 git 命令”的错误消息,则表示您的系统中没有安装 git。执行下面的命令进行安装。
sudo apt install git
4.初始化构建环境
要开始使用 Yocto,您需要初始化“构建环境”。执行下面的命令。第一个将目录更改为您刚刚复制的目录。第二个命令将初始化构建环境。
cd ~/Yocto/Project-One/poky source oe-init-build-env build
初始化完成后,您将拥有一个构建目录和一个配置文件。构建目录是所有系统构建发生的地方,并在该过程完成后存储图像文件。其实初始化之后,终端会自动指向build目录。您可以在上图中看到这一点。
5.配置
在/build目录下执行ls命令,会看到一个/conf目录,里面包含了所有的配置文件。使用以下命令导航到此目录:
$ cd ~/Yocto/Project-One/poky/build/conf/$ ls
在conf目录下执行ls命令,会看到local.conf文件。此文件指定目标机器的详细信息和所需目标架构的 SDK。
使用以下命令打开此文件进行编辑:
$ sudo nano local.conf
从下图中,目标版本是“qemux86-64”。
现在继续取消注释以下行(取消注释 # 符号)。
DL_DIR?="$ {TOPDIR}/下载" SSTATE_DIR?=“${TOPDIR}/sstate-cache”TMPDIR?="$ {TOPDIR}/tmp" PACKAGE_CLASSES?="Package_rpm" SDKMACHINE?="I686" EXTRA_IMAGE_FEATURES?="调试调整"
在继续编译过程之前,在 local.conf 文件的末尾添加以下几行。
BB_NUMBER_THREADS="X" PARALLEL_MAKE="-j X"
将 X 替换为计算机中处理器/CPU 数量的两倍。如果您有 4 个处理器,那么您会得到如下语句:
BB_NUMBER_THREADS='8' PARALLEL_MAKE='-j 8'
要查看计算机的 CPU 数量,请执行以下命令:
lscpu
6.编译构建过程
要开始构建映像,请在/build 目录中执行以下命令。
bitbake core-image-sato
此命令将开始为目标系统下载和编译软件包。请勿以root权限执行上述bitbake命令,否则会报错。
对于第一次构建,这可能需要几个小时(甚至超过 2 小时)。有时,bitbake 可能会失败。不要恐慌!请再次执行上述命令。该错误可能是由特定站点关闭或缺少资源引起的。
生成的二进制镜像存放在poky/build/tmp/deploy/images/qemux86的/build目录下。
0 评论