home *** CD-ROM | disk | FTP | other *** search
- #! /bin/sh
- # Copyright (c) 1998-2002 SuSE Linux AG, Nuernberg, Germany.
- # All rights reserved.
- #
- # Author: Burchard Steinbild, 1998
- # originally from Theodore Ts'o <tytso@mit.edu>
- #
- # Please send feedback to http://www.suse.de/feedback
- #
- # /etc/init.d/random
- #
- # Script to snapshot random state and reload it at boot time.
- #
- # Saves and restores system entropy pool for higher quality
- # random number generation.
- #
- ### BEGIN INIT INFO
- # Provides: random
- # Required-Start:
- # Required-Stop:
- # Default-Start: 2 3 5
- # Default-Stop:
- # Description: Script to snapshot random state and reload it at boot time.
- ### END INIT INFO
-
- . /etc/rc.status
-
- random_seed=/var/lib/misc/random-seed
-
- rc_reset
- case "$1" in
- start)
- echo -n "Initializing random number generator"
- # Carry a random seed from start-up to start-up
- # Load and then save 512 bytes, which is the size of the entropy pool
- if test -f $random_seed ; then
- cat $random_seed > /dev/urandom
- rc_status
- else
- > $random_seed
- rc_status
- fi
- chmod 600 $random_seed
- dd if=/dev/urandom of=$random_seed count=1 bs=512 2>/dev/null
- rc_status -v
- ;;
- stop)
- # Carry a random seed from shut-down to start-up
- # Save 512 bytes, which is the size of the entropy pool
- echo -n "Saving random seed"
- if test ! -f $random_seed ; then
- > $random_seed
- rc_status
- fi
- chmod 600 $random_seed
- dd if=/dev/urandom of=$random_seed count=1 bs=512 2>/dev/null
- rc_status -v
- ;;
- status)
- echo -n "Checking for random generator (always true)"
- rc_status -v
- ;;
- *)
- echo "Usage: $0 {start|stop|status}"
- exit 1
- esac
- rc_exit
-