如何才能更快地初始化随机非阻塞池?

如何才能更快地初始化随机非阻塞池?

我的 Buildroot 为 Zynq 板生成的 Linux 和 rootfs 映像存在问题。问题是随机非阻塞池在启动后大约 2 分钟生成,就在我收到如下内核消息之后:

random: nonblocking pool is initialized

这很烦人,因为它阻止了 TCF Agent 启动,并且我必须等待远程运行任何内容,或者在前 2 分钟内使用 scp。

我使用的是 Buildroot 2017.08。我能用它做些什么吗?

答案1

虚拟机和物联网设备中的熵通常可能还不够。

安装haveged

man haveged

NAME
haveged- 生成随机数并提供给 Linux 的随机设备。

描述
haveged 使用 HAVEGE(硬件易失性熵收集和扩展)算法生成不可预测的随机数流,该随机数流是从硬件事件对隐藏处理器状态(缓存、分支预测器、内存转换表等)的间接影响中获取的。该算法在用户空间中运行,文件系统访问输出流不需要特殊权限。

Linux 汇集随机性以通过 /dev/random/dev/urandom 设备接口进行分配。填充池的标准机制 /dev/random可能不足以满足对高需求或有限用户交互的系统的需求。在这些情况下,每当随机位的供应低于设备的低水位线时,haveged 可以作为特权守护进程运行以填充池。/dev/random/dev/random

相关内容