Random 为什么几乎所有的命令都试图读取Uradom?

Random 为什么几乎所有的命令都试图读取Uradom?,random,linux-kernel,boot,Random,Linux Kernel,Boot,在最近针对嵌入式系统的内核(5.x)/rootfs(mips/MT7628/busybox,如果有必要的话)中,我看到了大量的: random: mount: uninitialized urandom read (4 bytes read) random: fsck.vfat: uninitialized urandom read (4 bytes read) random: tar: uninitialized urandom read (4 bytes read) ... 过了一段时间(

在最近针对嵌入式系统的内核(5.x)/rootfs(mips/MT7628/busybox,如果有必要的话)中,我看到了大量的:

random: mount: uninitialized urandom read (4 bytes read)
random: fsck.vfat: uninitialized urandom read (4 bytes read)
random: tar: uninitialized urandom read (4 bytes read)
...
过了一段时间(~10分钟!!)我终于看到:

[  562.001438] random: crng init done
两个问题:

  • 为什么初始化/dev/uradom需要这么长时间
  • 出于什么原因
    mount
    tar
    应该首先尝试使用它

  • 注意:我对旧内核(3.x)没有这个问题。

    答案来自另一个来源(感谢Alessandro Rubini);我在这里把它联系起来以备将来参考

  • 如果在编译内核时选择了“加密强”随机数(没有专用硬件的随机化,仅使用中断计时会花费大量时间),这是可以预期的;如果不需要,请取消选择“加密RNG”(如我的情况)
  • 一般来说,这与实际命令无关,特别是与空箱命令无关;似乎加载器会随机化堆栈在虚拟空间中的位置,以加强对缓冲区溢出漏洞的攻击

  • 答案来自另一个来源(感谢亚历山德罗·鲁比尼);我在这里把它联系起来以备将来参考

  • 如果在编译内核时选择了“加密强”随机数(没有专用硬件的随机化,仅使用中断计时会花费大量时间),这是可以预期的;如果不需要,请取消选择“加密RNG”(如我的情况)
  • 一般来说,这与实际命令无关,特别是与空箱命令无关;似乎加载器会随机化堆栈在虚拟空间中的位置,以加强对缓冲区溢出漏洞的攻击