[illumos-Developer] Net booting illumos?

Garrett D'Amore garrett at damore.org
Fri Oct 15 14:44:31 PDT 2010


I've filed a bug on this (Bryan you don't seem to have a login on our
site so I can't add you to the watch list for it):

https://www.illumos.org/issues/349

The fix is super simple, and so far it seems to work but I have not
verified it with netboot.  It will take me some time to configure a
netboot system (don't ask.)

Would Joyent like to have a test binary with the above fix?  I can
trivially send one out (or you can apply the above change to your own
copy of the tree if you prefer.)

	- Garrett

On Fri, 2010-10-15 at 00:41 -0700, Bryan Cantrill wrote:
> Just to follow up on this:  as it turns out, this is an odd bug due to
> a circular dependency between the kcf and swrand drivers.  When we
> boot over the network (or more accurately, from a ramdisk that has
> itself been loaded by pxegrub or gPXE), we load kcf as one of dev/ip's
> dependencies; kcf's _init, in turn, calls kcf_rnd_schedule_timeout(),
> which calls crypto_mech2id_common(), which does an explicit modload()
> of "crypto/swrand".  The problem is that crypto/swrand has a
> dependency on kcf -- which is busy (recall that we got here by trying
> to load it), and this code path doesn't detect circular dependencies.
> When one does not boot over the network, we load zfs before kcf or
> swrand -- and zfs has an explicit dependency on swrand which then
> pulls in kcf.  Of course, this code path still calls
> crypto_mech2id_common(), but because this loads a module by name, it
> detects the circular dependency and kicks out.  This bug should be
> fixed (there are several ways to fix it), but we worked around it by
> adding a "forceload: crypto/swrand" directive to /etc/system.
> 
>         - Bryan 




More information about the Developer mailing list