bitbake 中的选项 link files to the boot partition

Options in bitbake to link files to the boot partition

我有一个生成两个分区的 bitbake 配置,包含 uBoot、uEnv.txt 等的 BOOT (FAT) 分区和一个以只读方式挂载的根文件系统。在某些情况下,文件系统可能不是一个单独的分区,而是一个 ramdisk,因此我试图强制实施一种适用于这两种情况的设计模式:

我想做的是将根文件系统中的一些文件作为 links 提供到 SD 卡上的位置。通过这种方式,我可以构建单个 SD 卡映像,最终用户可以轻松调整节点 ID 或名称的微小编辑。因此,例如,如果 /etc/special_config.conf 是一个有用的文件,那么与其将其存储在只读分区上,不如创建一个 link 指向 BOOT 分区上的真实文件。

到目前为止,我已经尝试制作一个食谱,在这种情况下,它执行以下操作:

IMAGE_BOOT_FILES += "special_config.conf"

do_install () {
    ln -s /media/BOOT/special_config.conf \
        ${D}${sysconfigdir}/special_config.conf
}

这似乎没有任何作用。 IMAGE_BOOT_FILES 不会将 special_config.conf 文件收集到 BOOT 分区中,就好像当系统映像被填充时,所有这些更改都被清除了。

有没有人见过在 BitBake 中强制执行这种行为的巧妙方法?

如果我理解正确,你会在图像中得到你的 ${sysconfdir}/special_config.conf 符号链接(通过从提到的配方构建的包),但你不会在你的 BOOT 分区上使用 special_config.conf 文件wic 图片文件类型。

如果是这样,那么唯一的问题是您在 package 配方中定义 IMAGE_BOOT_FILES,而不是在 image 中定义它 配方,因为此变量仅在图像构建时评估。所以从你的配置文件配方中删除它并将它添加到图像配方中,它应该以这种方式工作。