MYS-6ULX-IOT 开发板测评——使用 Yocto 添加软件包

网友投稿 495 2022-09-07

MYS-6ULX-IOT 开发板测评——使用 Yocto 添加软件包

我们除了对 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。

# curl --versioncurl 7.47.1 (arm-poky-linux-gnueabi) libcurl/7.47.1 GnuTLS/3.4.9 zlib/1.2.8Protocols: file ftp ftps Features: IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP UnixSockets

##查找更多软件包

那么,问题来了!如果我们不是使用 MYS-6ULX-IOT 开发板,我们怎么知道 Yocto Project 包含哪些第三方软件包呢?修改配方文件时又应该使用什么名字呢?   其实,我们可以通过 来查询相应的软件包,比如我们在搜索栏输入“curl”。

如果觉得上述列表中的软件包还不够丰富,我们也可以采用由 Open Embedded 项目所提供的额外的软件包。为了使用这个系列的软件包,首先需要我们下载它对应的 Yocto Layer 到当前目录。

$ cd sources$ git clone cd meta-openembedded$ git checkout daisy

上述操作会在 sources 目录创建出 meta-openembedded 目录,其中包含了对额外软件包的描述。不过此时 Yocto Project 系统并不能自动识别出这些软件包的存在,为此,我们需要修改 build-myir/conf/bblayers.conf 配置文件,通知 Yocto Project 有新的软件包集合加入。   将 OpenEmbedded 提供的软件包加入到当前 Yocto Project 环境中:

BBLAYERS += "${BSPDIR}/sources/meta-openembedded/meta-oe"

其实 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​​》。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:话题 | 雾计算和边缘计算有什么区别?
下一篇:广告情报局:王思聪史上最难甲方?“舔”出圈了!
相关文章

 发表评论

暂时没有评论,来抢沙发吧~