十、使用repo管理yocto各个layer

文章目录

  • 使用repo管理yocto各个layer
    • 一、创建repo环境
    • 二、创建rpi robot的manifest
    • 三、实践

使用repo管理yocto各个layer

本篇文章为基于raspberrypi 4B单板的yocto实战系列的第十篇文章:
一、yocto 编译raspberrypi 4B并启动
二、yocto 集成ros2(基于raspberrypi 4B)
三、Yocto创建自定义的layer和image
四、Yocto创建静态IP和VLAN
五、Yocto集成QT5
六、Yocto给组件分组(packagegroups)
七、Yocto使用systemd设置开机自启动程序
八、Yocto 创建自定义的conf文件
九、Yocto创建SDK,给Makefile/CMake使用

前面章节我们创建了meta-rpi-robot的layer,在layer里面我们创建了自己的image文件,也创建了我们自己的custom 的conf文件,感觉已经是一个独立的实体了,其实还有一步是不够完善了,我们的工程里面用到了meta-qt5、meta-ros以及meta-raspberrypi,最后才是我们自己的meta-rpi-robot,创建工程的时候还是需要先下载这些依赖的layer,所以本章节我们打算完善最后一点缺憾,使用repo 来管理好这些git工程。

一、创建repo环境

  1. 确保主目录下有一个 bin/ 目录,并且该目录包含在环境变量路径中:
$ mkdir ~/bin
$ PATH=~/bin:$PATH
  1. 下载 Repo 工具,并确保它可执行
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo

二、创建rpi robot的manifest

下面就是创建一个管理各个git仓库的manifest.xml文件,里面管理多个git 仓库的地址和分支:

<?xml version="1.0" encoding="UTF-8"?>
<manifest><remote fetch="https://github.com" name="github"/><remote fetch="http://git.openembedded.org" name="oe"/><remote fetch="https://github.com/TNTNTA" name="rpi-robot"/><remote fetch="https://github.com/ros" name="ros"/><remote fetch="https://github.com/yoctoproject" name="yocto"/><default remote="rpi-robot"/><project name="poky" path="poky-kirkstone" remote="yocto" revision="kirkstone"/><project name="meta-rpi-robot" path="poky-kirkstone/meta-rpi-robot" revision="main"/><project name="meta-ros" path="poky-kirkstone/meta-ros" remote="ros" revision="kirkstone"/><project name="meta-qt5/meta-qt5" path="poky-kirkstone/meta-qt5" remote="github" revision="kirkstone"/><project name="meta-openembedded" path="poky-kirkstone/meta-openembedded" remote="oe" revision="kirkstone"/></manifest>

这个改动已经提交到https://github.com/TNTNTA/meta-rpi-robot 的kirkstone分支,后续只需要按照下面的实践章节操作即可。

三、实践

  1. 下载源码
repo init -u https://github.com/TNTNTA/meta-rpi-robot.git -b kirkstone
repo sync 
  1. 编译
TEMPLATECONF=poky-kirkstone/meta-rpi-robot/conf/template source poky-kirkstone/oe-init-build-env  rpi-build-2
bitbake rpi-robot-image

等待编译结束,编译产物位于如下路径:
tmp/deploy/images/raspberrypi4-64/rpi-robot-image-raspberrypi4-64-20240414110207.rootfs.rpi-sdimg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/1257.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度Q-Learning在算法交易中的应用

一、说明 在《华尔街的随机漫步》一书中&#xff0c;作者伯顿马尔基尔&#xff08;Burton G. Malkiel&#xff09;声称&#xff1a;“一只蒙着眼睛的猴子向报纸的财经版面投掷飞镖&#xff0c;可以选择一个与专家精心挑选的投资组合一样好的投资组合。 如果我们让巴甫洛夫的狗接…

[卷积神经网络]YoloV8

一、YoloV8 1.网络详解 ①backbone部分&#xff1a;第一次卷积的卷积核缩小(由3变为6)&#xff1b;CSP模块的预处理卷积从3次变为2次&#xff1b;借鉴了YoloV7的多分支堆叠结构&#xff08;Multi_Concat_Block&#xff09;。 所小第一次卷积的卷积核尺寸会损失部分感受野&#…

2024年 10 款最佳免费数据恢复软件您值得收藏

免费的数据恢复软件或工具是最重要的工具之一&#xff0c;在我们的生活中发挥着非常重要和关键的作用&#xff0c;尽管现在您可以找到数十种&#xff0c;但事实是它们非常重要。 由于设备故障、勒索软件攻击或意外擦除数据而从设备中丢失数据可能会成为一个真正的头痛问题。 …

专题【二分查找】刷题日记

题目列表 4. 寻找两个正序数组的中位数 33. 搜索旋转排序数组 34. 在排序数组中查找元素的第一个和最后一个位置 35. 搜索插入位置 69. x 的平方根 167. 两数之和 II - 输入有序数组 209. 长度最小的子数组 222. 完全二叉树的节点个数 287. 寻找重复数 2023.04.14 4. 寻找两…

自然语言处理基础面试

文章目录 TF-IDFbag-of-wordsBert 讲道理肯定还得有Transformer&#xff0c;我这边先放着&#xff0c;以后再加吧。 TF-IDF TF&#xff08;全称TermFrequency&#xff09;&#xff0c;中文含义词频&#xff0c;简单理解就是关键词出现在网页当中的频次。 IDF&#xff08;全称…

spring boot: 使用MyBatis从hive中读取数据

