Yocto 使用一个配方文件启用多个 systemd 服务

Yocto enabling multiple systemd services with one recipe file

我接手了一个使用 Yocto 生成自定义 Linux 图像的项目。

我正在修改一个 .bb 配方文件,该文件已经创建并启用了 systemd 服务。我需要创建另一个 systemd 服务并从同一个配方文件中启用它。这可能吗?

下面显示了配方文件的底部。 app2.service 是图像中已经启用的服务。我也想添加 update.service。我已经附加了这一行: ${systemd_unitdir}/system/update.服务于 FILES_${PN} 如图所示

FILES_${PN} += "${sysconfdir} \
           ${systemd_unitdir}/system/app2.service \
           ${systemd_unitdir}/system/update.service \
"
inherit systemd

SYSTEMD_SERVICE_${PN} = "app2.service"

但是,我相信 SYSTEMD_SERVICE_${PN} 是启用该服务的原因。我可以用同样的方式将带 += 的 update.service 附加到 SYSTEMD_SERVICE_${PN} 吗?

我在网上寻找答案,但不清楚是否可以启用这样的多项服务。

只需在它们之间用 space 将它们分开

SYSTEMD_SERVICE_${PN} = "app2.service update.service"

我在 nfs-utils recipe

中找到了解决方案

yocto systemd documentation

Services are set up to start on boot automatically unless you have set SYSTEMD_AUTO_ENABLE to "disable".