On Sun, Oct 26, 2014 at 06:02:04PM +0100, Andreas Pretzsch wrote:
> random number generator daemon - seed kernel random from hwrng
>
> This daemon feeds data from a random number generator to the kernel's
> random number entropy pool, after first checking the data to ensure
> that it is properly random.
>
> By default, a hardware rng at /dev/hwrng is used as entropy source.
>
> This daemon is part of the rng-tools, which can be found at
> http://sourceforge.net/projects/gkernel/
> git://git.kernel.org/pub/scm/utils/kernel/rng-tools/rng-tools.git
>
> Signed-off-by: Andreas Pretzsch <[email protected]>
Thanks, applied. I've changed the prefix to /usr. That's what Debian is
using and I didn't see a reason not to use that as well.
Michael
> ---
>
> Start script is kept as simple as possible, as this one runs rather
> early and does not need much.
>
> The link default of "S00" in rc.d is intentional. rc-once is S01 by
> default and triggers things like ssh key generation. So while in
> other cases I would have set rngd to something around S10, it has to
> squeeze in before rc-once. As there are no udev depends (the other
> S00), being a kernel provided device, this should be ok.
>
> Placing the daemon in /sbin also follows this fact, beside its
> very system-near function.
>
> generic/etc/init.d/rngd | 40 +++++++++++++++++++++++++++++++++
> rules/rng-tools-bbinit.in | 10 +++++++++
> rules/rng-tools.in | 23 +++++++++++++++++++
> rules/rng-tools.make | 57
> +++++++++++++++++++++++++++++++++++++++++++++++
> 4 files changed, 130 insertions(+)
> create mode 100644 generic/etc/init.d/rngd
> create mode 100644 rules/rng-tools-bbinit.in
> create mode 100644 rules/rng-tools.in
> create mode 100644 rules/rng-tools.make
>
> diff --git a/generic/etc/init.d/rngd b/generic/etc/init.d/rngd
> new file mode 100644
> index 0000000..cdae9db
> --- /dev/null
> +++ b/generic/etc/init.d/rngd
> @@ -0,0 +1,40 @@
> +#!/bin/sh
> +#
> +# Start/stop rngd (random number generator daemon) from rng-tools
> +#
> +
> +# defaults are sane, normally no need to override
> +OPTIONS=
> +
> +# pid-file created from rngd by default
> +PIDFILE=/var/run/rngd.pid
> +
> +case $1 in
> + start)
> + if [ -e $PIDFILE ]; then
> + echo "rngd already running (found $PIDFILE)"
> + else
> + echo "starting rngd"
> + /sbin/rngd $OPTIONS
> + fi
> + ;;
> +
> + stop)
> + if [ -e $PIDFILE ]; then
> + echo "stopping rngd"
> + kill -s SIGTERM `cat $PIDFILE`
> + else
> + echo "rngd not running (no $PIDFILE)"
> + fi
> + ;;
> +
> + restart)
> + $0 stop
> + $0 start
> + ;;
> +
> + *)
> + echo "Usage: ${0} {start|stop|restart}"
> + exit 1
> + ;;
> +esac
> diff --git a/rules/rng-tools-bbinit.in b/rules/rng-tools-bbinit.in
> new file mode 100644
> index 0000000..7cb74aa
> --- /dev/null
> +++ b/rules/rng-tools-bbinit.in
> @@ -0,0 +1,10 @@
> +## SECTION=initmethod_bbinit
> +
> +config RNG_TOOLS_BBINIT_LINK
> + string
> + depends on RNG_TOOLS_STARTSCRIPT
> + prompt "rng-tools"
> + default "S00rngd"
> + help
> + Order in start sequence.
> + Note: Start before rc-once to seed random before e.g. key creation.
> diff --git a/rules/rng-tools.in b/rules/rng-tools.in
> new file mode 100644
> index 0000000..8282b93
> --- /dev/null
> +++ b/rules/rng-tools.in
> @@ -0,0 +1,23 @@
> +## SECTION=shell_and_console
> +
> +config RNG_TOOLS
> + tristate
> + prompt "rng-tools rngd"
> + help
> + random number generator daemon - seed kernel random from hwrng
> +
> + This daemon feeds data from a random number generator to the kernel's
> + random number entropy pool, after first checking the data to ensure
> + that it is properly random.
> +
> + By default, a hardware rng at /dev/hwrng is used as entropy source.
> +
> + This daemon is part of the rng-tools, which can be found at
> + http://sourceforge.net/projects/gkernel/
> + git://git.kernel.org/pub/scm/utils/kernel/rng-tools/rng-tools.git
> +
> +config RNG_TOOLS_STARTSCRIPT
> + bool
> + default y
> + depends on RNG_TOOLS
> + prompt "install /etc/init.d/rngd"
> diff --git a/rules/rng-tools.make b/rules/rng-tools.make
> new file mode 100644
> index 0000000..22f26fd
> --- /dev/null
> +++ b/rules/rng-tools.make
> @@ -0,0 +1,57 @@
> +# -*-makefile-*-
> +#
> +# Copyright (C) 2014 by Andreas Pretzsch <[email protected]>
> +#
> +# See CREDITS for details about who has contributed to this project.
> +#
> +# For further information about the PTXdist project and license conditions
> +# see the README file.
> +#
> +
> +PACKAGES-$(PTXCONF_RNG_TOOLS) += rng-tools
> +
> +RNG_TOOLS_VERSION := 5
> +RNG_TOOLS_MD5 := 6726cdc6fae1f5122463f24ae980dd68
> +RNG_TOOLS := rng-tools-$(RNG_TOOLS_VERSION)
> +RNG_TOOLS_SUFFIX := tar.gz
> +RNG_TOOLS_URL := $(call ptx/mirror, SF,
> gkernel/$(RNG_TOOLS).$(RNG_TOOLS_SUFFIX))
> +RNG_TOOLS_SOURCE := $(SRCDIR)/$(RNG_TOOLS).$(RNG_TOOLS_SUFFIX)
> +RNG_TOOLS_DIR := $(BUILDDIR)/$(RNG_TOOLS)
> +RNG_TOOLS_LICENSE := GPLv2
> +
> +#
> ----------------------------------------------------------------------------
> +# Prepare
> +#
> ----------------------------------------------------------------------------
> +
> +RNG_TOOLS_CONF_TOOL := autoconf
> +RNG_TOOLS_CONF_OPT := $(CROSS_AUTOCONF_ROOT)
> +
> +#
> ----------------------------------------------------------------------------
> +# Target-Install
> +#
> ----------------------------------------------------------------------------
> +
> +$(STATEDIR)/rng-tools.targetinstall:
> + @$(call targetinfo)
> +
> + @$(call install_init, rng-tools)
> + @$(call install_fixup, rng-tools,PRIORITY,optional)
> + @$(call install_fixup, rng-tools,SECTION,base)
> + @$(call install_fixup, rng-tools,AUTHOR,"Andreas Pretzsch
> <[email protected]>")
> + @$(call install_fixup, rng-tools,DESCRIPTION,"random number generator
> daemon - seed kernel random from hwrng")
> +
> + @$(call install_copy, rng-tools, 0, 0, 0755, -, /sbin/rngd)
> +ifdef PTXCONF_INITMETHOD_BBINIT
> +ifdef PTXCONF_RNG_TOOLS_STARTSCRIPT
> + @$(call install_alternative, rng-tools, 0, 0, 0755, /etc/init.d/rngd)
> +ifneq ($(call remove_quotes,$(PTXCONF_RNG_TOOLS_BBINIT_LINK)),)
> + @$(call install_link, rng-tools, \
> + ../init.d/rngd, \
> + /etc/rc.d/$(PTXCONF_RNG_TOOLS_BBINIT_LINK))
> +endif
> +endif
> +endif
> + @$(call install_finish, rng-tools)
> +
> + @$(call touch)
> +
> +# vim: syntax=make
> --
> 2.1.1
>
>
> --
> ptxdist mailing list
> [email protected]
>
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
--
ptxdist mailing list
[email protected]