Port EST driver from NetBSD, as it has better support for newer CPUs
[dragonfly.git] / etc / rc.d / initrandom
blob60ea9ca92003d3f23de5f4099838960cddf8489f
1 #!/bin/sh
3 # $FreeBSD: src/etc/rc.d/initrandom,v 1.1 2002/06/13 22:14:36 gordon Exp $
4 # $DragonFly: src/etc/rc.d/initrandom,v 1.5 2005/11/19 21:47:32 swildner Exp $
7 # PROVIDE: initrandom
8 # REQUIRE: initdiskless
9 # BEFORE: disks
11 . /etc/rc.subr
13 name="initrandom"
14 start_cmd="initrandom_start"
15 stop_cmd=":"
17 feed_dev_random()
19 if [ -f "${1}" -a -r "${1}" -a -s "${1}" ]; then
20 cat "${1}" | dd of=/dev/random bs=8k 2>/dev/null
24 initrandom_start()
26 echo '.'
28 # First pass at reseeding /dev/random.
30 case ${entropy_file} in
31 [Nn][Oo] | '')
34 if [ -w /dev/random ]; then
35 feed_dev_random "${entropy_file}"
38 esac
40 # XXX temporary until we can get the entropy
41 # harvesting rate up
42 # Entropy below is not great,
43 # but better than nothing.
44 ( ps -fauxww; sysctl -a; date; df -ib; dmesg; ps -fauxww; ) \
45 2>&1 | dd of=/dev/random bs=8k 2>/dev/null
46 cat /bin/ls | dd of=/dev/random bs=8k 2>/dev/null
49 load_rc_config random
50 run_rc_command "$1"