svn commit: r223917 - head/etc/rc.d
Doug Barton
dougb at FreeBSD.org
Sun Jul 10 23:47:03 UTC 2011
Author: dougb
Date: Sun Jul 10 23:47:03 2011
New Revision: 223917
URL: http://svn.freebsd.org/changeset/base/223917
Log:
Make sure we load kernel modules from the same path as the running kernel
Modified:
head/etc/rc.d/kld
Modified: head/etc/rc.d/kld
==============================================================================
--- head/etc/rc.d/kld Sun Jul 10 22:09:53 2011 (r223916)
+++ head/etc/rc.d/kld Sun Jul 10 23:47:03 2011 (r223917)
@@ -41,11 +41,24 @@ kld_start()
{
[ -n "$kld_list" ] || return
- local _kld
+ local _kernel_path _module_path _kld _path
+
+ _kernel_path=`$SYSCTL_N kern.bootfile`
+ _kernel_path="${_kernel_path%/*}"
+
+ _module_path=`$SYSCTL_N kern.module_path`
+ _module_path="${_module_path#*\;}"
+ _module_path="$_kernel_path `ltr $_module_path \; ' '`"
echo 'Loading kernel modules:'
for _kld in $kld_list ; do
- load_kld -e ${_kld}.ko $_kld
+ for _path in $_module_path ; do
+ if [ -x "${_path}/${_kld}.ko" ]; then
+ load_kld -e ${_kld}.ko ${_path}/${_kld}.ko
+ continue 2
+ fi
+ done
+ warn "${_kld}.ko not found in $_module_path"
done
}
More information about the svn-src-head
mailing list