Seems that location of syslog-ng executable (and perhaps syslogd and rsyslogd also) has been recently changed from /sbin to /usr/sbin. Dracut is not aware of this change and now fails to start syslog-ng with following dmesg: dracut Warning: syslog-genrules: Could not find binary to start syslog of type "syslog-ng". Syslog will not be started. The checks and start-script are in /usr/lib/dracut/modules.d/98syslog/syslog-genrules.sh detect_syslog() { syslogtype="" if [ -e /sbin/rsyslogd ]; then syslogtype="rsyslogd" elif [ -e /sbin/syslogd ]; then syslogtype="syslogd" elif [ /sbin/syslog-ng ]; then syslogtype="syslog-ng" else warn "Could not find any syslog binary although the syslogmodule is selected to be installed. Please check." Hmmm... looks like a '-e' is missing from the syslog-ng check also. Reproducible: Always Steps to Reproduce: 1.Install syslog-ng and dracut 2.Build initrd with dracut 3.Reboot system Actual Results: [ 1.717349] dracut Warning: syslog-genrules: Could not find binary to start syslog of type "syslog-ng". Syslog will not be started. [I] sys-kernel/dracut Available versions: (~)040-r3^t (~)041-r3^t (~)043-r2^t (~)044^t (~)044-r1^t {debug selinux systemd} Installed versions: 044-r1^t(01:48:49 PM 11/26/2016)(-debug -selinux -systemd) [I] app-admin/syslog-ng Available versions: 3.4.8^t 3.6.2^t 3.6.4^t 3.7.2^t 3.7.3^t {amqp caps dbi geoip ipv6 json libressl mongodb pacct +pcre python redis smtp spoof-source ssl systemd tcpd} Installed versions: 3.7.3^t(04:25:37 AM 09/17/2016)(caps ipv6 python tcpd -amqp -dbi -geoip -json -libressl -mongodb -pacct -redis -smtp -spoof-source -systemd)
Created attachment 454468 [details] emerge --info
These lines in syslog-genrules.sh also look in the wrong place for a non-existent binary named syslog-ng-start: if [ -e "/sbin/${syslogtype}-start" ]; then printf 'ACTION=="online", SUBSYSTEM=="net", RUN+="/sbin/initqueue --onetime /sbin/'${syslogtype}'-start $env{INTERFACE}"\n' > /etc/udev/rules.d/70-syslog.rules else warn "syslog-genrules: Could not find binary to start syslog of type \"$syslogtype\". Syslog will not be started."
Created attachment 454474 [details] syslog-genrules.sh
(In reply to matt black from comment #0) > elif [ /sbin/syslog-ng ]; then > syslogtype="syslog-ng" > else > warn "Could not find any syslog binary although the syslogmodule is > selected to be installed. Please check." > > Hmmm... looks like a '-e' is missing from the syslog-ng check also. Yes. This was fixed recently. (In reply to matt black from comment #2) > These lines in syslog-genrules.sh also look in the wrong place for a > non-existent binary named syslog-ng-start: syslog module is awful. "Support" for syslog-ng and syslogd doesn't go beyond copying binaries into initramfs. But rsyslog should work fine if we fix detect_syslog().