kcf should possibly depend upon swrand
The "No randomness provider enabled" message at boot time seems to be caused by KCF initializing its randomness prior to swrand getting started.
It's possible that KCF should depend on swrand, such that the software provider always exists prior to KCF calling kcf_rnd_init() (ultimately called via kcf`_init).
I've done very little investigation here, and anyone doing this should be cautious to avoid introducing circular dependencies. This is especially subtle as kcf may be loaded very early in the case of network boot.