bridge(4): document net.link.bridge.pfil_onlyip
[dragonfly.git] / etc / rc.d / initrandom
bloba367135f9c5e762831e48556bab0850cadebc1cb
1 #!/bin/sh
3 # $FreeBSD: src/etc/rc.d/initrandom,v 1.1 2002/06/13 22:14:36 gordon Exp $
6 # PROVIDE: initrandom
7 # REQUIRE: initdiskless
8 # BEFORE: disks
10 . /etc/rc.subr
12 name="initrandom"
13 start_cmd="initrandom_start"
14 stop_cmd=":"
16 feed_dev_random()
18 if [ -f "${1}" -a -r "${1}" -a -s "${1}" ]; then
19 ${SYSCTL_W} kern.seedenable=1 >/dev/null
20 cat "${1}" | dd of=/dev/random bs=8k 2>/dev/null
21 ${SYSCTL_W} kern.seedenable=0 >/dev/null
25 initrandom_start()
27 # First pass at reseeding /dev/random.
29 case ${entropy_file} in
30 [Nn][Oo] | '')
33 if [ -w /dev/random ]; then
34 feed_dev_random "${entropy_file}"
37 esac
39 # Mix in more junk. At the very least this will make seeding a
40 # bit more machine specific. The 'sysctl -a' will also catch the
41 # TSC, 8254, and a few other things that tend to be somewhat more
42 # random (even from a CD boot) so it isn't all that bad.
44 echo -n 'Initializing random seed: '
45 ${SYSCTL_W} kern.seedenable=1 >/dev/null
46 ( ps -fauxww; ${SYSCTL} -a; date; df -ib; dmesg; ps -fauxww; ) \
47 2>&1 | dd of=/dev/random bs=8k 2>/dev/null
48 cat /bin/ls | dd of=/dev/random bs=8k 2>/dev/null
49 ${SYSCTL_W} kern.seedenable=0 >/dev/null
50 echo 'done. '
53 load_rc_config random
54 run_rc_command "$1"