当前位置:网站首页>MYS-6ULX-IOT 开发板测评——使用 Yocto 添加软件包
MYS-6ULX-IOT 开发板测评——使用 Yocto 添加软件包
2022-08-04 23:04:00 【51CTO】
我们除了对 Yocto Project 中现有的软件系统进行修改定制外,还可以将更多的软件包添加到我们的 Yocto Project 环境中,这样可以直接将这些软件包打包进目标平台的系统镜像中,而不需要后续安装。
##示例:添加 curl
下面我以添加 curl 为例进行操作:
**(1)**首先,我们先看看 MYiR 有没有提供 curl 软件包。查看 downloads 目录,发现其中已经包含 curl-7.47.1.tar.bz2。
**(2)**但是 core-image-base 的配方中并没有包含 curl,所以我们要添加进去。打开 sources/meta-myir-imx6ulx/recipes-core/images/core-image-base.bbappend,在末尾添加一行: IMAGE_INSTALL += "curl"
。
**(3)**重新构建系统镜像,执行 bitbake core-image-base
。
**(4)**更新系统,检查是否包含 curl。
##查找更多软件包
那么,问题来了!如果我们不是使用 MYS-6ULX-IOT 开发板,我们怎么知道 Yocto Project 包含哪些第三方软件包呢?修改配方文件时又应该使用什么名字呢?
其实,我们可以通过 http://packages.yoctoproject.org 来查询相应的软件包,比如我们在搜索栏输入“curl”。
如果觉得上述列表中的软件包还不够丰富,我们也可以采用由 Open Embedded 项目所提供的额外的软件包。为了使用这个系列的软件包,首先需要我们下载它对应的 Yocto Layer 到当前目录。
上述操作会在 sources 目录创建出 meta-openembedded 目录,其中包含了对额外软件包的描述。不过此时 Yocto Project 系统并不能自动识别出这些软件包的存在,为此,我们需要修改 build-myir/conf/bblayers.conf 配置文件,通知 Yocto Project 有新的软件包集合加入。
将 OpenEmbedded 提供的软件包加入到当前 Yocto Project 环境中:
其实 MYiR 已经帮我们添加好了 Open Embedded 项目,所以如果使用 MYS-6ULX-IOT 平台的话,我们并不需要再配置。
在 OpenEmbedded 中包含了大量的软件包,比如 OpenCV 库。如果我们希望编译产生的 MYS-6ULX-IOT 系统中就已经集成了 OpenCV,只需要按照前面加入 curl 软件包的做法那样,修改 core-image-base.bbappend 文件,对应地增加 OpenCV 即可。
##可视化配置工具
上述直接修改配置文件的方式对于初学者来说可能难以接受,因此 Yocto Project 为我们提供了图形化配置工具。
原来的图形化配置工具是 Hob,但是现在 hob 已经不再支持了。取而代之的是 Toaster,toaster 是一个基于 web 架构的可视化配置工具,如果你对如何使用 toaster 来配置、构建 Linux 系统镜像,那么你应该还好看看《 Toaster User Manual》。
边栏推荐
- 今天又做了三个梦,其中一个梦梦里的我还有意识会思考?
- 特征工程资料汇总
- 历史上的今天:PHP公开发布;iPhone 4 问世;万维网之父诞生
- Service Mesh落地路径
- Linear DP (bottom)
- 【2020】【Paper Notes】Metasurfaces: Multifunctional and Programmable——
- postman接口测试
- 文献阅读十——Detect Rumors on Twitter by Promoting Information Campaigns with Generative Adversarial Learn
- 亿流量大考(3):不加机器,如何抗住每天百亿级高并发流量?
- 【无标题】
猜你喜欢
2022年全网最全接口自动化测试框架搭建,没有之一
文献阅读十——Detect Rumors on Twitter by Promoting Information Campaigns with Generative Adversarial Learn
[Cultivation of internal skills of string functions] strncpy + strncat + strncmp (2)
If you can't get your heart, use "distributed lock" to lock your people
Redis understanding
为何越来越多人选择进入软件测试行业?深度剖析软件测试的优势...
一点点读懂cpufreq(二)
PHP(3)
Go 语言快速入门指南:什么是 TSL 安全传输层
【3D建模制作技巧分享】ZBrush模型制作流程:地精
随机推荐
基于内容的图像检索系统设计与实现--颜色信息--纹理信息--形状信息--PHASH--SHFT特征点的综合检测项目,包含简易版与完整版的源码及数据!
地面高度检测/平面提取与检测(Fast Plane Extraction in Organized Point Clouds Using Agglomerative Hierarchical Clu)
【游戏建模模型制作全流程】在ZBrush中雕刻恶魔城男性角色模型
Service Mesh landing path
The Controller layer code is written like this, concise and elegant!
Deep Learning RNN Architecture Analysis
论文解读(PPNP)《Predict then Propagate: Graph Neural Networks meet Personalized PageRank》
panic: reflect: reflect.Value.SetString using value obtained using unexported field
线性DP(下)
【项目实战】仿照Room实现简单管理系统
BUG | The interface returns abnormal data
2022/8/3
「津津乐道播客」#397 厂长来了:怎样用科技给法律赋能?
Service Mesh落地路径
历史上的今天:PHP公开发布;iPhone 4 问世;万维网之父诞生
对“为什么一些程序员很傲慢”的解读
ClickHouse 二级索引
文章占位 文章占位
Controller层代码这么写,简洁又优雅!
3D建模师为了让甲方爸爸过稿,还可以这么做,就是在赚血汗钱啊