diff options
Diffstat (limited to 'target/generic/target_skeleton/etc/init.d/S20urandom')
| -rwxr-xr-x | target/generic/target_skeleton/etc/init.d/S20urandom | 44 | 
1 files changed, 44 insertions, 0 deletions
| diff --git a/target/generic/target_skeleton/etc/init.d/S20urandom b/target/generic/target_skeleton/etc/init.d/S20urandom new file mode 100755 index 000000000..433fafee4 --- /dev/null +++ b/target/generic/target_skeleton/etc/init.d/S20urandom @@ -0,0 +1,44 @@ +#! /bin/sh +# +# urandom	This script saves the random seed between reboots. +#		It is called from the boot, halt and reboot scripts. +# +# Version:	@(#)urandom  1.33  22-Jun-1998  miquels@cistron.nl +# + +[ -c /dev/urandom ] || exit 0 +#. /etc/default/rcS + +case "$1" in +	start|"") +		if [ "$VERBOSE" != no ] +		then +			echo -n "Initializing random number generator... " +		fi +		# Load and then save 512 bytes, +		# which is the size of the entropy pool +		if [ -f /etc/random-seed ] +		then +			cat /etc/random-seed >/dev/urandom +		fi +		rm -f /etc/random-seed +		umask 077 +		dd if=/dev/urandom of=/etc/random-seed count=1 \ +			>/dev/null 2>&1 || echo "urandom start: failed." +		umask 022 +		[ "$VERBOSE" != no ] && echo "done." +		;; +	stop) +		# Carry a random seed from shut-down to start-up; +		# see documentation in linux/drivers/char/random.c +		[ "$VERBOSE" != no ] && echo -n "Saving random seed... " +		umask 077 +		dd if=/dev/urandom of=/etc/random-seed count=1 \ +			>/dev/null 2>&1 || echo "urandom stop: failed." +		[ "$VERBOSE" != no ] && echo "done." +		;; +	*) +		echo "Usage: urandom {start|stop}" >&2 +		exit 1 +		;; +esac | 
