bitbake 配方 - 制作图像的简单副本

2023-12-09

我正在尝试编写一个配方,在构建整个映像时将两个文件( MyfileA , MyfileB )简单地复制到特定目录。这就是我的目录结构:

MyDir/MyRecipe.bb
MyDir/files/MyfileA
MyDir/files/MyfileB

我希望将这两个文件复制到主目录中的一个文件夹(该文件夹最初不存在,因此应该创建目录)该文件夹可以说称为“Testfolder” 这就是我的 bitbake 文件的样子

DESCRIPTION = "Testing Bitbake file"
PR = "r0"

SRC_URI = "file://MyfileA \
           file://MyfileB "

do_install() {
        install -d  MyfileA ~/TestFolder/
}

如果我在这里做错了什么,请告诉我? 当我对此运行 bitbake 时,我得到以下信息

The BBPATH variable is not set and bitbake did not find a conf/bblayers.conf file in the expected location.
Maybe you accidentally invoked bitbake from the wrong directory?
DEBUG: Removed the following variables from the environment: LANG, LS_COLORS, LESSCLOSE, XDG_RUNTIME_DIR, SHLVL, SSH_TTY, OLDPWD, LESSOPEN, SSH_CLIENT, MAIL, SSH_CONNECTION, XDG_SESSION_ID, _, BUILDDIR

在这方面的任何帮助将不胜感激。


首先,要创建自己的元层,您应该运行命令yocto-layer create MyRecipe在您的 Yocto 环境中。这是为了确保元层中拥有所有必要的元素。确保将新的元层放入conf/bblayers.conf

创建HelloWorld食谱视频可以找到here

第二,将文件从一个目录复制到另一个目录。

DESCRIPTION = "Testing Bitbake file"
SECTION = "TESTING"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
PR = "r0"

SRC_URI = "file://MyfileA \
           file://MyfileB "

#specify where to get the files
S = "${WORKDIR}"

inherit allarch

#create the folder in target machine
#${D} is the directory of the target machine
#move the file from working directory to the target machine

do_install() {
        install -d ${D}/TestFolder 
        install -m ${WORKDIR}/MyfileA ${D}/TestFolder
}

为了获得更多详细信息,这是我对文件如何在 Yocto 中移动的理解。

您有一个存储元数据的目录/sourced/meta-mylayer/recipes-myRecipe/。在该目录中,将有一个与配方同名的文件夹。 IE。myRecipe/ myRecipe_001.bb.

您将存储与以下内容相关的文件myRecipe.bb(通常是一个补丁)myRecipe/以便SRC_URI将进入那个myRecipe/抓取文件的目录。 IE。myFileA, myFileB

然后,您指定S。这是构建目录中未打包的配方源代码所在的位置。这么说来,myFileA and myFileB被移动/复制到那里时myRecipe builds.

通常,S等于${WORKDIR},这相当于${TMPDIR}/work/${MULTIMACH_TARGET_SYS}/${PN}/${EXTENDPE}${PV}-${PR}

实际的目录取决于几个因素:

TMPDIR:顶级构建输出目录

MULTIMACH_TARGET_SYS:目标系统标识符

ON:配方名称

EXTENDPE:纪元 -(如果未指定 PE(大多数食谱通常都是这种情况),则 EXTENDPE 为空)

PV:食谱版本

PR:配方修订

之后,我们inherit allarch. 此类用于独立于体系结构的配方/数据文件(通常是脚本).

然后,我们要做的最后一件事就是复制文件。

${D}是构建目录中 do_install 任务安装组件的位置。该位置默认为${WORKDIR}/image

${WORKDIR}/image也可以描述为/目标系统中的目录。

Go to ${D}目录并创建文件夹调用TestFolder然后,从以下位置复制 myFileA${WORKDIR} to the ${D}/TestFolder

附:请添加评论以修复。这里可能有错误的信息,因为所有这些都是我自己学到的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

bitbake 配方 - 制作图像的简单副本 的相关文章

  • 从 python 数组中切片偶数/奇数行的最短方法?

    或者 一个更普遍的问题是 如何对数组进行切片以获取每个第 n 行 因此对于偶数 奇数 您希望跳过一行 但在一般情况下 您希望获得每个 n 第 3 行 跳过 n 1 行 假设你正在谈论一个list 您指定切片中的步骤 和开始索引 语法是lis

