系统要求

  • 最少 4-8 GB 内存
  • 磁盘剩余空间至少 60-80 GB
  • CentOS 7.6 或者其他支持Linux发行版

 安装软件依赖( CentOS-7):

sudo yum install -y epel-release
sudo yum makecache
sudo yum install gawk make wget tar bzip2 gzip python3 unzip perl patch diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath socat perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue python36-pip xz which SDL-devel xterm mesa-libGL-devel zstd lz4 -y
sudo pip3 install GitPython jinja2

如果要构建Yocto项目文档手册,所需的包:

sudo yum install make python3-pip which -y
sudo pip3 install sphinx sphinx_rtd_theme pyyaml

为了使用构建系统,主机开发系统必须满足GittarPython的以下版本要求:

  • Git 1.8.3.1 or greater

  • tar 1.28 or greater

  • Python 3.6.0 or greater

  • gcc 5.0 or greater

 拉取poky代码

git clone git://git.yoctoproject.org/poky

进入poky目录,选择一个发行代码名(如honister),对应于最新的稳定版本或长期支持版本。

cd poky
git branch -a

git checkout -t origin/honister -b my-honister

初始化构建环境

        进入 poky 目录,然后运行下面的命令为 Yocto 开发环境设置(设置/导出)一些环境变量。

source oe-init-build-env

        如下所示,在运行了 open embedded (oe) 的构建环境脚本之后,终端里的路径会自动切换到 build 目录,以便进行之后行发行版的的配置和构建。

检查本地配置文件

        设置生成环境时,在conf目录下存在一个local.conf文件,这是 Yocto 用来设置目标机器细节和 SDK 的目标架构的配置文件。后续会详细讲解这个文件的作用。

启动构建

        现在运行下面的 bitbake 工具命令开始为选定的目标机器下载和编译软件包。

        需要再普通用户下执行,不能在root用户下执行,否则会报错

bitbake core-image-sato

        在下载了 SDK 和必要的库之后,下一步工作是下载并编译软件包。如下截图展示了为构建新发行版而执行的任务。这一步将会执行 2-3 小时,因为首先要下载需要的软件包,然后还要为新的 Linux 发行版编译这些软件包。

启动构建

runqemu qemux86-64

一旦构建了这个特定映像,就可以启动QEMU,QEMU是Yocto项目附带的一个快速仿真器。

我本机磁盘空间太小了,最后没有执行完命令,磁盘就满了,后续的验证请自己参考验证。

参考:

1 System Requirements — The Yocto Project ® dev documentation

Yocto Project Quick Build — The Yocto Project ® dev documentation

技术|如何在 Ubuntu 上用 Yocto 创建你自己的嵌入式 Linux 发行版

FAQ:

1. FATAL: The knotty ui could not load the required curses python module.

        解决方法参考:FATAL: The knotty ui could not load the required curses python module._大帅的博客-CSDN博客https://blog.csdn.net/hhs_1996/article/details/121315421

2. ERROR: Unable to connect to bitbake server, or start one (server startup failures would be in bitbake-cookerdaemon.log). 

解决方法: 删除bitbake.lock文件

rm -rf ./bitbake.lock

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