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.6 2006/07/10 22:19:14 dillon Exp $
8 # REQUIRE: initdiskless
14 start_cmd
="initrandom_start"
19 if [ -f "${1}" -a -r "${1}" -a -s "${1}" ]; then
20 sysctl kern.seedenable
=1 >/dev
/null
21 cat "${1}" |
dd of
=/dev
/random bs
=8k
2>/dev
/null
22 sysctl kern.seedenable
=0 >/dev
/null
28 # First pass at reseeding /dev/random.
30 case ${entropy_file} in
34 if [ -w /dev
/random
]; then
35 feed_dev_random
"${entropy_file}"
40 # Mix in more junk. At the very least this will make seeding a
41 # bit more machine specific. The sysctl -a will also catch the
42 # TSC, 8254, and a few other things that tend to be somewhat more
43 # random (even from a CD boot) so it isn't all that bad.
45 echo -n 'Initializing random seed: '
46 sysctl kern.seedenable
=1 >/dev
/null
47 ( ps
-fauxww; sysctl
-a; date; df
-ib; dmesg
; ps
-fauxww; ) \
48 2>&1 |
dd of
=/dev
/random bs
=8k
2>/dev
/null
49 cat /bin
/ls |
dd of
=/dev
/random bs
=8k
2>/dev
/null
50 sysctl kern.seedenable
=0 >/dev
/null