问题标签 [yocto-recipe]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
15 浏览

build - Yocto 构建失败,出现与 UnpicklingError 相关的异常:pickle data was truncated

在 openembedded 构建中删除 tmp-dir/cache 和日志文件夹中的某些文件时出现此错误。

0 投票
0 回答
11 浏览

bitbucket - 在 Yocto 配方中使用 Bitbucket 应用程序密码通过 https 进行 git repo

在命令行“git clone https://username:app-password@bitbucket.org/dir/repo.git”上有效,其中 app-password 是“由 bitbucket 创建的字母数字字符串”

但是当使用 Yocto Recipe SRC_URI = "git:// username:app-password @bitbucket.org/workspace/repo.git;protocol=https;"

给出错误:“致命:无法读取'https://username@bitbucket.org'的密码:没有这样的设备或地址”。

请告知如何在 Yocto 配方中使用 bitbucket 应用程序密码通过 https 方法提取 git repo?

0 投票
0 回答
21 浏览

linux - 将第三方配方工具输出打包到构建主机上的另一个配方中

我对 Yocto/BitBake 还是很陌生,在试图找出在以下情况下使用本机工具的最佳方法时,我有点头疼:

  • 我有一个获取和构建第三方库和二进制文件的配方,我们称之为X
  • 我有另一个配方也可以获取和构建第三方库和二进制文件,这些依赖于X的库,我们称之为Y
  • Y需要运行安装后脚本来生成一些配置文件。
  • 这些脚本正在调用一些X的二进制文件来生成这些文件,因此我添加了对X-native的依赖,以便能够在构建机器上运行这些脚本。
  • 目前,我将这些脚本包含在do_install[postfuncs]Y -native配方中,同时将其作为依赖项添加到Y配方中,因为我希望这些文件成为Y包的一部分。

假设我在做什么,直到一切正常(如果没有,请纠正我),我的问题来了:

X的配置/编译方式包括指定它将写入它生成/管理的任何文件的路径(当前基于datadir前缀)。这意味着构建X-native还将STAGING_DIR_NATIVEX配方上下文中为该路径添加前缀。

因此,在使用Y-native配方中的X-native二进制文件后,我最终会在错误的文件中生成文件(即X配方上下文)并且无法轻松检索这些文件,因为它在Y配方上下文之外。STAGING_DIR_NATIVE

我在这里错过了什么吗?

我在创建sysroot后阅读pkg_postinst并推迟了它们,但如果我希望打包这些配置文件,这不是我所需要的,对吧?

如果没有其他解决方案,我可能会不打包它们并使用它在创建图像/ sdk时生成它们,但这对我来说似乎并不干净。

另外,我不希望修补X源以启用某种运行时输出路径配置。

0 投票
0 回答
21 浏览

yocto - 如何在 Yocto 中安装虚拟包的(子)包

设置

我正在使用 Yocto 3.4 “Honister”,并使用以下层:

我创建了自己的distro.conf,基本上看起来像这样:

问题

我的目标是在发行版范围内安装 libGLESv2.so。mesa配方提供这样的库:

对于 raspberry-pis,该文件rpi-default-providers.inc设置了默认提供程序:

因此,应该正确设置从虚拟包到具体提供者的连接。但是(显然)这不会将库部署到最终的 rootfs 中。如何才能做到这一点?

到目前为止我尝试了什么

显而易见的方法是在中按名称安装软件包,distro.conf如下所示:

这行得通,但老实说,这种方法对我来说有点不对劲。在我看来,这绕过了虚拟包的整个概念。还是我错了?

此外,出于测试目的,我将 weston 安装到图像中。这会将 libGLESv2.so 添加到 rootfs,我试图解决为什么会发生这种情况(并针对我的问题使用相同的方法),但我无法弄清楚。从weston配方来看,问题的相关部分似乎是:

这会将所有虚拟包添加到 DEPENDS 列表中,但是当我这样做时(例如在我的图像配方中),我看到 mesa 正在构建但库未部署到 rootfs。我看不到libgles2-mesa这里是怎么拉的。

0 投票
2 回答
63 浏览

yocto - 如何在源 poky/oe-init-env 之后显示新的 Yocto 图像选项

假设我有一个新的 yocto 图像调用 stargazer-cmd 我应该编辑什么文件,以便每次我获取 poky/oe-init-env 时它都会显示为用户的构建选项?

我希望在 core-image-minimal 之上添加 stargazer-cmd,我不确定谷歌需要什么以及我需要更改的文件是什么。

0 投票
0 回答
23 浏览

embedded - 约克托。如何混合新旧覆盖语法

我们有我们提供给客户的 Yocto 食谱。客户使用不同版本的 yocto 和 Linux 内核。

是否可以为新旧语法提供一个配方?
或者我们应该始终提供 2 个版本的食谱?

0 投票
0 回答
12 浏览

yocto - 检查 bbclass 文件中的 VOLATILE_BINDS 内容

我尝试使用IMAGE_FEATURES:append = " read-only-rootfs ". 为了存储配置,我使用IMAGE_INSTALL:append = " volatile-binds "并将选定的配置目录设置为一个分区,该分区以读/写方式安装在volatile-binds.bbappend文件中:

默认情况下, . /meta/classes/rootfs-postcommands.bbclassrad_only_rootfs_hook()中的函数会移动 ssh 配置文件,当配置目录未作为 volatile-binds 挂载时,这很好。/var/run/ssh

我将更新rootfs-postcommands.bbclass并检测 volatile-binds 是否处于活动状态以及/etc/ssh是否包含在 VOLATILE_BINDS 中。第一个检查适用于${@bb.utils.contains("IMAGE_INSTALL", "volatile-binds", "true", "false", d)}但不幸的是 VOLATILE_BINDS 变量始终为 None 并且检查${@bb.utils.contains("VOLATILE_BINDS", "/etc/ssh", "true", "false", d)}不起作用。

有谁知道,如何在像rootfs- postcommands.bbclass 这样的 *.bbclass 文件中读取配方变量(如VOLATILE_BINDS ) ?

谢谢

0 投票
0 回答
19 浏览

linux - 如何编写 yocto/bitbake 配方来列出一个目录中的所有文件名并一一复制?

我想列出一个目录中的所有文件名并一一复制。在我的 .bb 文件中,我有这个 do_copy() 函数:

但是当我构建它时,我得到了:

似乎列出文件名的行失败了。有任何想法吗?谢谢!

0 投票
2 回答
31 浏览

node.js - 如何将 Nodejs 包添加到 Yocto?

我想要一个支持 nodejs 的操作系统。在 layer.conf 文件的 yocto 项目中,我添加了 IMAGE_INSTALL_append = " nodejs" IMAGE_INSTALL_append = " nodejs-npm" ,这导致在烘烤后有一个支持 nodejs 的操作系统。现在我想添加一些 NPM 包,比如 basic-auth 等。请你帮帮我。亲切的问候。

0 投票
1 回答
18 浏览

yocto - Yocto 配方不提取存档

我试图在构建系统期间将 .tar.gz 文件解压缩到我的根目录,但由于我不清楚的原因,它不起作用。我以与 meta 中的其他配方相同的方式进行操作(效果很好),但在这种情况下,我在目标系统 root 中有一个空目录。该配方与 tar.gz 同名。

根据Yocto 项目文档和我的其他经验,它应该可以正常工作。我试图手动删除tmpsstate-cache目录并重建系统,但它没有改变任何东西。配方正在构建中,但/my-app为空。我可以强制提取我的存档吗?

树文件:

我的应用程序.bb