From 7622e8e87a4278814e465617d7c126bd9131d057 Mon Sep 17 00:00:00 2001 From: dougb Date: Sat, 18 Jun 2011 19:41:05 +0000 Subject: Add rc.d/kld to load kernel modules after local disks are up. This method is many times faster than doing it in /boot/loader.conf. --- etc/rc.d/Makefile | 2 +- etc/rc.d/kld | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ etc/rc.d/var | 2 +- 3 files changed, 55 insertions(+), 2 deletions(-) create mode 100755 etc/rc.d/kld (limited to 'etc/rc.d') diff --git a/etc/rc.d/Makefile b/etc/rc.d/Makefile index 887db41..ada10f8 100644 --- a/etc/rc.d/Makefile +++ b/etc/rc.d/Makefile @@ -18,7 +18,7 @@ FILES= DAEMON FILESYSTEMS LOGIN NETWORKING SERVERS \ ip6addrctl ipfilter ipfs ipfw ipmon \ ipnat ipsec ipxrouted \ jail \ - kadmind kerberos keyserv kldxref kpasswdd \ + kadmind kerberos keyserv kld kldxref kpasswdd \ ldconfig local localpkg lockd lpd \ mixer motd mountcritlocal mountcritremote mountlate \ mdconfig mdconfig2 mountd moused mroute6d mrouted msgs \ diff --git a/etc/rc.d/kld b/etc/rc.d/kld new file mode 100755 index 0000000..946ec69 --- /dev/null +++ b/etc/rc.d/kld @@ -0,0 +1,53 @@ +#!/bin/sh + +# Copyright (c) 2011 Douglas Barton +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# +# PROVIDE: kld +# REQUIRE: FILESYSTEMS +# KEYWORD: nojail + +. /etc/rc.subr + +name="kld" + +start_cmd="${name}_start" +stop_cmd=':' + +kld_start() +{ + [ -n "$kld_list" ] || return + + local _kld + + echo 'Loading kernel modules:' + for _kld in $kld_list ; do + load_kld -e ${_kld}.ko $_kld + done +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/var b/etc/rc.d/var index 8e5bdde..0655658 100755 --- a/etc/rc.d/var +++ b/etc/rc.d/var @@ -28,7 +28,7 @@ # # PROVIDE: var -# REQUIRE: FILESYSTEMS +# REQUIRE: FILESYSTEMS kld . /etc/rc.subr -- cgit v1.1