如何在bitbake附加文件中设置路径?

时间:2019-05-13 13:04:56

标签: linux-kernel embedded-linux yocto bitbake openembedded

我正在更新Beagle Bone Black中的设备树以启用i2c配置。我创建了一个新的层元测试。在元测试中,有一个食谱内核,其中有一个 leds.cfg am335x-boneblack.dts 文件,其中包含 linux-yocto _%。bbappend 文件。 bbappend文件如下所示:

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

PACKAGE_ARCH = "${MACHINE_ARCH}"

SRC_URI += "\
file://am335x-boneblack.dts \
file://leds.cfg \
"

在使用 bitbake 构建内核之后,两个文件都转移到“ build / tmp / work / beaglebone_yocto-poky-linux-gnueabi / linux-yocto / 4.18.25 + git **”目录中

但是我希望dts文件能够转移到另一个目录“ build / tmp / work-shared / beaglebone-yocto / kernel-source / arch / arm / boot / dts “

如何在bbappend文件中实现此目标?

2 个答案:

答案 0 :(得分:1)

在linux-yocto配方中将文件追加到SRC_URI上,就是将文件添加到linux-yocto工作目录中,而不是实际的内核源工作目录中。为了使这些文件从kernel-source文件夹中可用,您有2个选择:

  • 移动/ C&P文件。在linux-yocto工作目录中,文件夹 linux-beaglebone_yocto-standard-build / sources 是指向 build /的符号链接。 tmp / work-shared / beaglebone_yocto / kernel-source 。因此,您可以使用bbappend中的cp / mv将文件复制并粘贴/移动到该文件夹​​。
  • 创建补丁。您可以将这些文件以补丁的形式添加到内核源中,因此只需将补丁包括在bbappend中(将其追加到SRC_URI ,就像往常一样。)

这些是IMO的最佳选择。但是,您可以将文件保留在 linux-beaglebone-yocto-standard-build / sources / arch / arm / boot / dts / yourfile.dtb 之类的文件夹结构中(位于配方目录内) ),然后将它们添加到SRC_URI(它们会自动添加到该路径)。

答案 1 :(得分:0)

我能够添加以下行来解决它:

do_configure_append() {
    cp ${WORKDIR}/am335x-boneblack.dts ${S}/arch/arm/boot/dts/
}