]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - etc/rc.d/preseedrandom
This commit was generated by cvs2svn to compensate for changes in r142425,
[FreeBSD/FreeBSD.git] / etc / rc.d / preseedrandom
1 #!/bin/sh
2 #
3 # $FreeBSD$
4 #
5
6 # PROVIDE: preseedrandom
7 # KEYWORD: nojail
8
9 feed_dev_random()
10 {
11         if [ -f "${1}" -a -r "${1}" -a -s "${1}" ]; then
12                 cat "${1}" | dd of=/dev/random bs=8k 2>/dev/null
13         fi
14 }
15
16 soft_random_generator=`sysctl kern.random 2>/dev/null`
17
18 if [ -n "${soft_random_generator}" ] ; then
19
20         echo -n 'Pre-seeding PRNG:'
21
22         # XXX temporary until we can improve the entropy
23         # harvesting rate.
24         # Entropy below is not great, but better than nothing.
25         # This unblocks the generator at startup
26         ( ps -fauxww; sysctl -a; date; df -ib; dmesg; ps -fauxww; ) \
27             | dd of=/dev/random bs=8k 2>/dev/null
28         cat /bin/ls | dd of=/dev/random bs=8k 2>/dev/null
29
30         # First pass at reseeding /dev/random.
31         #
32         if [ -w /dev/random ]; then
33                 feed_dev_random "/entropy"
34         fi
35
36         echo -n ' kickstart'
37
38         echo '.'
39 fi