随机推荐

  • 如何判断文件共享服务器是否在线? [复制]

    这个问题在这里已经有答案了 如果我想检查服务器可用性但不知道其共享 我什至可以在 Windows 资源管理器窗口中键入其 UNC 名称 或 IP 地址 没有服务器共享目录 我如何在 NET中以编程方式使用它来验证服务器是否在线 我想 My
  • 添加PhoneStateListener

    我正在尝试设置PhoneStateListener但我得到一个PhoneCallListener cannot be resolved to a type public class ButtonView extends FrameLayou
  • 如果文本字段为空,如何禁用按钮?

    我无法禁用我的按钮 在下面的代码中 accept is a Button and email is a TextField email setOnAction ae gt if email getText isEmpty accept se
  • Google Analytics 报告 API - 权限不足 403

    我正在尝试从谷歌分析访问数据 我按照指南进行操作 并且能够对我的用户进行授权并从 oauth 获取代码 当我尝试从 GA 访问数据时 我只得到 403 权限不足 我是否必须以某种方式将 Google API 控制台中的项目连接到我的分析项目
  • Django 中最干净、最容易运行的日期选择器是什么?

    我喜欢索伯时间表日期选择器 但它是一个日期时间选择器 我无法让它只执行日期 有没有关于漂亮的日期选择器的建议 以及如何与 Django 日期表单字段集成的说明 以下是我所做的 根本没有外部依赖 模型 py from django db im
  • BrowserExtension webRequest.onBeforeRequest 返回承诺

    我在 Chrome 和 FireFox 扩展程序中有以下内容 function webListener requestDetails var asyncCancel new Promise resolve reject gt resolve
  • 如何从 CPU 访问计算着色器本地工作组的大小?

    给定一个计算着色器 我将每个维度的局部大小设置为值 x y 和 z 有什么方法可以让我从 C 代码访问该信息吗 IE Pseudo Code c int size 3 x get local sizes from linked comput
  • 用户控件调整大小[重复]

    这个问题在这里已经有答案了 可能的重复 用户控件的 ResizeEnd 等效项 我觉得自己很愚蠢 但我找不到解决我认为很容易的问题的方法 我有一个用户控件 基本上 显示在绘制期间绘制的图像onPaint stage protected ov
  • 使用两个适配器进行垂直和水平交换

    所以基本上我正在尝试让我的应用程序像 snapchat 一样 你可以向左 向右 向上和向下滑动 我的问题是 该应用程序没有意识到有两个适配器 只能工作一个或其中一个 垂直或水平 我该如何制作 以便我可以在我的设备上垂直和水平滑动 空片段 我
  • 如何在android中拖放到放置位置并从dragview中删除项目

    MainActivity java public class MainActivity extends AppCompatActivity implements View OnDragListener private ListView mL
  • 如何使用 ImageWriter 和 ImageIO 在 Java 中编码动画 GIF?

    我查遍了所有地方 但似乎找不到任何易于理解的解释 我发现其他 Java 用户编写的类和方法可以做到这一点 但我希望自己编写 这里是createImage 的方法GIFanim 也许这会给你一个开始 public byte createIma
  • Partitioned Job 完成后无法自行停止?春季批次

    我编写了一个包含两个步骤的作业 其中两个步骤之一是分区步骤 分区步骤使用 TaskExecutorPartitionHandler 并在线程中运行 5 个从属步骤 该作业在 main 方法中启动 但在每个从属 ItemReader 返回 n
  • PHP 检测特殊字符

    我正在尝试检查字符串是否包含任何特殊字符 以便我知道之后在脚本中如何处理它 这是我所拥有的 if preg match A Z0 9 lt gt X n r message 但是我收到以下错误syntax error unexpected
  • 如何在没有 access_token 的情况下显示来自我的网站的 Facebook feed 消息?

    我有一个 Facebook 网站 网站 不是个人资料墙 并且想在网页上显示消息源 如果我使用的话这已经可以正常工作了 https graph facebook com 177610425663218 feed 但我需要一个 access t
  • Rails cancan 和状态机 - 授权状态

    我最近在我的 Rails 应用程序中使用了两个很棒的 gem state machine 和 cancan 但我很好奇如何干净地集成它们 目前 我已将状态转换放置在执行控制器授权的操作的按钮上 这非常有效 我可以限制谁可以执行该操作 我还想
  • 将 Sparklyr 的 结果拆分为 Spark 对象

    我在分割 Sparklyr 生成的随机森林的结果时遇到问题 我使用以下代码生成一个模型 该模型预测 0 1 评估并预测指定验证集的结果 model lt ml random forest tbl sc train set formulea
  • 将相同键的值合并到字典列表中

    我有以下格式的字典列表 foo a x b y c z a j c z 我想将这个字典列表分组到一个字典中 例如 bar a x j b y None c z z 我目前所做的是循环遍历所有字典foo并创建一个键列表 然后再次循环创建bar
  • 如何有效地将几个字节转换为一个范围之间的整数?

    我正在写一些读取字节的东西 只是一个List
  • JTextArea setText(veryLongString) 花费太多时间

    我有一条很长的绳子 是从书上得到的 我使用 setText 方法将其显示在 JTextArea 中 它会冻结 UI 并且花费大量时间 我该如何解决这个问题 这是 SSCCE import javax swing JFrame import
  • bitbake 配方 - 制作图像的简单副本

    我正在尝试编写一个配方 在构建整个映像时将两个文件 MyfileA MyfileB 简单地复制到特定目录 这就是我的目录结构 MyDir MyRecipe bb MyDir files MyfileA MyDir files MyfileB