svn commit: r346250 - in head: share/man/man4 share/man/man9 sys/dev/random sys/kern sys/libkern sys/sys

Warner Losh imp at bsdimp.com
Tue Apr 16 15:50:10 UTC 2019


On Tue, Apr 16, 2019 at 9:27 AM Conrad Meyer <cem at freebsd.org> wrote:

> On Tue, Apr 16, 2019 at 7:24 AM Justin Hibbits <chmeeedalf at gmail.com>
> wrote:
> >
> > Hi Conrad,
> > ...
> > [Power] does use bsdinstall to install.  How is entropy loaded at
> startup,
> > which causes the problem noted in github?
>
> There are a couple very early load sources.  loader(8) will load
> early-boot entropy from /boot/entropy and pass it to the kernel as a
> fake module (entropy_cache_load in loader.conf(5)), similar to
> cpu_microcode early load.
>
> The fallback option is random(4) itself groping into the filesystem
> during early auto-conf (SI_SUB_RANDOM:SI_ORDER_FOURTH, IIRC) to access
> /boot/entropy directly.
>

SI_SUB_RANDOM is too early. It's at 0x2160000,  while SI_SUB_ROOT_CONF
doesn't happen until 0xb000000.


> > If it's loaded before
> > filesystems get mounted, that could be a problem for us, because /boot
> > is on a different filesystem (msdosfs, to be read by petitboot).
> > Petitboot also does not have a way to preload modules, so all we have
> > at startup, until spawning init, is the kernel.
>
> Yes, that seems potentially problematic.  Can the Power kernel access
> the non-msdosfs root filesystem?  Let's follow-up offline about
> PPC-specific early entropy seeding.  I would much prefer we figure out
> a way to provide early entropy to Power than disabling or crippling
> every early random consumer on the arch.  Do you know what the Linux
> folks do?
>
> On Power with darn, we could probably just spin in SI_ORDER_FOURTH
> until we have enough darn output to seed random.  Similar for x86 CI
> images, I guess; though they do not have the loader problem, some
> people have non-bsdinstall installation methods.
>

They do have the loader problem because many means to generate an image
don't generate /boot/entropy.

Warner


More information about the svn-src-head mailing list