Yocto:在配方中的默认服务文件中添加一条语句

Yocto: add a statement in the default service file within a recipe

我需要在默认 .service 文件中添加一个 Restart 语句,并且正在寻找替代解决方案来用自定义文件替换 .service 文件(这有效)。

这个想法只是在 ${systemd_system_unitdir}/my_service.d/override.conf 文件中添加以下“增量”要求:

[Service]
Restart=always

然后将该文件添加到专用的 .bbappend 配方文件中。

到目前为止,在已部署的服务文件中添加上述语句的测试没有成功(尽管正确部署了“delta”conf 文件)。这甚至是一个可能的解决方案吗?

您应该能够简单地通过 echo 在您 .bbappend 文件的 do_install:append() 部分中输入该条目来做到这一点。类似于:

do_install:append() {
    echo "[Service]\nRestart=always" >> ${D}${sysconfdir}/wpa_supplicant/...
}

如果已经有一个文件,您同样可以使用 sed 来查找和替换该部分。

${sysconfdir} 将扩展为 /etc。检查此文件以获取更多定义的路径变量:https://git.yoctoproject.org/poky/plain/meta/conf/bitbake.conf?h=blinky