#lib/udev/rules.d/78-sound-card.rules
#lib/udev/rules.d/80-drivers.rules
#lib/udev/rules.d/80-net-name-slot.rules
+#lib/udev/rules.d/90-hwrng.rules
#lib/udev/rules.d/95-udev-late.rules
#lib/udev/rules.d/99-codel.rules
#lib/udev/scsi_id
--- /dev/null
+ACTION=="add|remove", KERNEL=="hw_random", RUN+="/etc/rc.d/init.d/rngd udev-event"
install -v -m 644 $(DIR_SRC)/config/udev/25-alsa.rules \
/lib/udev/rules.d
+ # Install hwrng rules.
+ install -v -m 644 $(DIR_SRC)/config/udev/90-hwrng.rules \
+ /lib/udev/rules.d
+
# Install codel rules.
install -v -m 644 $(DIR_SRC)/config/udev/99-codel.rules \
/lib/udev/rules.d
. /etc/sysconfig/rc
. ${rc_functions}
+function has_rdrand() {
+ grep -q "rdrand" /proc/cpuinfo
+}
+
+function has_hwrng() {
+ [ -e "/dev/hwrng" ]
+}
+
case "${1}" in
start)
- if [ ! -e "/dev/hwrng" ]; then
- boot_mesg "No Hardware Random Number Generator found..." ${WARNING}
+ if ! has_hwrng && ! has_rdrand; then
+ boot_mesg "No Hardware Random Number Generator found..."
echo_warning
exit 0
fi
boot_mesg "Starting Random Number Generator Daemon..."
- loadproc /usr/sbin/rngd
+ loadproc /usr/sbin/rngd --no-tpm=1
;;
stop)
statusproc /usr/sbin/rngd
;;
+ udev-event)
+ $0 restart &>/dev/null
+ ;;
+
*)
echo "Usage: ${0} {start|stop|restart|status}"
exit 1