aboutsummaryrefslogtreecommitdiff
path: root/rc.lib
diff options
context:
space:
mode:
Diffstat (limited to 'rc.lib')
-rw-r--r--rc.lib20
1 files changed, 20 insertions, 0 deletions
diff --git a/rc.lib b/rc.lib
index 412f98b..8d65dd9 100644
--- a/rc.lib
+++ b/rc.lib
@@ -17,3 +17,23 @@ run_hook() {
. "$hook"
done
}
+
+random() {
+ seed=/var/random.seed
+ case "$1" in
+ load)
+ out "Seeding random..."
+ [ -f "$seed" ] || {
+ out "Generating entropy, this might take a while..."
+ dd count=1 bs=512 if=/dev/random of="$seed" 2>/dev/null
+ }
+ cat "$seed" > /dev/urandom
+ ;;
+ save)
+ mkdir -p "${seed%/*}"
+ out "Saving random seed..."
+ dd count=1 bs=512 if=/dev/urandom of="$seed" 2>/dev/null
+ ;;
+ esac
+}
+