首页 > 解决方案 > 删除 yocto 中的 systemd 服务?

问题描述

我想为test-image1删除 systemd 服务 'timesyncd' ,为另一个图像test-image2保留相同的服务。第一个映像在 0x86 架构上运行,第二个在 ARM 上运行。为了删除timesyncd,我创建了一个 systemd_%.bbappend 文件并添加了这一行:

PACKAGECONFIG_remove = "时间同步"

这仅适用于删除它,但我如何删除一个图像中的服务并将其保留在另一个图像中。bitbake 中是否有某种 if else 或者我们可以创建两个 bbappend 文件来实现这一点?

标签: embedded-linuxyoctoopenembedded

解决方案


感谢@LetThe2nd 和@Erik Botö。

在 yocto 中可能有几个 OVERRIDES,使用 bbapend 文件中的 MACHINEOVERRIDES 从 PACKAGECONFIG 中删除一个包:

PACKAGECONFIG_remove_<MACHINETYPE> = "<package-to-remove>"

覆盖


推荐阅读