summaryrefslogtreecommitdiffstats
path: root/target/default/target_skeleton/etc/init.d/S20urandom
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2004-10-09 02:49:33 +0000
committerEric Andersen <andersen@codepoet.org>2004-10-09 02:49:33 +0000
commit44eedc5c44416a97b3f5ca03d596ec3c9fb29380 (patch)
tree96f605b4cd9934fc1d09319490c672aaab44ce2f /target/default/target_skeleton/etc/init.d/S20urandom
parent73f7be82904f487d167493e76b415fbe5b5f8c5a (diff)
downloadbuildroot-novena-44eedc5c44416a97b3f5ca03d596ec3c9fb29380.tar.gz
buildroot-novena-44eedc5c44416a97b3f5ca03d596ec3c9fb29380.zip
facelift step number two
Diffstat (limited to 'target/default/target_skeleton/etc/init.d/S20urandom')
-rwxr-xr-xtarget/default/target_skeleton/etc/init.d/S20urandom44
1 files changed, 44 insertions, 0 deletions
diff --git a/target/default/target_skeleton/etc/init.d/S20urandom b/target/default/target_skeleton/etc/init.d/S20urandom
new file mode 100755
index 000000000..433fafee4
--- /dev/null
+++ b/target/default/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