summaryrefslogtreecommitdiff
path: root/packages/initscripts/initscripts-1.0/urandom
diff options
context:
space:
mode:
authorKoen Kooi <koen@openembedded.org>2005-06-30 08:19:37 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2005-06-30 08:19:37 +0000
commitc8e5702127e507e82e6f68a4b8c546803accea9d (patch)
tree00583491f40ecc640f2b28452af995e3a63a09d7 /packages/initscripts/initscripts-1.0/urandom
parent87ec8ca4d2e2eb4d1c1e1e1a6b46a395d56805b9 (diff)
import clean BK tree at cset 1.3670
Diffstat (limited to 'packages/initscripts/initscripts-1.0/urandom')
-rwxr-xr-x[-rw-r--r--]packages/initscripts/initscripts-1.0/urandom41
1 files changed, 41 insertions, 0 deletions
diff --git a/packages/initscripts/initscripts-1.0/urandom b/packages/initscripts/initscripts-1.0/urandom
index e69de29bb2..45c41d758b 100644..100755
--- a/packages/initscripts/initscripts-1.0/urandom
+++ b/packages/initscripts/initscripts-1.0/urandom
@@ -0,0 +1,41 @@
+#! /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
+#
+
+test -c /dev/urandom || exit 0
+. /etc/default/rcS
+
+case "$1" in
+ start|"")
+ test "$VERBOSE" != no && echo "Initializing random number generator..."
+ # Load and then save 512 bytes,
+ # which is the size of the entropy pool
+ if test -f /var/lib/urandom/random-seed
+ then
+ cat /var/lib/urandom/random-seed >/dev/urandom
+ fi
+ rm -f /var/lib/urandom/random-seed
+ umask 077
+ dd if=/dev/urandom of=/var/lib/urandom/random-seed count=1 \
+ >/dev/null 2>&1 || echo "urandom start: failed."
+ umask 022
+ ;;
+ stop)
+ # Carry a random seed from shut-down to start-up;
+ # see documentation in linux/drivers/char/random.c
+ test "$VERBOSE" != no && echo "Saving random seed..."
+ umask 077
+ dd if=/dev/urandom of=/var/lib/urandom/random-seed count=1 \
+ >/dev/null 2>&1 || echo "urandom stop: failed."
+ ;;
+ *)
+ echo "Usage: urandom {start|stop}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0