标签: bitbake

无法使用元树莓派 Yocto Bitbake 继承文件类/pypi.bbclass

我在一个文件夹中克隆了Poky,如下所示:

~/Yocto/poky/
Run Code Online (Sandbox Code Playgroud)

快速入门指南中所述,我检查了Rocko 的一个分支

我成功地qemu根据指南创建了一个。我希望创建 Raspberry Pi Image,因此我将meta- raspberrypi克隆到~/Yocto/poky/目录中,并在同一目录中打开嵌入。因此当前的目录结构如下:

 ~/Yocto/poky/
          -- meta-raspberrypi/
          -- meta-openembedded/
Run Code Online (Sandbox Code Playgroud)

我执行source oe-init-build-env和变化的内容local.confbblayers.conf如下

本地配置文件

MACHINE = "raspberrypi2"
Run Code Online (Sandbox Code Playgroud)

bblayers.conf

  BBLAYERS ?= " \
  /home/<user>/Yocto/poky/meta \
  /home/<user>/Yocto/poky/meta-poky \
  /home/<user>/Yocto/poky/meta-yocto-bsp \
  /home/<user>/Yocto/poky/meta-openembedded/meta-oe \
  /home/<user>/Yocto/poky/meta-openembedded/meta-multimedia \
  /home/<user>/Yocto/poky/meta-openembedded/meta-networking \
  /home/<user>/Yocto/poky/meta-openembedded/meta-python \
  /home/<user>/Yocto/poky/meta-raspberrypi \
  "
Run Code Online (Sandbox Code Playgroud)

错误

之上 bitbake rpi-basic-image

ERROR: ParseError at /home/<user>/Yocto/poky/meta-raspberrypi/recipes-devtools/python/rpio_0.10.0.bb:9: Could not inherit file classes/pypi.bbclass
Run Code Online (Sandbox Code Playgroud)

Yocto 邮件列表上,通过添加openembedded/meta-python …

bitbake yocto

2
推荐指数
1
解决办法
4305
查看次数

如何让“HelloWorld - BitBake Style”在新版本的 Yocto 上工作?

在“嵌入式​​ Linux 系统与 Yocto 项目”一书中,第 4 章包含一个名为“HelloWorld - BitBake 风格”的示例。我在尝试让旧示例与“Sumo”2.5 版配合使用时遇到了很多问题。

如果您像我一样,按照本书的说明遇到的第一个错误是您复制bitbake.conf并得到:

ERROR: ParseError at /tmp/bbhello/conf/bitbake.conf:749: Could not include required file conf/abi_version.conf
Run Code Online (Sandbox Code Playgroud)

而且复制过来之后abi_version.conf,你一直发现需要移动的交叉连接的文件越来越多,然后出现了一些相对路径错误......有没有更好的方法?

openembedded bitbake yocto

2
推荐指数
1
解决办法
4052
查看次数

如何扩展 BitBake 类

我正在用 Yocto 构建一个图像,并且需要在上游树中修补一个 BitBake 类。我不想修改上游源,而是希望将修改添加到本地层。

对于 BitBake recipe,我会使用一个.bbappend文件。一个应该使用什么?

bitbake yocto

2
推荐指数
2
解决办法
3062
查看次数

在 yocto 中添加新配方

我是 Yocto 和 Embedded 的新手,想要这样的东西,

$ git clone https://github.com/babelouest/orcania.git
$ git clone https://github.com/babelouest/yder.git
$ git clone https://github.com/babelouest/ulfius.git
$ cd orcania/
$ make && sudo make install
$ cd ../yder/
$ make && sudo make install
$ cd ../ulfius/
$ make && sudo make install
Run Code Online (Sandbox Code Playgroud)

请帮助创建图层和配方。

谢谢。

bitbake yocto

2
推荐指数
1
解决办法
7329
查看次数

Yocto 配方中的 Echo 语句未打印到终端

我正在尝试do_compile_append通过打印消息来调试 Yocto 配方中的函数:

do_compile_append() {
    for i in 1 2 3 4 5
    do
        echo "My yocto Looping ... number $i"
    done
}
Run Code Online (Sandbox Code Playgroud)

在此示例中,我添加了一个循环来在构建期间回显一些消息。但是,当我运行bitbake构建它时,我没有看到这些消息输出到我的终端。

输出记录在哪里?

bitbake yocto

2
推荐指数
2
解决办法
1万
查看次数

在开始时自定义 yocto 的构建配置输出

是否可以自定义Build Configuration在每个 bitbake 调用开始时打印的转储?我正在使用不同的标志和覆盖来微调开发/测试/部署模式等内容,我会将这些打印到终端以确保我没有错过设置任何重要的标志。那可能吗?如果是,如何实现这一目标?

