[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