ArchLinux in their rngd.service uses EnvironmentFile=/etc/conf.d/rngd, see here.
The file is not declared as optional (- prefix), and thus if it's not present, the service will fail to start, see the systemd docs.
However, dracut's 16rngd module in its module-setup.sh does not consider including this file, as it only considers /etc/sysconfig that is used by Fedora and co.
Thus, if rng-tools is installed on Arch, Dracut will include it by default, and will therefore cause rngd.service to consistently fail in initrd. This is automatic if that package is just installed.
Affected: 111 or master
Steps to reproduce:
- On Arch install
dracut and rng-tools.
- Use
dracut to generate initramfs.
- Startup will cause
rngd.service failure.
Fix:
Works fine with install_items+=" /etc/conf.d/rngd " set as configuration. I would suggest adding a simple check if that file exists to modules-setup.sh and copy it over if so.
ArchLinux in their
rngd.serviceusesEnvironmentFile=/etc/conf.d/rngd, see here.The file is not declared as optional (
-prefix), and thus if it's not present, the service will fail to start, see the systemd docs.However, dracut's
16rngdmodule in its module-setup.sh does not consider including this file, as it only considers/etc/sysconfigthat is used by Fedora and co.Thus, if
rng-toolsis installed on Arch, Dracut will include it by default, and will therefore causerngd.serviceto consistently fail in initrd. This is automatic if that package is just installed.Affected: 111 or master
Steps to reproduce:
dracutandrng-tools.dracutto generate initramfs.rngd.servicefailure.Fix:
Works fine with
install_items+=" /etc/conf.d/rngd "set as configuration. I would suggest adding a simple check if that file exists tomodules-setup.shand copy it over if so.