标签: bitbake

如何使bitbake生成.deb包

Bitbake默认生成.rpm文件,但不幸的是.rpm文件在debian或ubuntu系统上不起作用.如何让bitbake直接生成.deb文件?

bitbake yocto

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

可以在SRC_URI中为BB配方定义多个下载位置吗?

我想要做的是在SRC_URI中定义文件(http://)或repo(git://)的辅助位置,如果第一个发生故障的话.

就像是:

SRC_URI = "http://site1/mytar.tar.gz \
           http://site2/mytar.tar.gz \
Run Code Online (Sandbox Code Playgroud)

要么

SRC_URI = "git://site1/myrepo.git \
           git://site2/myrepo.git
Run Code Online (Sandbox Code Playgroud)

如果第一个选项失败,它将尝试第二个选项而不是仅将它们相互下载.

我知道有预镜像,本地缓存和镜像,但我真的只想在BB配方中指定多个位置.

这似乎应该得到支持,但我找不到它.

openembedded bitbake yocto

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

Bitbake bbappend文件名中的百分比

在yocto文档中找不到为什么某些bbappend文件的文件名中包含“%”。例如“ qtbase _%。bbappend”。

这是否意味着“适用于qtbase可咬食谱的所有版本”?

bitbake yocto

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

如何更改 yocto 食谱中的 /etc/shadow 权限?

我遵循了以下内容:https : //wiki.yoctoproject.org/wiki/images/e/e6/Custom_Users_Groups_in_Yocto1.1.pdf 但没有用。

预期成绩:

4.0K -r--r----- 1 根影子 974 2001 年 1 月 3 日 /etc/shadow

我只想在食谱中做类似下面例子的事情。

ExecStartPre=/bin/chmod 440 /etc/shadow ExecStartPre=/bin/chgrp shadow-user /etc/shadow

有谁知道哪个包包含或安装了 /etc/shadow 文件?

谢谢

linux embedded recipe bitbake yocto

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

无法运行 bitbake

无法运行 bitbake 命令,如果这样做,我会收到以下错误

joe@joe-O-E-M:~/BeagleBone/poky-dora-10.0.1/build$ bitbake core-image-minimal
ERROR: Traceback (most recent call last):
  File "/home/joe/BeagleBone/poky-dora-10.0.1/bitbake/lib/bb/cookerdata.py", line 162, in wrapped
    return func(fn, *args)
  File "/home/joe/BeagleBone/poky-dora-10.0.1/bitbake/lib/bb/cookerdata.py", line 172, in parse_config_file
    return bb.parse.handle(fn, data, include)
  File "/home/joe/BeagleBone/poky-dora-10.0.1/bitbake/lib/bb/parse/__init__.py", line 99, in handle
    return h['handle'](fn, data, include)
  File "/home/joe/BeagleBone/poky-dora-10.0.1/bitbake/lib/bb/parse/parse_py/ConfHandler.py", line 147, in handle
    feeder(lineno, s, fn, statements)
  File "/home/joe/BeagleBone/poky-dora-10.0.1/bitbake/lib/bb/parse/parse_py/ConfHandler.py", line 184, in feeder
    raise ParseError("unparsed line: '%s'" % s, fn, lineno);
ParseError: ParseError at /home/joe/BeagleBone/poky-dora-10.0.1/build/conf/bblayers.conf:12: unparsed line: 'BBLAYERS ?= " /home/joe/BeagleBone/poky-dora-10.0.1/meta /home/joe/BeagleBone/poky-dora-10.0.1/meta-yocto /home/joe/BeagleBone/poky-dora-10.0.1/meta-yocto-bsp '

ERROR: Unable …
Run Code Online (Sandbox Code Playgroud)

bitbake beagleboneblack

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

如何在 BitBake 中有意生成解析错误?

我在 BitBake 配方中使用匿名 Python 函数在解析过程中设置变量。现在我想知道是否可以检查是否设置了特定变量。如果没有,那么我想生成一个 BitBake 错误,它会停止构建过程。

我要创建的伪代码:

python __anonymous () {
    if d.getVar('MY_VARIABLE', True) == "":
        <BITBAKE ERROR with custom message "MY_VARIABLE not found">
}
Run Code Online (Sandbox Code Playgroud)

bitbake yocto

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

如何在yocto中添加用户并重新设置root用户?

我喜欢为我的 yocto 项目的内置用户做一些事情:

1.) 将 root 的密码设置为“abc”

2.) 将 ssh 登录表单的 root shell 设置为 /bin/sh 为 /bin/bash

3.) 添加密码为“xyz”的用户“customUser”

认为一个简单的食谱可以做到这一点。到目前为止,我尝试过@myUser.bb:

SUMMARY = "admin + user"
SECTION = "USR"
LICENSE = "CLOSED"

inherit extrausers useradd

