&gt; Ideally, you&#x27;d want a device which blocks if and only if the entropy pool hasn&#x27;t been properly seeded yet, but which never blocks again after that point. Apparently this is what the BSDs do, but Linux doesn&#x27;t have one.<p>The getrandom() call added in Linux 3.17 does this. By default it reads from urandom, but it blocks until it estimates that urandom has been seeded with &quot;a sufficient number of bits&quot;, which seems to be around 128 bits of randomness.<p><a href="http:&#x2F;&#x2F;man7.org&#x2F;linux&#x2F;man-pages&#x2F;man2&#x2F;getrandom.2.html" rel="nofollow">http:&#x2F;&#x2F;man7.org&#x2F;linux&#x2F;man-pages&#x2F;man2&#x2F;getrandom.2.html</a><p>When available getrandom() should probably be preferred over both &#x2F;dev&#x2F;random and &#x2F;dev&#x2F;urandom.