Hi!
I’m running Guix in qemu on a NAS. The boot takes sometimes more than 30 minutes, probably waiting to start the urandom-seed service.
Guix is using virtio_rng:
stefan@guix ~$ cat /sys/devices/virtual/misc/hw_random/rng_available
virtio_rng.0
stefan@guix ~$ cat /sys/devices/virtual/misc/hw_random/rng_current
virtio_rng.0
stefan@guix ~$ guix describe
Generation 1 26. Dezember 2020 15:06:11 (aktuell)
guix 4969b51
Branch: master
Commit: 4969b51d175497bfcc354c91803e9d70542b7113
This may be relevant information from dmesg:
[ 0.194324] random: get_random_u64 called from __kmem_cache_create+0x30/0x460 with crng_init=0
…
[ 3.271767] random: fast init done
…
[ 3.497369] random: crng init done
…
[ 21.228829] shepherd[1]: Service file-systems has been started.
[ 21.243838] shepherd[1]: Service user-homes has been started.
[ 2182.735965] shepherd[1]: Service urandom-seed has been started.
[ 2182.737229] shepherd[1]: Service user-processes has been started.
…
Sometimes the urandom-seed service takes “just” 200 seconds – still a lot.
Interestingly during this time-out the system can’t be pinged, the networking with dhclient doesn't seem to be done.
The Guix installer iso is not using the urandom-seed service and does not suffer from this delay.
The host kernel and qemu are rather old:
~$ uname -a
Linux aaaaaaaa 4.4.59+ #25426 SMP PREEMPT Mon Dec 14 18:48:50 CST 2020 x86_64 GNU/Linux synology_apollolake
~$ /usr/local/bin/qemu-system-x86_64 --version
QEMU emulator version 2.12.1 (-dirty)
Copyright (c) 2003-2017 Fabrice Bellard and the QEMU Project developers
Qemu is invoked with these arguments concerning random:
-cpu host,+smap,+rdseed,+erms,+smep,+fsgsbase,+3dnowprefetch,+rdtscp,+pdpe1gb,+rdrand,+osxsave,+xsave,+tsc-deadline,+movbe,+x2apic,+pdcm,+xtpr,+tm2,+est,+vmx,+ds_cpl,+dtes64,+pclmuldq,+pbe,+tm,+ht,+ss,+acpi,+ds,+vme -object rng-random,id=objrng0,filename=/dev/random -device virtio-rng-pci,rng=objrng0,id=rng0,bus=pci.0,addr=0x1c
The full qemu command is huge. I can provide it on request.
Bye
Stefan