poky/meta/recipes-core/initscripts/initscripts-1.0/urandom
Richard Tollerton b163ba19de initscripts: Add support for /etc/default/urandom
Source /etc/default/urandom if present.  This allows the rootfs to
remain read-only while enabling the user to override the location of the
random seed file.

(From OE-Core rev: 415e1a4ac8120b28118671698459b098c965a4f6)

Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
Signed-off-by: Ben Shelton <ben.shelton@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-19 00:09:00 +01:00

1.4 KiB
Executable File

#!/bin/sh

BEGIN INIT INFO

Provides: urandom

Required-Start: $local_fs mountvirtfs

Required-Stop: $local_fs

Default-Start: S

Default-Stop: 0 6

Short-Description: Save and restore the random seed

Description: Save the random seed on shutdown and restore it on boot,

to ensure that the seed isn't predicable on startup

(because the boot process is predictable)

END INIT INFO

test -c /dev/urandom || exit 0

RANDOM_SEED_FILE=/var/lib/urandom/random-seed

. /etc/default/rcS [ -f /etc/default/urandom ] && . /etc/default/urandom

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. Also load the current date, in case the seed file is # empty. ( date +%s.%N; [ -f "$RANDOM_SEED_FILE" ] && cat "$RANDOM_SEED_FILE" )
>/dev/urandom rm -f "$RANDOM_SEED_FILE" umask 077 dd if=/dev/urandom of=$RANDOM_SEED_FILE 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=$RANDOM_SEED_FILE count=1
>/dev/null 2>&1 || echo "urandom stop: failed." ;; *) echo "Usage: urandom {start|stop}" >&2 exit 1 ;; esac

exit 0