#!/sbin/runscript # Copyright 1999-2007 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 depend() { need localmount } save_seed() { local poolsize=1 if [ -e /proc/sys/kernel/random/poolsize ] ; then poolsize=$(($(cat /proc/sys/kernel/random/poolsize) / 4096)) fi umask 077 dd if=/dev/urandom of=/var/run/random-seed count=${poolsize} 2>/dev/null } start() { [ -c /dev/urandom ] || return if [ -f /var/run/random-seed ] ; then cat /var/run/random-seed > /dev/urandom fi if ! rm -f /var/run/random-seed ; then ewarn "Skipping /var/run/random-seed initialization (ro root?)" return 0 fi ebegin "Initializing random number generator" save_seed eend $? "Error initializing random number generator" umask 022 } stop() { ebegin "Saving random seed" # Carry a random seed from shut-down to start-up; # see documentation in linux/drivers/char/random.c save_seed eend $? "Failed to save random seed" } # vim: set ts=4 :