embedded-linux - 删除 yocto 中的 systemd 服务?
问题描述
我想为test-image1删除 systemd 服务 'timesyncd' ,为另一个图像test-image2保留相同的服务。第一个映像在 0x86 架构上运行,第二个在 ARM 上运行。为了删除timesyncd,我创建了一个 systemd_%.bbappend 文件并添加了这一行:
PACKAGECONFIG_remove = "时间同步"
这仅适用于删除它,但我如何删除一个图像中的服务并将其保留在另一个图像中。bitbake 中是否有某种 if else 或者我们可以创建两个 bbappend 文件来实现这一点?
解决方案
感谢@LetThe2nd 和@Erik Botö。
在 yocto 中可能有几个 OVERRIDES,使用 bbapend 文件中的 MACHINEOVERRIDES 从 PACKAGECONFIG 中删除一个包:
PACKAGECONFIG_remove_<MACHINETYPE> = "<package-to-remove>"