The problem is immediately after boot before anything has seeded the entropy pool.
Like say when sshd generates host keys!
Like say when sshd generates host keys!
With getrandom() on Linux it will block if you don't set GRND_NONBLOCK and the pool isn't initialized - http://man7.org/linux/man-pages/man2/getrandom.2.html - the desired behaviour.
(EDIT: I suppose one might try to replace /dev/urandom with some pipe-like thing running in userspace, but that seems error prone and rather contrary to /dev just being "devices".)
[1] Without just doing it at the kernel level, which the Linux kernel developers seemingly still stubbornly refuse to do.