Remove now unnecessary kldstat check before attempting to load modules.
Since r233109, kldload has the -n option, which silently ignores options that are already loaded. https://lists.freebsd.org/pipermail/freebsd-rc/2018-December/003899.html Note that this script no longer reports if the module is already loaded, but it could be argued this wasn't particularly useful information. PR: docs/234248 Reviewed by: bcr (docs), kib, rgrimes (visual) Approved by: jilles Differential Revision: https://reviews.freebsd.org/D18670
This commit is contained in:
parent
b2689b12b1
commit
f5dfe75da5
@ -27,10 +27,10 @@ linux_start()
|
||||
local _tmpdir
|
||||
|
||||
echo -n ' linux'
|
||||
load_kld -e 'linux(aout|elf)' linux
|
||||
load_kld linux
|
||||
case `sysctl -n hw.machine_arch` in
|
||||
amd64)
|
||||
load_kld -e 'linux64elf' linux64
|
||||
load_kld linux64
|
||||
;;
|
||||
esac
|
||||
if [ -x /compat/linux/sbin/ldconfigDisabled ]; then
|
||||
|
@ -34,11 +34,11 @@ evdev_enabled()
|
||||
bthidd_prestart()
|
||||
{
|
||||
if evdev_enabled; then
|
||||
load_kld -m uinput uinput
|
||||
load_kld uinput
|
||||
fi
|
||||
load_kld -m kbdmux kbdmux
|
||||
load_kld -m vkbd vkbd
|
||||
load_kld -m ng_btsocket ng_btsocket
|
||||
load_kld kbdmux
|
||||
load_kld vkbd
|
||||
load_kld ng_btsocket
|
||||
return 0
|
||||
}
|
||||
|
||||
|
@ -75,7 +75,7 @@ cfumass_start()
|
||||
return "${err}"
|
||||
fi
|
||||
|
||||
load_kld -e cfumass cfumass
|
||||
load_kld cfumass
|
||||
|
||||
# If the template is already switched to Mass Storage, then reset
|
||||
# it to -1 to force the host to reenumerate it; otherwise it might
|
||||
|
@ -46,7 +46,7 @@ kld_start()
|
||||
|
||||
echo 'Loading kernel modules:'
|
||||
for _kld in $kld_list ; do
|
||||
load_kld -e ${_kld}.ko $_kld
|
||||
load_kld $_kld
|
||||
done
|
||||
}
|
||||
|
||||
|
@ -114,7 +114,7 @@ mdconfig_start()
|
||||
continue
|
||||
fi
|
||||
if [ "${_file}" != "${_file%.uzip}" ]; then
|
||||
load_kld -m g_uzip geom_uzip || return 3
|
||||
load_kld geom_uzip || return 3
|
||||
# sleep a bit to allow creation of /dev/mdX.uzip
|
||||
sleep 2
|
||||
fi
|
||||
|
@ -123,7 +123,7 @@ mdconfig2_start()
|
||||
# been created.
|
||||
if [ "${_type}" = "vnode" -a "${_fs}" != "/" ]; then
|
||||
if [ "${_file}" != "${_file%.uzip}" ]; then
|
||||
load_kld -m g_uzip geom_uzip || return 3
|
||||
load_kld geom_uzip || return 3
|
||||
fi
|
||||
if is_readonly ${_fs}; then
|
||||
warn "${_fs} is mounted read-only, skipping ${_md}."
|
||||
|
@ -27,7 +27,7 @@ mountcritremote_precmd()
|
||||
case "`mount -d -a -t nfs 2> /dev/null`" in
|
||||
*mount_nfs*)
|
||||
# Handle absent nfs client support
|
||||
load_kld -m nfs nfscl || return 1
|
||||
load_kld nfscl || return 1
|
||||
;;
|
||||
esac
|
||||
return 0
|
||||
|
@ -346,7 +346,7 @@ syscons_start()
|
||||
for i in `kldstat | awk '$5 ~ "_saver\.ko$" { print $5 }'`; do
|
||||
kldunload ${i}
|
||||
done
|
||||
load_kld -e _saver ${saver}_saver
|
||||
load_kld ${saver}_saver
|
||||
;;
|
||||
esac
|
||||
|
||||
|
@ -1853,48 +1853,29 @@ mount_md()
|
||||
}
|
||||
|
||||
# Code common to scripts that need to load a kernel module
|
||||
# if it isn't in the kernel yet. Syntax:
|
||||
# load_kld [-e regex] [-m module] file
|
||||
# where -e or -m chooses the way to check if the module
|
||||
# is already loaded:
|
||||
# regex is egrep'd in the output from `kldstat -v',
|
||||
# module is passed to `kldstat -m'.
|
||||
# The default way is as though `-m file' were specified.
|
||||
# if it isn't in the kernel yet. Syntax:
|
||||
# load_kld file
|
||||
load_kld()
|
||||
{
|
||||
local _loaded _mod _opt _re
|
||||
local _opt
|
||||
|
||||
# Silently ignore legacy options; they are unnecessary
|
||||
while getopts "e:m:" _opt; do
|
||||
case "$_opt" in
|
||||
e) _re="$OPTARG" ;;
|
||||
m) _mod="$OPTARG" ;;
|
||||
*) err 3 'USAGE: load_kld [-e regex] [-m module] file' ;;
|
||||
e) ;;
|
||||
m) ;;
|
||||
*) err 3 'USAGE: load_kld file' ;;
|
||||
esac
|
||||
done
|
||||
shift $(($OPTIND - 1))
|
||||
if [ $# -ne 1 ]; then
|
||||
err 3 'USAGE: load_kld [-e regex] [-m module] file'
|
||||
err 3 'USAGE: load_kld file'
|
||||
fi
|
||||
_mod=${_mod:-$1}
|
||||
_loaded=false
|
||||
if [ -n "$_re" ]; then
|
||||
if kldstat -v | egrep -q -e "$_re"; then
|
||||
_loaded=true
|
||||
fi
|
||||
if ! kldload -n "$1"; then
|
||||
warn "Unable to load kernel module $1"
|
||||
return 1
|
||||
else
|
||||
if kldstat -q -m "$_mod"; then
|
||||
_loaded=true
|
||||
fi
|
||||
fi
|
||||
if ! $_loaded; then
|
||||
if ! kldload "$1"; then
|
||||
warn "Unable to load kernel module $1"
|
||||
return 1
|
||||
else
|
||||
info "$1 kernel module loaded."
|
||||
fi
|
||||
else
|
||||
debug "load_kld: $1 kernel module already loaded."
|
||||
info "$1 kernel module loaded."
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
@ -24,7 +24,7 @@
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd March 21, 2019
|
||||
.Dd April 7, 2019
|
||||
.Dt RC.CONF 5
|
||||
.Os
|
||||
.Sh NAME
|
||||
@ -249,9 +249,7 @@ Default
|
||||
.It Va kld_list
|
||||
.Pq Vt str
|
||||
A whitespace-separated list of kernel modules to load right after
|
||||
the local disks are mounted, without any
|
||||
.Pa .ko
|
||||
extension or path.
|
||||
the local disks are mounted, with optional path.
|
||||
Loading modules at this point in the boot process is
|
||||
much faster than doing it via
|
||||
.Pa /boot/loader.conf
|
||||
|
Loading…
Reference in New Issue
Block a user