系统要求
- 最少 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
为了使用构建系统,主机开发系统必须满足Git、tar和Python的以下版本要求:
-
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.
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