小编zon*_*dar的帖子

升级(覆盖)自定义层中的整个配方

我在项目中有一个自定义层。这会与同事分享。

我的发行版 (poky) 它使用旧版本的 alsa。这在构建区域的初始设置时下载。我想用更高版本“替换”那个版本的 alsa 并在我的自定义图层中执行此操作,以便他们不必编辑/替换 poky 中的食谱。

做到这一点的最佳方法是什么?如果我只是下载较新的配方并将其包含在我的图层中(匹配文件系统名称),它会自动使用更高版本还是我需要做其他事情?

alsa yocto

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

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
查看次数

标签 统计

yocto ×2

alsa ×1

bitbake ×1