* Fixed the executable path (No more /usr/local/bin) * Changed the init file to try to autodiscover the HRNGDEVICE. (Stolen from debian)
* Added a conf file to be able to specify urandom as a source of random number (it helps producing random number faster with a small quality decrease) Signed-off-by: Camille Moncelier <[email protected]> --- recipes/rng-tools/files/init | 48 ++++++++++++++++++++++++++---------- recipes/rng-tools/files/rng-tools | 2 + recipes/rng-tools/rng-tools_2.bb | 7 ++++- 3 files changed, 42 insertions(+), 15 deletions(-) create mode 100644 recipes/rng-tools/files/rng-tools diff --git a/recipes/rng-tools/files/init b/recipes/rng-tools/files/init index e12f71c..e750685 100755 --- a/recipes/rng-tools/files/init +++ b/recipes/rng-tools/files/init @@ -5,37 +5,57 @@ # > update-rc.d rng-tools defaults 60 # -rngd=/usr/local/sbin/rngd -test -x "$rngd" || exit 1 +DAEMON=/usr/sbin/rngd +test -x "$DAEMON" || exit 1 +DEVICELIST="hwrng hw_random hwrandom intel_rng i810_rng" +HRNGDEVICE=/dev/hwrng +RNGDOPTIONS= +[ -r /etc/default/rng-tools ] && . /etc/default/rng-tools + +finddevice () { + [ -c "${HRNGDEVICE}" ] && return 0 + for i in ${DEVICELIST} ; do + if [ -c "/dev/$i" ] ; then + HRNGDEVICE="/dev/$i" + return 0 + fi + if [ -c "/dev/misc/$i" ] ; then + HRNGDEVICE="/dev/misc/$i" + return 0 + fi + done + + echo "(Hardware RNG device inode not found)" + echo "$0: Cannot find a hardware RNG device to use." >&2 + exit 1 +} case "$1" in start) - echo -n "Starting random number generator daemon" - start-stop-daemon --start --quiet --exec $rngd + echo -n "Starting random number generator daemon " + finddevice + start-stop-daemon --start --quiet --exec $DAEMON -- -r ${HRNGDEVICE} ${RNGDOPTIONS} echo "." ;; stop) echo -n "Stopping random number generator daemon" - start-stop-daemon --stop --quiet -n rngd + start-stop-daemon --stop --quiet --exec $DAEMON echo "." ;; reload|force-reload) echo -n "Signalling rng daemon restart" - start-stop-daemon --stop --quiet --signal 1 --exec $rngd - start-stop-daemon --stop --quiet --signal 1 --exec $rngd + start-stop-daemon --stop --quiet --signal 1 --exec $DAEMON + start-stop-daemon --stop --quiet --signal 1 --exec $DAEMON ;; restart) - echo -n "Stopping random number generator daemon" - start-stop-daemon --stop --quiet -n rngd - echo "." - echo -n "Starting random number generator daemon" - start-stop-daemon --start --quiet --exec $rngd - echo "." + $0 stop + sleep 1 + $0 start ;; *) echo "Usage: /etc/init.d/rng-tools {start|stop|reload|restart|force-reload}" exit 1 esac -exit 0 \ No newline at end of file +exit 0 diff --git a/recipes/rng-tools/files/rng-tools b/recipes/rng-tools/files/rng-tools new file mode 100644 index 0000000..777a816 --- /dev/null +++ b/recipes/rng-tools/files/rng-tools @@ -0,0 +1,2 @@ +# HRNGDEVICE=/dev/hwrandom +# RNGDOPTIONS="-W 80% -t 20" diff --git a/recipes/rng-tools/rng-tools_2.bb b/recipes/rng-tools/rng-tools_2.bb index 523587c..dee6f45 100644 --- a/recipes/rng-tools/rng-tools_2.bb +++ b/recipes/rng-tools/rng-tools_2.bb @@ -1,8 +1,9 @@ DESCRIPTION = "Random number generator daemon" LICENSE = "GPL" -PR = "1" +PR = "2" SRC_URI = "http://heanet.dl.sourceforge.net/sourceforge/gkernel/${P}.tar.gz \ + file://rng-tools \ file://init" inherit autotools update-rc.d @@ -12,8 +13,12 @@ INITSCRIPT_PARAMS = "defaults" do_install_append() { install -d "${D}${sysconfdir}/init.d" + install -d "${D}${sysconfdir}/default" install -c -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/rng-tools + install -c -m 755 ${WORKDIR}/rng-tools ${D}${sysconfdir}/default/rng-tools } +CONFFILES_${PN} = "${sysconfdir}/default/rng-tools" + SRC_URI[md5sum] = "63d503191eabed630324c104cc024475" SRC_URI[sha256sum] = "1126f0ecc8cab3af14a562cddc5d8ffeef47df7eba34a7aadcdee35a25ec2b1e" -- 1.7.3.1 _______________________________________________ Openembedded-devel mailing list [email protected] http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