bitbake yocto

2
推荐指数
1
解决办法
515
查看次数

如何捕获 bitbake 配方上命令的退出代码?

我有一个 bitbake 配方,在其中我需要先检查远程服务器的可用性,然后再从远程服务器下载一些包。为此,我使用 ping,如下所示:

ping ${HOST} -c1 -w4 1>/dev/null 2>/dev/null
if [ $? -ne 0 ]; then
    echo "ERROR: Unable to reach ${HOST}. Exiting now with code $?..."
    exit $? 
fi
Run Code Online (Sandbox Code Playgroud)

上面的代码在终端中运行得很好,我得到了相应的退出代码:0 表示 OK,非零表示 NOK。

然而,与 bitbake 配方上的代码完全相同,退出代码$?始终为空。相反,bitbake 本身会捕获错误代码,然后继续执行。稍后,当尝试解压未下载的文件时,它会失败。那时,我收到了有关ping更早抛出的非零退出代码的警告。目前看起来是这样的:

if [ "$(ping ${HOST} -c1 -w4 1>/dev/null 2>/dev/null)" = 0 ]; then
    echo "ERROR: Unable to reach ${HOST}. Exiting now..."
    exit 1 
fi

# Some other stuff here...

ar -x ${BUILDDIR}/tmp/deploy/ipk/all/rheas_*.ipk

Run Code Online (Sandbox Code Playgroud)

我得到:

ERROR: rheas-0.0-r0 do_compile: Function failed: …
Run Code Online (Sandbox Code Playgroud)

bitbake yocto

2
推荐指数
1
解决办法
1429
查看次数

如何使用 yocto 构建简单的 qt 应用程序?

我设置了yocto开发环境,在其中我可以在目标中进行 bitbake 并运行一个简单的 C++ 应用程序。现在我想尝试使用简单的 Qt 应用程序。当我执行bitbake-layers show-layers时,它在列表中显示 meta-qt5...

meta-qt5
/home/prc1cob/repo/out/salt/kawa/../../..//os/external/meta-qt5 7 元-oe
/home/prc1cob/repo/out/salt/kawa/ ../../../build/yocto/meta-openembedded/meta-oe 6

有了这个,我假设 qt5 已经存在于我的 yocto 构建中。如何编写 .bb 文件来构建一个简单的 HelloWorld qt 应用程序,如下所示...

#include <QCoreApplication>
#include <QDebug>
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    
    qDebug() << "Hello World";

    return a.exec();
}
Run Code Online (Sandbox Code Playgroud)

谢谢你!!

qt openembedded bitbake yocto

2
推荐指数
1
解决办法
3871
查看次数

如何在 Yocto 中禁用每个配方的状态缓存

我有一些自己编写的 yocto 配方,它们会产生 yocto sstate-cache 机制的问题(比如当依赖项发生变化时不重建配方)。有没有办法在每个配方的基础上禁用状态缓存?

在互联网上搜索我只能找到非常古老且现已损坏的机制:

https://patchwork.openembedded.org/patch/17039/

或者仅部分禁用功能:

https://patchwork.openembedded.org/patch/130719/

我的 Yocto 版本是 Zeus 及以上。

谢谢并欢呼!

bitbake yocto

2
推荐指数
1
解决办法
3550
查看次数

在PKG_CHECK_MODULES(GLIB,glib-2.0&gt; = 2.12.3)上配置失败

我正在尝试创建一个使用自动工具的相当简单的BitBake食谱,您可以在这里看到它:

SUMMARY = "an example autotools recipe"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
inherit autotools 
SRC_URI = "file://${TOPDIR}/piu/geo_utilities"
S = "${TOPDIR}/piu/geo_utilities"
Run Code Online (Sandbox Code Playgroud)

使用此配方的默认程序包启动BitBake构建后, do_configure失败并显示以下内容:

configure: line 12851: syntax error near unexpected token `GLIB,'          
configure: line 12851: `PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.12.3)'
Run Code Online (Sandbox Code Playgroud)

当我跑步时ldd --version,得到以下信息:ldd (GNU libc) 2.17

我已经找到了几个类似Google Groups帖子GitHub问题的站点,这些站点表明可以通过更新pkg-config来解决该问题。我正在运行Red Hat,所以我已经运行了sudo yum install pkgconfig它返回了pkgconfig-0.27.1-4.el7.x86_64 already installed and latest version

(这个问题跟在后面这个问题是由回答者解决)

glib configure openembedded bitbake yocto

1
推荐指数
1
解决办法
2219
查看次数

标签 统计

bitbake ×10

yocto ×10

openembedded ×3

configure ×1

glib ×1

qt ×1