# how to
# pw: abc
# at bash: usermod -p $(openssl passwd abc) root
# get a salted hash: openssl passwd abc
# one possible result: 1Cw5PHLy76ps2
# the command now looks: usermod -p 1Cw5PHLy76ps2 root

# set image root password
EXTRA_USERS_PARAMS = "usermod -p …
Run Code Online (Sandbox Code Playgroud)

linux bitbake yocto

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

用于 init-ifupdown 的 Yocto Poky-Pyro bbappend 文件不会替换 /etc/network/interfaces

我在 Ubuntu 16.04 上使用 Yocto poky-pyro。我想替换生成的映像根文件系统上的 /etc/network/interfaces 文件,因此我在我的元公司目录中添加了一个 bbappend 配方,该配方还包含其他正确构建的包配方。

user@BuildMachine:~/bbb/meta-bbb/recipes-custom/init-ifupdown$ tree
.
??? init-ifupdown_1.0
?   ??? interfaces
??? init-ifupdown_1.0.bbappend

1 directory, 2 files
Run Code Online (Sandbox Code Playgroud)

bbappend 文件如下所示:

# Extend the base recipe search path to $HERE/init-ifupdown
FILESEXTRAPATHS_prepend := "${THISDIR}/init-ifupdown-1.0:"
Run Code Online (Sandbox Code Playgroud)

该目录中的接口文件如下所示:

user@BuildMachine:~/bbb/meta-bbb/recipes-custom/init-ifupdown$ cat init-ifupdown_1.0/interfaces 
# Configure Loopback
auto lo
iface lo inet loopback

# Configure WiFi Infrastructure
auto wlan0
iface wlan0 inet dhcp

 # Configure WiFi Hotspot
auto wlan1
iface wlan1 inet static  
    address 172.24.1.1
    netmask 255.255.255.0
    network 172.24.1.0
    broadcast 172.24.1.255
Run Code Online (Sandbox Code Playgroud)

在我构建图像并查看 …

linux embedded-linux bitbake yocto

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

如何在yocto中打补丁

我正在使用BBB来了解yocto项目。我不确定修补的工作方式。这是我的项目目录

??? meta-testlayer
??? poky
Run Code Online (Sandbox Code Playgroud)

元测试层包含一个helloworld示例

??? conf
?   ??? layer.conf
??? COPYING.MIT
??? README
??? recipes-hello
    ??? helloworld
        ??? helloworld-0.1
        ?   ??? helloworld.c
        ?   ??? helloworld.patch
        ?   ??? newhelloworld.c
        ??? helloworld_0.1.bb
Run Code Online (Sandbox Code Playgroud)

helloworld.c和newhelloworld.c的区别仅在于一个printf语句。这是helloworld.c的内容

#include <stdio.h>

int main(int argc, char **argv)
{

    printf("Hi, this is my first custom recipe. Have a good day\n");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

newhelloworld.c #include

int main(int argc, char **argv)
{

    printf("Let see if patch works\n");
    printf("Hi, this patch is from the test-layer\n");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这是我使用diff …

bitbake yocto

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

Yocto:根据机器类型或目标图像安装不同的配置文件

我有几个硬件平台(相同的 CPU 等)需要不同的 asound.conf 文件。

我控制目标平台的方式是通过 MACHINE 变量和目标图像(即MACHINE=machine_1 nice bitbake machine-1-bringup-image

通常,如果只是替换 conf 文件,我只会创建一个 alsa-state.bbappend 并创建一个 do_install_append 函数来替换它。

但是,由于不同的硬件平台需要不同的 conf 文件,我不确定如何处理它。

我已经尝试将一些逻辑放入附加文件 do_install_append 函数中,但它不起作用。它并不总是选择正确的文件(就像它认为没有任何变化,所以它使用以前缓存的 conf?)

这是我尝试过的附加文件之一的示例:

FILESEXTRAPATHS_prepend := "${THISDIR}/files:"

SRC_URI += " \ file://asound_MACHINE1.conf \ 
               file://asound_MACHINE2.conf \ "

do_install_append() {

echo "    alsa-state.bbappend MACHINE: ${MACHINE}"
if [ "${MACHINE}" = "machine_1" ]; then
    echo "    machine_1"
    echo "    installing ${WORKDIR}/asound_MACHINE1.conf to ${D}${sysconfdir}/asound.conf"

    install -m 644 ${WORKDIR}/asound_MACHINE1.conf {D}${sysconfdir}/asound.conf

else
    echo "    installing ${WORKDIR}/asound_MACHINE2.conf to ${D}${sysconfdir}/asound.conf"
    install -m 644 ${WORKDIR}/asound_MACHINE2.conf ${D}${sysconfdir}/asound.conf …
Run Code Online (Sandbox Code Playgroud)

bitbake yocto

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