标签: bitbake

未在映像中安装Hello World Bitbake食谱

我正在使用OpenEmbedded用户手册中的“ Hello World”示例以及Yocto Project工具的Dora版本。bitbake构建工作正常,但是未在映像中安装可执行文件。基本上,我用两个配方创建了自己的meta层。一种是Autotools版本的“ Hello World”,它将自身构建并安装到映像中。第二个是“ Hello World”的Makefile版本。这就是我遇到的麻烦。

来源是您所期望的:


#include <stdio.h>

int main(int argc, char** argv)
{
    printf("Hello world 2!\n");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

还有一个README.txt文件:


Readme file for Hello World 2.
Run Code Online (Sandbox Code Playgroud)

配方如下:


DESCRIPTION = "Hello World 2 Program"
PR = "r0"
LICENSE = "CLOSED"
RM_WORK_EXCLUDE += "hello2"

SRC_URI = "file://hello2.c \
           file://README.txt"

do_compile() {
    ${CC} ${CFLAGS} ${LDFLAGS} ${WORKDIR}/hello2.c -o hello2
}

do_install() {
    install -m 0755 -d ${D}${bindir} ${D}${docdir}/hello2
    install -m 0644 ${S}/hello2 ${D}${bindir}
    install -m 0644 ${WORKDIR}/README.txt ${D}${docdir}/hello2 …
Run Code Online (Sandbox Code Playgroud)

openembedded bitbake

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

为什么不能bitbake找到并安装我的脚本?

我正在尝试编写一个简单的bitbake配方,它将一些脚本安装到目标根文件系统中.我必须遗漏一些东西,因为我觉得我设置正确,但我不断收到错误消息:

ERROR: Function failed: do_install (see /home/mike/ULF/ulf/build-ulf/out/work/armv7ahf-vfp-neon-linux-gnueabihf/ttt/1.0-r0/temp/log.do_install.493 for further information)
ERROR: Logfile of failure stored in: /home/mike/ULF/ulf/build-ulf/out/work/armv7ahf-vfp-neon-linux-gnueabihf/ttt/1.0-r0/temp/log.do_install.493
Log data follows:
| DEBUG: Executing shell function do_install
| install: cannot stat `uim2svc.sh': No such file or directory
| ERROR: Function failed: do_install (see /home/mike/ULF/ulf/build-ulf/out/work/armv7ahf-vfp-neon-linux-gnueabihf/ttt/1.0-r0/temp/log.do_install.493 for further information)
ERROR: Task 2 (/home/mike/ULF/ulf/oe-ghmi/recipes/images/ttt.bb, do_install) failed with exit code '1'
Run Code Online (Sandbox Code Playgroud)

现在我已经阅读了local-file-fetcher上bitbake文档,它说:

此子模块处理以file://开头的URL.您在URL中指定的文件名可以是文件的绝对路径或相对路径.如果文件名是相对的,则使用PATESPATH变量的内容的方式与使用PATH查找可执行文件的方式相同.

所以我在我的文件名,SRC_URI本地files目录中的脚本,我已经检查了构建的输出和路径指向我的脚本目录... 所以为什么我仍然得到这个错误?任何人都有关于我可能做错的想法?


这是我的完整bitbake食谱(ttt.bb):

LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58"
SRC_URI = "file://uim2svc.sh"

do_install() …
Run Code Online (Sandbox Code Playgroud)

linux recipe environment-variables openembedded bitbake

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

如何从BitBake配方中克隆私人git仓库?

我对克隆私有git仓库的内容感兴趣,因此可以通过自定义BitBake配方使用它们.我尝试从Yocto Project邮件列表中调整这种技术,并产生以下内容:

SRC_URI = "git://www.example.com/path/to/repo;protocol=https;branch=master;name=commit;user=<username>:<password>
SRCREV_commit = "9f8309bbdf0632191bec21fada2cb61a30bcf53e"
Run Code Online (Sandbox Code Playgroud)

我正在使用的密码包含左括号.我收到此错误:

/bin/sh: -c: line 0: syntax error near unexpected token `)'
Run Code Online (Sandbox Code Playgroud)

我可以以某种方式逃避这个特殊角色,或者使用其他方式克隆回购?

git git-clone openembedded bitbake yocto

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

如何在运行时获取 rootfs 构建时间戳?

出于版本识别的目的,我希望能够检索指示根文件系统映像何时构建的时间戳。它需要在运行时在电路板本身上可检索。

我正在使用 The Ångström Distribution,分支 angstrom-v2013.12-yocto1.5,它使用 OpenEmbedded 来构建 rootfs(根文件系统)。

内核是为此板单独构建的,所以我不能uname -v用于这个目的,因为它只是读出内核构建时间戳,而不是 rootfs 构建时间戳。

是否将 rootfs 构建时间戳添加到 rootfs 映像中可以在运行时检索的某个位置?

openembedded bitbake yocto

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

BitBake中的任务do_patch()期间失败

我正在使用yocto。它不支持基于ft5x06s的触摸屏,因此我决定添加一个补丁。但是,当我添加补丁文件时,出现以下错误:

ERROR: Command Error: exit status: 1  Output:
Applying patch 0026-imx6q-smx6-edt-ft5x06.patch
patching file Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.txt
patching file drivers/input/touchscreen/edt-ft5x06.c
Hunk #22 FAILED at 751.
Hunk #23 succeeded at 811 (offset -1 lines).
Hunk #24 FAILED at 922.
Hunk #25 FAILED at 959.
Hunk #26 FAILED at 995.
Hunk #27 FAILED at 1009.
Hunk #28 succeeded at 1077 (offset 17 lines).
5 out of 28 hunks FAILED -- rejects in file drivers/input/touchscreen/edt-ft5x06.c
Patch 0026-imx6q-smx6-edt-ft5x06.patch does not apply (enforce with -f)
ERROR: Function failed: …
Run Code Online (Sandbox Code Playgroud)

embedded-linux bitbake yocto

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

"bitbake -g" 与 RDEPENDS

我想知道bitbake -g是如何实现的。可能它会在所有食谱中搜索DEPENDS=...出现,也许更多。然而,如何获得依赖关系图反映RDEPENDS=...关系?

depends openembedded bitbake yocto

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

如何在bitbake文件中添加src_uri文件夹中的所有文件

我有一个文件夹,其中有太多的c文件(约200 c文件)

现在在该文件夹的bitbake文件中,我在SRC_URI变量中添加文件,如下所示:

SRC_URI = "file://filename_1.c \
           file://filename_2.c \
                   .
                   .
                   .
           file://filename_n.c \
Run Code Online (Sandbox Code Playgroud)

因为我有太多的c文件,所以很难在bitbake的SRC_URI变量中添加这样的文件.什么是将所有c文件包含在bitabake文件中的最短方法.或者有没有办法添加c文件的目录,它将包括该目录中存在的所有c文件.

请帮忙

bitbake yocto

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

Yocto:CORE_IMAGE_EXTRA_INSTALL和IMAGE_INSTALL之间的区别

最近,我尝试通过Yocto构建将开源软件包(iperf3)包含在目标图像中.(更新local.conf for IMAGE_INSTALL + ="iperf3",因为项目已经对应配方).但最终图像不包含在根文件系统中.我通过在/ recipe-core/packagegroups/RDEPENDS_packagegroup*中添加包组配方尝试了相同的操作,并且能够成功地包含它.

有人能为我提供行为解释.

bitbake yocto

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

Yocto:在 etcdir 中创建一个新目录

我是 Yocto 的新手,我想在 /etc 中创建一个目录并将我的服务器证书复制到该目录中。我尝试在下面做,但它没有在 /etc 中创建任何目录,但是我没有收到任何编译错误:

    DESCRIPTION = "OC sample service"

SUMMARY = "Install and start a systemd service and copy server certificates"

LICENSE = "MIT"

SRC_URI = "file://service.tar.gz"

inherit systemd

S = "${WORKDIR}/service"

SYSTEMD_PACKAGES = "${PN}"
SYSTEMD_SERVICE_${PN} = "sample.service"
SYSTEMD_AUTO_ENABLE = "enable"
INSANE_SKIP_${PN} += "installed-vs-shipped"

do_configure() {
        :
}

do_compile() {
        :
}

do_install() {

        install -d ${D}${systemd_unitdir}/system

        install -m 0755 ${S}/sample.service ${D}${systemd_unitdir}/system

        mkdir -p ${D}${etcdir}/oc_certs

        install -m 0755 ${S}/certs/* ${D}${etcdir}/oc_certs

}

FILES_${PN} = "${systemd_unitdir}/system
Run Code Online (Sandbox Code Playgroud)

service.tar.gz 包含以下内容

现在的问题是,sample.service 已成功放置到该位置,但未创建 …

bitbake yocto

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

如何清理、释放空间?

我在 openembedded 构建目录

92G tmp
21G tmp-glibc
Run Code Online (Sandbox Code Playgroud)

如何清理不需要的文件?旧版本、废弃目标、缓存……

是否有任何选项可以让 bitbake 不复制每个食谱的依赖项?

我想删除一项选定任务不需要的所有内容

openembedded bitbake yocto

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