Search code examples
yoctosystemdsyslog

Howto remove syslog completely from a yocto image based on systemd


I want to generate a Yocto image that uses systemd as the unique service to control my system logs. So I just want to use journalctl tool and don't want any reference to syslog at all.

To setup a systemd image I have setup my distro as this (as explained in the Yocto documentation):

DISTRO_FEATURES_append = " systemd"
DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit"
VIRTUAL-RUNTIME_dev_manager = "systemd"
VIRTUAL-RUNTIME_init_manager = "systemd"
VIRTUAL-RUNTIME_initscripts = ""

However, the built image adds a rpm package called sysklogd, and the generated image runs some syslog related systemctl services:

- syslogd.service
- syslog.socket

I would like to generate and image with no reference to syslog at all. What should be the proper way to manage this issue?

Thank you in advance! :)


Solution

  • Add

       VIRTUAL-RUNTIME_syslog = "" 
    

    in a .bb or .bbapend file. This will remove sysklogd package. Refer file /meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb where it is defined as

    VIRTUAL-RUNTIME_syslog ?= "sysklogd"