*****最近学习Linux内核需要用到yocto的环境,构建过程中遇到很多问题,在这统一记录一下*****
1.安装支持依赖:
输入以下命令即可:
sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat cpio python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev pylint3 xterm python3-subunit mesa-common-dev
这一步基本上都没有什么问题,很顺利
2.使用 Git 克隆 Poky
这一步开始我就开始出现各种问题,比如下载时间太长啊,中断下载啊,很崩溃,最后找到最优解,就是在github上寻找资源,步骤如下:
然后输入命令:
git clone + 你复制的地址
,例如我的是:
git clone https://github.com/yoctoproject/poky.git
这样下载的速度会快很多,并且文件下载的很完整,亲测可用好用
下载完成之后~~~~
3.进到 poky
目录并查看标签:
cd poky
git fetch --tags
git tag
如图:
按Ctrl+z退出!!!
4.切换版本分支
这个版本应该是比较稳定的!
输入命令:
git checkout tags/yocto-3.1.31 -b my-yocto-3.1.31
5.初始化构建环境
在 poky
目录中运行 oe-init-build-env 环境设置脚本,以在构建主机上定义 Yocto Project 的构建环境
输入命令:
cd ~/poky
source oe-init-build-env
设置完成后直接进入了build目录
如图:
6.生成操作系统映像
上面的操作都完成了之后,也就进入了我最痛苦的时候,就是构建镜像,因为我的网络原因,n次中断构建,先告诉大家步骤,后续再讲解如何debug
(1)
下行添加到构建目录 local.conf
中的文件中:加入这一行,通过使用镜像,可以显著加快构建速度并防止获取器故障
SSTATE_MIRRORS ?= "file://.*https://sstate.yoctoproject.org/all/PATH;downloadfilename=PATH"
复制进去:Ctrl+S保存一下就可以退出了(通过使用镜像,可以显著加快构建速度并防止获取器故障。)
(2)
启动生成:继续执行以下命令,为目标生成操作系统映像,如 core-image-sato
本例所示:
bitbake core-image-sato
这样就开始编译了
非常非常漫长的时间,非常非常漫长的时间。。。。一定一定要找一个好网络,很多时候你出错的原因就是没有好网络
成功之后就是这个样子啦:
7.使用 QEMU 模拟图像
构建此特定映像后,可以启动 QEMU,这是 Yocto 项目附带的快速 EMUlator:
输入命令:
runqemu qemux86-64
然后就可以进入如下界面,大功告成!!!!!
希望大家遇到错误不要气馁,很有可能是网络的问题,换个好网络重新构建就好啦。加油!!!!
方便的话在下面评论区留下大家使用yocto都是用来干啥的呀,想了解一下!!!