如何从基于 systemd 的 yocto 映像中完全删除 syslog

Howto remove syslog completely from a yocto image based on systemd

我想生成一个使用 systemd 作为唯一服务来控制我的系统日志的 Yocto 映像。所以我只想使用 journalctl 工具,根本不想引用系统日志。

为了设置 systemd 映像,我将我的发行版设置为这样(如 Yocto 文档中所述):

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

但是,构建的镜像添加了一个名为sysklogd的rpm包,生成的镜像运行了一些syslog相关的systemctl服务:

- syslogd.service
- syslog.socket

我想在不参考系统日志的情况下生成图像。处理此问题的正确方法应该是什么?

提前致谢! :)

添加

   VIRTUAL-RUNTIME_syslog = "" 

在 .bb 或 .bbapend 文件中。这将删除 sysklogd 包。 参考文件 /meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb 定义为

VIRTUAL-RUNTIME_syslog ?= "sysklogd"

我终于解决了我的问题。首先,我按照 link:

中解释的信息从我的自定义图像中删除了 "busybox"

删除 busybox 后,定义此变量(如先前答案中的建议)按预期工作:

VIRTUAL-RUNTIME_syslog = "" 

现在生成的图像不包含对 syslog 或 sysklogd 的任何引用。非常感谢您的支持!! :-)