如何用Bitbake编译systemd拆分出的systemd-journal-remote包?
解决Yocto Langdale中单独编译systemd-journal-remote的问题
问题原因
systemd-journal-remote并非独立的BitBake配方(recipe),它是systemd主配方拆分出的子包,通过RPROVIDES关联到systemd,因此无法直接用bitbake systemd-journal-remote命令编译。
可行解决方案
方案1:编译systemd主配方并定位子包产物
- 先执行编译命令完成systemd的构建:
bitbake systemd -c compile - 构建完成后,进入
tmp/work/<目标架构>/systemd/<版本号>/目录,其中build子目录包含所有编译生成的文件,packages-split/systemd-journal-remote目录则存放该子包的最终拆分文件。
方案2:精准指定子包进行构建
通过--package-name参数让BitBake仅处理目标子包的构建流程:
bitbake systemd -c cleanall && bitbake systemd --package-name=systemd-journal-remote
该命令会先清理旧构建产物,再针对systemd-journal-remote子包完成编译、打包流程,产物同样存放在systemd主配方对应的tmp/work目录下。
注:确保systemd配方的
PACKAGECONFIG中已启用journal-remote相关配置,Langdale版本的systemd默认已开启该选项,若未开启可在local.conf中添加PACKAGECONFIG_append_pn-systemd = " journal-remote"。
内容的提问来源于stack exchange,提问作者Martin H.
相关产品推荐
相关产品推荐

