Normally, kldload can only find .ko modules in /boot/kernel.  What if you
have KERNEL=MYKERNEL set in /etc/make.conf, for instance, which will
result in a kernel installed in /boot/MYKERNEL?  kldload doesn't find the
modules then (because all the .ko's are in /boot/MYKERNEL).

I've first noticed this problem at start-up, when I got the message:

green_saver:  not found

or something to that extent.  Basically, there's a line in /etc/rc.i386
which says:

kldstat -v | grep -q _saver || kldload ${saver}_saver

I think we should change it to something like

kldstat -v | grep -q _saver || kldload /boot/${kernel}/${saver}_saver

because kldload can't find modules not installed in /boot/kernel.  I think
/etc/rc.i386 should include /boot/loader.conf to determine the location of
the .ko modules, since that's where $kernel is defined. 

Another solution (instead of modifying rc.i386) would be to modify kldload
so that it somehow checks the value of $kernel set in /boot/loader.conf to
check the location of kernel modules.  I think this is a more elegant
solution, but I don't know if it's necessarily easier.

- Donn

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to