Take a look at example from my some-recipe.bb
:
inherit systemd
SYSTEMD_SERVICE_${PN} = "some-recipe.service"
do_install_append () {
install -d ${D}${systemd_unitdir}/system
install -m 0644 ${S}/configs/some-recipe.service
${D}${systemd_unitdir}/system
}
First in your recipe inherit from "systemd".
Then install your systemd service file in
"${D}${systemd_unitdir}/system" (there is also a variable for this
directory, I think it's ${systemd_system_unitdir} or something similar).
Remember to create a directory before placing a file there.
In the last step use "SYSTEMD_SERVICE_${PN}" where you specify systemd
services that should be run.
I hope that helps..
Best regards,
Piotr Lewicki
On 09.06.2016 03:11, Dey, Megha wrote:
Hi,
I am trying to use the systemd init system from the existing system. I
have added the following to my conf file:
DISTRO_FEATURES_append = " systemd"
VIRTUAL-RUNTIME_init_manager = "systemd"
VIRTUAL-RUNTIME_initscripts = ""
DISTRO_FEATURES_BACKFILL_CONSIDERED += "sysvinit"
I have also added the ‘systemd’ binary to the INSTALL_APPEND.
When I boot the resulting image, I do see systemd up and running and I
am able to start and stop services.
However, I do have a script recipe which is currently placed as a
bbappend to initscripts
(meta/recipes-core/initscripts/initscript_..bb) in my custom meta layer.
This script even after shifting to systemd, is being placed in the
/etc/init.d/ folder, and hence doesn’t run on boot. I want this to be
placed in the /usr/lib/system.d/ folder instead. How would I be able
to do this?
Is it because this script is an append to initscripts, it by default
gets installed under /etc/init.d? If so, where should I place the recipe?
Thanks,
Megha
--
_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto