initrandom revision 256381
1110285Snyan#!/bin/sh
2110285Snyan#
3110329Stakawata# $FreeBSD: stable/10/etc/rc.d/initrandom 256381 2013-10-12 15:31:36Z markm $
4110333Snyan#
5110285Snyan
6110285Snyan# PROVIDE: initrandom
7110285Snyan# REQUIRE: dumpon ddb
8110285Snyan# BEFORE: disks
9110285Snyan# KEYWORD: nojail
10110285Snyan
11110285Snyan. /etc/rc.subr
12110285Snyan
13110285Snyanname="initrandom"
14110285Snyanstart_cmd="initrandom_start"
15110285Snyanstop_cmd=":"
16110285Snyan
17110285Snyaninitrandom_start()
18110285Snyan{
19110285Snyan	soft_random_generator=`sysctl kern.random 2>/dev/null`
20110285Snyan
21110285Snyan	echo -n 'Entropy harvesting:'
22110285Snyan
23110285Snyan	if [ \! -z "${soft_random_generator}" ] ; then
24110285Snyan
25110333Snyan		if [ -w /dev/random ]; then
26110285Snyan			if checkyesno harvest_interrupt; then
27110285Snyan				${SYSCTL} kern.random.sys.harvest.interrupt=1 >/dev/null
28110285Snyan				echo -n ' interrupts'
29110285Snyan			else
30110285Snyan				${SYSCTL} kern.random.sys.harvest.interrupt=0 >/dev/null
31110285Snyan			fi
32110285Snyan
33110285Snyan			if checkyesno harvest_ethernet; then
34110285Snyan				${SYSCTL} kern.random.sys.harvest.ethernet=1 >/dev/null
35110285Snyan				echo -n ' ethernet'
36110285Snyan			else
37110285Snyan				${SYSCTL} kern.random.sys.harvest.ethernet=0 >/dev/null
38110285Snyan			fi
39110285Snyan
40110285Snyan			if checkyesno harvest_p_to_p; then
41110285Snyan				${SYSCTL} kern.random.sys.harvest.point_to_point=1 >/dev/null
42110285Snyan				echo -n ' point_to_point'
43110285Snyan			else
44110285Snyan				${SYSCTL} kern.random.sys.harvest.point_to_point=0 >/dev/null
45110285Snyan			fi
46110285Snyan
47110285Snyan			if checkyesno harvest_swi; then
48110285Snyan				${SYSCTL} kern.random.sys.harvest.swi=1 >/dev/null
49110285Snyan				echo -n ' swi'
50110285Snyan			else
51110285Snyan				${SYSCTL} kern.random.sys.harvest.swi=0 >/dev/null
52110285Snyan			fi
53110285Snyan		fi
54110285Snyan
55110285Snyan	fi
56110285Snyan
57110285Snyan	echo '.'
58110285Snyan}
59110285Snyan
60110285Snyanload_rc_config random
61110285Snyanrun_rc_command "$1"
62110285Snyan