Darren J Moffat wrote:
> Yannick Robert wrote:
>   
>> Hello
>>
>> it seems i have the same problem after zfs boot installation (following this 
>> setup on a snv_69 release 
>> http://www.opensolaris.org/os/community/zfs/boot/zfsboot-manual/ ). The 
>> outputs from the requested command are similar to the outputs posted by 
>> dev2006.
>>
>> Reading this page, i found no solution concerning the /dev/random problem. 
>> Is there somewhere a procedure to repair my install ?
>>     

 To answer Yannick's question, the /dev/random warning message does not 
indicate
 any problem with the install and can be ignored.

> ...
>
> Unlike UFS when we do a ZFS boot we do use the in kernel interface to 
> /dev/random (random_get_bytes) before svc://system/cryptosvc has run.
>   

 To be exact, the API used by ZFS kernel module  is 
random_get_pseudo_bytes().

> The message you are seeing is from KCF saying that it has a random pool 
> but nothing providing entropy to it.  This is because swrand hasn't yet 
> registered with kcf.
>   

 We had a similar issue with SCTP where in it uses the kernel API
 random_get_pseudo_bytes() before swrand could register.

 The solution we had there was to load swrand directly. From 
uts/sparc/ip/Makefile
    78  #
    79  # Depends on md5 and swrand (for SCTP). SCTP needs to depend on
    80  # swrand as it needs random numbers early on during boot before
    81  # kCF subsystem can load swrand.
    82  #
    83  LDFLAGS         += -dy -Nmisc/md5 -Ncrypto/swrand -Nmisc/hook 
-Nmisc/neti


 I think we can do a similar thing here. The zfs (or is it zfs-root ?) 
kernel module
 can have crypto/swrand as a dependency. I see that uts/sparc/zfs/Makefile
 lists drv/random as a dependency. This is not needed because the
 API is in modstubs now and it is not implemented in drv/random any more.
 That can be replaced with crypto/swrand.

 swrand does  not need any crypto signature verification. So, it can 
safely be loaded
 early on during boot.

> Now this was all done prior to newboot and SMF and part of the goal of 
> why KCF works this way with software providers is was to ensure no boot 
> time performance regressions by doing load on demand rather than forcing 
> the loading of all modules at boot time.
 
Yes. This requirement added a lot of complexity to KCF.

> With newboot on x86, and soon 
> on SPARC, the swrand module will be in the boot archive anyway.
>   

 That would be great. It is cleaner and will remove the need for ad hoc
 solutions like above.

-Krishna



Reply via email to