summaryrefslogtreecommitdiff
path: root/package/rng-tools/files
diff options
context:
space:
mode:
authorPhil Sutter <phil@nwl.cc>2010-01-22 22:36:39 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2010-01-23 08:46:46 +0100
commit750f684c7f0117b16adc02c28d1c329958c2b470 (patch)
tree396eb01fed5730e81fc4c88a4c666cc84bf9080b /package/rng-tools/files
parent5cb78c4c3bcbc05c3f9464b21c52f872ad041cf1 (diff)
rng-tools review: add tpm support patch and init-file
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 $?