14 start_cmd="initrandom_start"
19 if [ -f "${1}" -a -r "${1}" -a -s "${1}" ]; then
20 cat "${1}" | dd of=/dev/random bs=8k 2>/dev/null
26 # XXX temporary until we can improve the entropy
28 # Entropy below is not great, but better than nothing.
29 # This unblocks the generator at startup
30 # Note: commands are ordered to cause the most variance across reboots.
31 ( kenv; dmesg; df -ib; ps -fauxww; date; sysctl -a ) \
32 | dd of=/dev/random bs=8k 2>/dev/null
33 /sbin/sha256 -q `sysctl -n kern.bootfile` \
34 | dd of=/dev/random bs=8k 2>/dev/null
39 soft_random_generator=`sysctl kern.random 2>/dev/null`
41 echo -n 'Entropy harvesting:'
43 if [ \! -z "${soft_random_generator}" ] ; then
45 if [ -w /dev/random ]; then
46 if checkyesno harvest_interrupt; then
47 ${SYSCTL} kern.random.sys.harvest.interrupt=1 >/dev/null
50 ${SYSCTL} kern.random.sys.harvest.interrupt=0 >/dev/null
53 if checkyesno harvest_ethernet; then
54 ${SYSCTL} kern.random.sys.harvest.ethernet=1 >/dev/null
57 ${SYSCTL} kern.random.sys.harvest.ethernet=0 >/dev/null
60 if checkyesno harvest_p_to_p; then
61 ${SYSCTL} kern.random.sys.harvest.point_to_point=1 >/dev/null
62 echo -n ' point_to_point'
64 ${SYSCTL} kern.random.sys.harvest.point_to_point=0 >/dev/null
68 # First pass at reseeding /dev/random.
70 case ${entropy_file} in
74 if [ -w /dev/random ]; then
75 feed_dev_random "${entropy_file}"