From: Xiangyu Chen <[email protected]>

Since we removed the openssh dependency[1] on rng-tools, there are no package 
requiring
rng-tools in oe-core, meta-oe, meta-virt, one of the reasons for keeping 
rng-tools
build into the image is that it can be used to test[2], so adding an option to 
disable
rngd daemon by default since the linux-5.6 and later /dev/random won't block 
anymore[3].

By default, this option set to 0 to disable the rngd start, when this option 
set to 1, the
rngd daemon would start normally (if someone really need it).

Reference:
[1] 
https://git.openembedded.org/openembedded-core/commit/?id=868dfb46d96a27ec9041cb902fb769330277257d
[2] https://linux.die.net/man/1/rngtest
[3] 
https://github.com/torvalds/linux/commit/30c08efec8884fb106b8e57094baa51bb4c44e32

Signed-off-by: Xiangyu Chen <[email protected]>
---
 .../rng-tools/rng-tools/default               |  1 +
 meta/recipes-support/rng-tools/rng-tools/init | 42 ++++++++++++-------
 .../rng-tools/rng-tools/rng-tools.service     |  2 +-
 3 files changed, 29 insertions(+), 16 deletions(-)

diff --git a/meta/recipes-support/rng-tools/rng-tools/default 
b/meta/recipes-support/rng-tools/rng-tools/default
index b9f8e03635..02659742fd 100644
--- a/meta/recipes-support/rng-tools/rng-tools/default
+++ b/meta/recipes-support/rng-tools/rng-tools/default
@@ -1 +1,2 @@
 EXTRA_ARGS="-r /dev/hwrng"
+RUN_RNGD=0
diff --git a/meta/recipes-support/rng-tools/rng-tools/init 
b/meta/recipes-support/rng-tools/rng-tools/init
index 13f0ecd37c..6c8ce00104 100644
--- a/meta/recipes-support/rng-tools/rng-tools/init
+++ b/meta/recipes-support/rng-tools/rng-tools/init
@@ -12,27 +12,39 @@ test -x "$rngd" || exit 1
 
 case "$1" in
   start)
-    echo -n "Starting random number generator daemon"
-    start-stop-daemon -S -q -x $rngd -- $EXTRA_ARGS
-    echo "."
+    if [ $RUN_RNGD = 1 ]
+    then
+        echo -n "Starting random number generator daemon"
+        start-stop-daemon -S -q -x $rngd -- $EXTRA_ARGS
+        echo "."
+    fi
     ;;
   stop)
-    echo -n "Stopping random number generator daemon"
-    start-stop-daemon -K -q -n rngd
-    echo "."
+    if [ $RUN_RNGD = 1 ]
+    then
+        echo -n "Stopping random number generator daemon"
+        start-stop-daemon -K -q -n rngd
+        echo "."
+    fi
     ;;
   reload|force-reload)
-    echo -n "Signalling rng daemon restart"
-    start-stop-daemon -K -q -s 1 -x $rngd
-    start-stop-daemon -K -q -s 1 -x $rngd
+    if [ $RUN_RNGD = 1 ]
+    then
+        echo -n "Signalling rng daemon restart"
+        start-stop-daemon -K -q -s 1 -x $rngd
+        start-stop-daemon -K -q -s 1 -x $rngd
+    fi
     ;;
   restart)
-    echo -n "Stopping random number generator daemon"
-    start-stop-daemon -K -q -n rngd
-    echo "."
-    echo -n "Starting random number generator daemon"
-    start-stop-daemon -S -q -x $rngd -- $EXTRA_ARGS
-    echo "."
+    if [ $RUN_RNGD = 1 ]
+    then
+        echo -n "Stopping random number generator daemon"
+        start-stop-daemon -K -q -n rngd
+        echo "."
+        echo -n "Starting random number generator daemon"
+        start-stop-daemon -S -q -x $rngd -- $EXTRA_ARGS
+        echo "."
+    fi
     ;;
   *)
     echo "Usage: @SYSCONFDIR@/init.d/rng-tools 
{start|stop|reload|restart|force-reload}"
diff --git a/meta/recipes-support/rng-tools/rng-tools/rng-tools.service 
b/meta/recipes-support/rng-tools/rng-tools/rng-tools.service
index 5ae2fba215..be88ab125a 100644
--- a/meta/recipes-support/rng-tools/rng-tools/rng-tools.service
+++ b/meta/recipes-support/rng-tools/rng-tools/rng-tools.service
@@ -7,7 +7,7 @@ ConditionVirtualization=!container
 
 [Service]
 EnvironmentFile=-@SYSCONFDIR@/default/rng-tools
-ExecStart=@SBINDIR@/rngd -f $EXTRA_ARGS
+ExecStart=/bin/sh -c '[ x$RUN_RNGD != x1 ] || exec @SBINDIR@/rngd -f 
$EXTRA_ARGS '
 CapabilityBoundingSet=CAP_SYS_ADMIN
 IPAddressDeny=any
 LockPersonality=yes
-- 
2.34.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#178518): 
https://lists.openembedded.org/g/openembedded-core/message/178518
Mute This Topic: https://lists.openembedded.org/mt/97619573/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to