:: [DNG] Udevd hanging at boot
Top Page
Delete this message
Reply to this message
Author: Alessandro Vesely
Date:  
To: Devuan users
Subject: [DNG] Udevd hanging at boot
Hi all,

after a (successful) boot, dmesg shows lines like the following:

[    1.037451] udevd[225]: starting version 3.2.14
[    2.041066] random: crng init done
[    2.042598] udevd[227]: starting eudev-3.2.14


That middle log is printed by random.c:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/char/random.c#n738

The udevd init file stays at /etc/rcS.d/S02udev.

Unsuccessful boots hang at the first line shown above. Alt-SysRq-b to try again. Usually after a few trials it succeeds. Yesterday, however, it took hours to do 30+ attempts. This bug is described here:
https://unix.stackexchange.com/questions/442698/when-i-log-in-it-hangs-until-crng-init-done#answer-442744

I had installed haveged; to no avail, since no init script was installed. Now I reported this:
https://bugs.devuan.org/cgi/bugreport.cgi?bug=968

However, after manually installing the init script provided in the package, it does not get linked in rcS.d. If I insert an "S" before "2 3 4 5" of Default-Start, I get some warnings:

Script haveged requires $remote_fs, which is not provided directly at level SS
Script haveged optionally requires $syslog, which is not provided directly at level SS
Script haveged requires $local_fs, which is not provided directly at level SS
Script haveged optionally requires mountnfs, provided by mountnfs.sh, which is not enabled at S level S
Script haveged optionally requires mountnfs-bootclean, provided by mountnfs-bootclean.sh, which is not enabled at S level S
Script haveged optionally requires umountnfs, provided by umountnfs.sh, which is not enabled at S level S
Script haveged optionally requires sendsigs, provided by sendsigs, which is not enabled at S level S
Script haveged optionally requires rsyslog, provided by rsyslog, which is not enabled at S level S
Script haveged optionally requires sysklogd, which is not provided at level SS
Script haveged optionally requires syslog-ng, which is not provided at level SS
Script haveged optionally requires dsyslog, which is not provided at level SS
Script haveged optionally requires inetutils-syslogd, which is not provided at level SS
Script haveged optionally requires mountall, provided by mountall.sh (at order 10) at level SS
Script haveged optionally requires mountall-bootclean, provided by mountall-bootclean.sh (at order 11) at level SS
Script haveged optionally requires mountoverflowtmp, which is not provided at level SS
Script haveged optionally requires umountfs, provided by umountfs, which is not enabled at S level S


Perhaps I should create a custom script that runs haveged once to generate some entropy before running udev?


Best
Ale
--