summaryrefslogtreecommitdiff
path: root/package/rng-tools/files
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2010-02-01 19:45:20 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2010-02-01 19:45:20 +0100
commit269e98c93f1bff77dc33701f1e5e8615a031ec0b (patch)
treed6e35e6da4bc19f657ac07ff8447ec065d85a4aa /package/rng-tools/files
parentd1b6ea47f57cbcac8543a4dba976e13e3bc2e985 (diff)
parent2a8b0c42a074556bd489ef88a2b788f84ff6cf1e (diff)
Merge branch 'master' of git+ssh://openadk.org/git/openadk
Diffstat (limited to 'package/rng-tools/files')
-rw-r--r--package/rng-tools/files/rng-tools.postinst2
-rw-r--r--package/rng-tools/files/rngd.init40
2 files changed, 42 insertions, 0 deletions
diff --git a/package/rng-tools/files/rng-tools.postinst b/package/rng-tools/files/rng-tools.postinst
new file mode 100644
index 000000000..4e769fe4b
--- /dev/null
+++ b/package/rng-tools/files/rng-tools.postinst
@@ -0,0 +1,2 @@
+. $IPKG_INSTROOT/etc/functions.sh
+add_rcconf rngd rngd NO
diff --git a/package/rng-tools/files/rngd.init b/package/rng-tools/files/rngd.init
new file mode 100644
index 000000000..1464209c0
--- /dev/null
+++ b/package/rng-tools/files/rngd.init
@@ -0,0 +1,40 @@
+#!/bin/sh
+#PKG rng-tools
+#INIT 60
+
+. /etc/rc.conf
+
+case $1 in
+autostop) ;;
+autostart)
+ test x"${rngd:-NO}" = x"NO" && exit 0
+ exec sh $0 start
+ ;;
+start)
+ devnode=""
+ for node in hw_random hwrandom i810_rng hwrng; do
+ if [ -e /dev/$node ]; then
+ devnode=/dev/$node
+ break
+ fi
+ done
+ if [ -z "$devnode" ]; then
+ echo "no hardware RNG found, falling back to /dev/urandom"
+ devnode=/dev/urandom
+ fi
+ rngd -b -r $devnode
+ ;;
+stop)
+ pkill rngd
+ ;;
+restart)
+ sh $0 stop
+ sleep 1
+ sh $0 start
+ ;;
+*)
+ echo "Usage: $0 {start | stop | restart}"
+ exit 1
+ ;;
+esac
+exit $?