一、hive表&#xff1a; 启动hiveserver2 二、添加mybatis starter和hive依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instan…

力扣HOT100 - 24. 两两交换链表中的节点

解题思路&#xff1a; 递归 class Solution {public ListNode swapPairs(ListNode head) {if (head null || head.next null) {return head;}ListNode newHead head.next;head.next swapPairs(newHead.next);newHead.next head;return newHead;} }

什么是缓存?在NGINX中如何配置缓存以提升性能?

缓存是一种在计算机系统中常用的技术&#xff0c;用于存储临时数据副本&#xff0c;以便在将来的请求中更快地访问这些数据。缓存可以显著提升应用程序和网站的性能&#xff0c;因为它可以减少对后端服务器或数据库的重复请求&#xff0c;从而减少响应时间并降低资源消耗。 在W…

案例实践 | InterMat:基于长安链的材料数据发现与共享系统

案例名称&#xff1a;InterMat-基于区块链的材料数据发现与共享系统 ■ 建设单位 北京钢研新材科技有限公司 ■ 用户群体 材料数据上下游单位 ■ 应用成效 已建设10共识节点、50轻节点&#xff0c;1万注册用户 案例背景 材料是构成各种装备和工程的物质载体&#xff0c…

驱动开发-windows驱动设计目标

驱动程序和应用程序不一样的&#xff0c;由于其直接运行于windows r0级&#xff0c;故对于开发有更多和更严格的标准&#xff0c;一般会有以下一些常见的设计目标: 安全性、可移植性、可配置性、 可被中断、多处理器安全、可重用 IRP、 支持异步 I/O这些是基本目标。 1. 安全…

高频前端面试题汇总之Vue篇

1. Vue的基本原理 当一个Vue实例创建时&#xff0c;Vue会遍历data中的属性&#xff0c;用 Object.defineProperty&#xff08;vue3.0使用proxy &#xff09;将它们转为 getter/setter&#xff0c;并且在内部追踪相关依赖&#xff0c;在属性被访问和修改时通知变化。 每个组件实…

Flutter 之 HTTP3/QUIC 和 Cronet 你了解过吗?

虽然 HTTP3/QUIC 和 cronet 跟 Flutter 没太大关系&#xff0c;只是最近在整理 Flutter 相关资料时发现还挺多人不了解&#xff0c;就放到一起聊聊。 本篇也是主要将现有资料做一些简化整合理解。 前言 其实为什么会有 HTTP3/QUIC &#xff1f;核心原因还是现有协议已经无法满…

前端工程搭建:

搭建前端工程最主要的是技术选型&#xff0c;如果技术选型不够全面或不合适&#xff0c;会出现很多问题。技术选型通常会涉及基础框架、打包构建工具、网络库、组件库、CSS预编译语言、状态管理、IDE、代码质量检查工具、包管理工具、版本控制工具等 CSS预编译语言 搭建工程没有…

机器学习周记(第三十五周:语义分割)2024.4.15~2024.4.21

目录 摘要 ABSTRACT 1 语义分割基本概念 1.1 数据集格式 ​编辑 1.2 语义分割评价指标 1.3 语义分割标注工具 2 转置卷积 3 FCN网络结构基本原理 摘要 本周主要学习了语义分割的基本概念及其在计算机视觉领域中的应用。了解了语义分割的几种经典网络&#xff0c;如全卷…

linux系统密码重置的方法

在linux系统中忘记密码&#xff0c;重置&#xff08;重启&#xff1a;shutdown -r now&#xff09; 1、在启动 Linux 时&#xff0c;按键盘上的上下左右键来止 Linux 的正常启动。 2、按下e鍵进入安全模式 3、找到首行是linux16&#xff0c;末尾是UTF-8的段落&#xff0c;在后门…

Python中的设计模式与最佳实践

&#x1f47d;发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 Python中的设计模式与最佳实践 在软件开发中&#xff0c;设计模式是一种解决常见问题的经过…

APP开发_ js 控制手机横屏或竖屏

1 Android 控制手机横屏或者竖屏的方法 1.1 配置 AndroidManifest.xml 以横屏模式为例&#xff1a; 在 Android 开发中&#xff0c;如果想让应用或某个特定的 Activity 在运行时以横屏模式显示&#xff0c;可以通过修改 Activity 的 AndroidManifest.xml 文件中的配置来实现…

【Django】调用django的pbkdf2_sha256加密算法测试

基于django搭建的系统中&#xff0c;用到pbkdf2_sha256&#xff08;&#xff08;Password-Based Key Derivation Function 2&#xff09;&#xff09;加密算法&#xff0c;这里做些代码测试、总结。 PBKDF2简介 PBKDF2是一种基于密码的密钥派生函数&#xff0c;用于从用户提供的…

C语言读写文件和C++读写文件

文本文件读写&#xff1a; "r"&#xff1a;只读模式打开文本文件&#xff0c;文件必须存在。"w"&#xff1a;写入模式打开文本文件&#xff0c;如果文件不存在则创建新文件。"a"&#xff1a;追加模式打开文本文件&#xff0c;如果文件不存在则创…

2024-4-狼道

2024-4-狼道 2024-4-9 宋犀堃&#xff08;堃通坤&#xff0c;多用于人名&#xff09; fatux&#xff1a; 做人当如狗&#xff0c;和蔼可亲&#xff1b;做事当如狼&#xff0c;专注果决。 狼道 智慧生存的强者法则 走向卓越的成功之道 狼道&#xff0c;是追求卓越的野心&am…