我有一个生成两个分区的bitbake配置,包含uBoot,uEnv.txt等的BOOT(FAT)分区和以只读方式挂载的根文件系统。可能存在这样的情况:文件系统不是一个单独的分区,而是一个ramdisk,所以我试图强制执行在两个实例中都有效的设计模式:
我尝试做的是将根文件系统中的一些文件作为SD卡上位置的链接提供。通过这种方式,我可以构建单个SD卡映像,并且最终用户可以轻松地调整节点ID或名称的次要编辑。因此,例如,如果/etc/special_config.conf
是有用的,那么不是将其存储在只读分区上,而是创建一个指向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中强制执行此类行为的聪明方法?
答案 0 :(得分:0)
如果我理解正确,你会在图像中获得${sysconfdir}/special_config.conf
符号链接(通过从提到的配方构建的包),但是你没有使用BOOT分区上的special_config.conf
文件wic
image fstype。
如果是这种情况,那么唯一的问题是你在包配方中定义IMAGE_BOOT_FILES
,而不是在图像中定义它 recipe,因为此变量仅在图像构建时评估。所以从配置文件配方中删除它并将其添加到图像配方中,它应该以这种方式工作。