如何在 Yocto 中进行每台机器的内核配置?

问题描述 投票:0回答:1

我有一个 Linux 内核分支的 Yocto 配方,我需要更改我需要支持的不同机器的 defconfig。 其中一台机器使用树内 defconfig,其他机器将需要树外 defconfig(最终需要设备树)。这类似于这个未回答的问题

我遇到的问题是,根据我的文件结构,当我制作特定于机器的

SRC_URI
时,bitbake 无法找到 defconfig。

recipe-folder
   |-files
   |   |-machineA
   |   |   |-machineA.patch
   |   |-machineB
   |   |   |-defconfig
   |   |   |-machineB.patch
   |-linux-recipe_0.1.bb

如果我尝试为 machineB 构建,我会这样做:

SRC_URI += "file://defconfig"

Yocto 能够找到 defconfig 并构建,请参阅这个问题

但是,如果我希望配方支持机器A和B:

KBUILD_DEFCONFIG:machineA = "machineA_intree_defconfig"
SRC_URI:machineA += "file://machineA.patch"

SRC_URI:machineB += "file://defconfig file://machineB.patch"

并尝试构建 machineB Yocto 找不到 defconfig 文件。

即使我添加以下行:

FILESEXTRAPATHS:prepend:machineA := "${THISDIR}/files/machineA:"
FILESEXTRAPATHS:prepend:machineB := "${THISDIR}/files/machineB:"

Yocto 仍然找不到文件。

如何让

SRC_URI
在每台机器上工作?

yocto bitbake recipe yocto-recipe
1个回答
0
投票

你应该尝试这样的事情:

SRC_URI:machineA += "file://machineA/machineA.patch"

SRC_URI:machineB += "file://machineB/defconfig \
                     file://machineB/machineB.patch"

您在 URL 中指定的文件名可以是文件的绝对路径或相对路径。

更多详情可以在这里找到:

https://docs.yoctoproject.org/bitbake/2.0/bitbake-user-manual/bitbake-user-manual-fetching.html#local-file-fetcher-file

https://docs.yoctoproject.org/bitbake/2.0/bitbake-user-manual/bitbake-user-manual-ref-variables.html#term-FILESPATH

© www.soinside.com 2019 - 2024. All rights reserved.