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

时间:2018-02-12 12:21:20

标签: yocto systemd syslog

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

要设置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

我想生成和图像,根本没有参考syslog。管理这个问题的正确方法应该是什么?

提前谢谢! :)

2 个答案:

答案 0 :(得分:1)

添加

   VIRTUAL-RUNTIME_syslog = "" 
<。>在.bb或.bbapend文件中。这将删除sysklogd包。 请参阅文件/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb,其中定义为

VIRTUAL-RUNTIME_syslog ?= "sysklogd"

答案 1 :(得分:0)

最后我解决了我的问题。首先,我按照此链接中说明的信息从我的自定义图像中删除了“busybox”:

Removing busybox completely from a Yocto generated image

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

.*

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