By: fulinux
E-mail: fulinux@sina.com
Blog: https://blog.csdn.net/fulinus
喜欢的盆友欢迎点赞和订阅!
你的喜欢就是我写作的动力!
返回总目录:Yocto开发讲解系列 - 总目录
目标理想:
我的理想是通过一条命令生成对应开发板的所有镜像文件,开机后的系统跑着Qt的wayland桌面管理系统,实现一个类似手机桌面环境的系统,但是精简、高效率、不吃资源、方便应用层实现多个Qt程序来回切换使用桌面等等。这是我学习yocto和wayland/QtWayland的目的
构建一个特殊的yocto poky项目
Welcome! This short document steps you through the process for a typical image build using the Yocto Project. The document also introduces how to configure a build for specific hardware. You will use Yocto Project to build a reference embedded OS called Poky.
欢迎光临!这个简短的文档指导您完成使用Yocto项目构建典型映像的过程。该文档还介绍了如何为特定硬件配置构建。您将使用Yocto项目构建一个名为Poky的引用嵌入式操作系统。
ubuntu系统环境:
对编译机器的要求:
Git, tar, Python和gcc版本需要满足如下要求:
- Git 1.8.3.1 or greater
- tar 1.28 or greater
- Python 3.5.0 or greater
- gcc 5.0 or greater
我当前的ubuntu版本如下:
$ uname -a
Linux peeta-OptiPlex-7050 4.15.0-136-generic #140~16.04.1-Ubuntu SMP Wed Feb 3 18:51:03 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
- 1
- 2
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 -y
- 1
- 2
- 3
- 4
提示:yocto下载和编译的整个环节(除了运行QEMU虚拟机外)不需要root权限,请尽可能不要在root环境下去操作哦
下载yocto项目:
$ git clone git://git.yoctoproject.org/poky
$ cd poky
$ git fetch --tags
- 1
- 2
- 3
poky克隆慢的可以在github上面找找资源,比如:
$ git clone https://github.com/gc-plp/poky.git
$ cd poky
$ git remote set-url origin git://git.yoctoproject.org/poky
$ git fetch --tags
- 1
- 2
- 3
- 4
第三行把源修改成了上面的一条,是因为github上面这个没有yocto-3.2.2。
(由原来的yocto-3.1.2改成yocto-3.2.2)
切换到对应的版本:
git checkout tags/yocto-3.2.2 -b my-yocto-3.2.2
- 1
编译镜像文件:
$ cd ~/poky
- 1
$ source oe-init-build-env
- 1
有个重要的提示:You can also run generated qemu images with a command like ‘runqemu qemux86-64’
开始编译:
build/ $ bitbake core-image-sato
- 1
要下载的东西还是特别多的,6835个任务要执行
初始构建时间可能很长,要为构建一个功能齐全的Linux系统需要编译大量的软件包,就不可避免需要较长的初始构建时间。但是,一旦完成初始构建,Yocto Project使用的共享状态(状态)缓存机制可以防止系统重新构建自上次构建以来尚未“触及”的软件包。稳定状态机制大大减少了后续构建的时间。
可能要等待一段时间。。。。我们继续看下文
有些盆友网络下载速度慢,我将我的downloads目录打包后上传到了百度云上面,连接分享如下,
链接:https://pan.baidu.com/s/1ajjdPB97VEkpJYOjJ_P5FQ 提取码:uatu
复制这段内容后打开百度网盘手机App,操作更方便哦下载后合并解压,在将其中的文件复制到poky/build/downloads下
yocto-第2篇-qemux86-64虚拟机运行演示
最终的效果:
tips:安装python3.6的方法:
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python3.6
#将Python版本从2.7切换到3.6
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.4 2
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6 3
或者:
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 3
希望帮我点个赞加关注,你的喜欢就是我持续更新的动力!