当前位置: 首页 > article >正文

yocto系列之针对从git仓库获取源代码编写recipe

回顾

针对借助yocto构建linux 镜像我们已经讲述了7部分, 简单回顾如下:

Yocto: 第1部分 - yocto系列之yocto是个什么东东

https://mp.csdn.net/mp_blog/creation/editor/136742286

Yocto: 第2部分 - yocto系列之配置ubuntu主机

https://mp.csdn.net/mp_blog/creation/editor/136745533

Yocto: 第3部分 - yocto系列之构建与运行第一个镜像

https://mp.csdn.net/mp_blog/creation/editor/136760112

Yocto: 第4部分 - yocto系列之针对rk3588平台构建一个基本镜像

https://mp.csdn.net/mp_blog/creation/editor/136760112

Yocto: 第5部分 -yocto系列之创建和添加新的layer

https://blog.csdn.net/hanpca/article/details/136781418?spm=1001.2014.3001.5502

Yocto: 第6部分 -yocto系列之理解与创建第一个定制recipe

https://blog.csdn.net/hanpca/article/details/136781609

Yocto: 第7部分 -yocto系列之针对tarball编写recipes

https://blog.csdn.net/hanpca/article/details/136819473?spm=1001.2014.3001.5502

在这篇文章中,我们将讨论如何编写从git存储库中获取源代码的recipe。随着git迅速成为各种规模的公司和个人的源代码管理(SCM)机制的选择,这也迅速成为编写bitbake食谱的首选方式。

在上一篇文章中,我们讨论了如何从位于远程和本地存储的tarball中获取源代码,本文中的recipe与上一篇文章描述的recipe没有本质的区别,只有细微的差异。

编写一个基于git的recipe

我们应用同第七部分同样的repo资源:

https://github.com/teggerhan/yocto-test-apps

在第七部分我们编写recipe是为了获取tarball, 本篇我们编写recipe是为了获取git repo中的源码。

当前我们的meta-test的目录结构如下:

所用repo的提交历史情况如下:

假设我们要检出repo中commit id 是c01dfd4对应的源码资源,对应的bitbake recipe(hw_git.bb)如下:

SRCREV 变量表明要应用的对应哪个sha1 哈希值提交的源代码

SRC_URI 指明仓库源码树的地址与协议

我们看到这个recipe文件与上一篇文章最大的不同是对PV的变量赋值。上次我们了解到PV是recipe的版本号。它看起来是x.y.z这样的搁置。

本篇中对于基于git的recipe,PV的生成方式如上所示。这里,SRCPV是另一个帮助我们定义PV的变量。正如在Yocto文档中提到的,SRCPV本身在meta/conf/bitbak .conf中定义,PV的非git部分,即0.1要根据源代码的发布版本进行更改。

S变量现被显式地分配了一个值${WORKDIR}/git。这样做是依据Yocto文档对git存储库的要求。

通常,从git中获取的recipe的版本号可能会频繁变化。根据bitbake的要求,recipe本身的名称应该是recipe-name_git.bb。例如,在本例中,我们可以将recipe命名为hw_git.bb。

测试这个recipe

现在试着用这个recipe构建一下目标镜像,如果没有问题, 构建会成功。


http://www.kler.cn/a/273037.html

相关文章:

  • SpringBoot集成Shiro+Jwt+Redis
  • Django中分组查询(annotate 和 aggregate 使用)
  • 【自动化利器】12个评估大语言模型(LLM)质量的自动化框架
  • web实操2——idea创建普通web项目
  • SpringBoot自动装配过程
  • Axure大屏可视化模板:赋能各行各业的数据展示与管理
  • 2024蓝桥杯每日一题(DFS)
  • 2024.2.28 校招 实习 内推 面经
  • 2024/3/14打卡棋子(14届蓝桥杯)——差分
  • 【Godot4.2】任意多边形或折线围绕任意点旋转
  • 【LAMMPS学习】二、LAMMPS安装(3)通过Conda/tarball/git安装LAMMPS
  • Git 仓库瘦身与 LFS 大文件存储
  • 面试 Java 并发编程八股文十问十答第十期
  • leetcode116填充每个节点的下一个右侧节点指针
  • 证书转换 .cer .pfx 证书转换成 .pem证书
  • mysql笔记:15. 事务和锁
  • IT系统可观测性
  • Java单例模式
  • 2024年发布jar到国外maven中央仓库最新教程
  • 后端工程师快速使用axios
  • C语言简单题(7)从主函数中输入10个等长字符串,用一个函数对他们排序,然后在主函数输出这10个已排好序的字符串
  • 旅游管理系统|基于SpringBoot+ Mysql+Java+Tomcat技术的旅游管理系统设计与实现(可运行源码+数据库+设计文档+部署说明+视频演示)
  • 数据的响应式:实现动态数据驱动的技巧
  • 弗洛伊德-华沙算法求任意两点之间的最短路径算法
  • 【配置虚拟机网络ping通开发板,以及网络转发工作环境】
  • 【嵌入式学习收徒,高薪offer等你来!!!】