我的 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