OpenBMC中的Yocto

本文介绍了OpenBMC项目如何利用Yocto进行开发,包括从现有硬件平台构建固件,以及如何通过Yocto的devtool添加和修改源代码。详细讲解了如何使用devtool进行本地源码集成、清理、修改以及移除操作,帮助开发者更好地理解和应用OpenBMC与Yocto。
AI助手已提取文章相关产品:

OpenBMC 中的 Yocto

Yocto项目是一个开源项目提供样例、工具以及方法来帮助你创建商用的基于Linux的嵌入式系统产品,而与硬件架构无关。

OpenBMC使用Yocto提供的工具来管理配置以及创建BMC镜像。

使用 Yocto 进行开发

在OpenBMC中有两个主要的使用案例:

  1. master或现有的tags中进行构建
  2. 提交修改到master

第一个是一个简单的案例,在使用bitbake之前构建系统,例如
Palmetto
Zaius
cheatsheet.

第二个案例可以通过Yoctodevtool工具来实现。在运行. openbmc-env之后,devtool工具将出现在你的环境PATH中,可以以多种方式使用。

如果你已经具有想要集成的源码树,首先运行devtool modify -n ${PACHAGE} ${SRCTREE}在你的构建目录中创建一个新的Yocto layer。然后它将为这个recipe包构建一个.bbappend补充文件,并使用externalsource类使用no-ops替换掉downloadfetchpatch等步骤。此时,如果你对包进行编译,它将会使用本地的源目录。注意recipe包可能不会执行一个清除操作并依赖于当前要进行的动作,你可能在${SRCTREE}中运行${PACKAGE}构建系统的清理命令来清理所有的编译对象。如果你修改源,那么需要运行bitbake -c cleansstate ${PACKAGE}来清理BitBake的缓存。

另外,如果你没有本地的源码树,但是依旧想要修改包,可以执行devtool modify ${PACKAGE}将会处理fetchunpackpatch步骤,并将源码树放置到默认工作空间中。

当你完成了所有的内容,运行devtool reset ${PACKAGE}来从devtoolYocto层中移除.bbappend

更多关于devtool的使用方法可以在Yocto Mega Manual中找到。

添加文件到你的固件中

有很多的使用BitBake进行工作的例子。OpenEmbedded中的recipe example是一个不错的内容。

您可能感兴趣的与本文相关内容

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值