Date: Sat, 18 Jun 2011 19:41:05 +0000 (UTC) From: Doug Barton <dougb@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r223264 - in head: etc/defaults etc/rc.d share/man/man5 Message-ID: <201106181941.p5IJf5qV054330@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: dougb Date: Sat Jun 18 19:41:05 2011 New Revision: 223264 URL: http://svn.freebsd.org/changeset/base/223264 Log: 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. Added: head/etc/rc.d/kld (contents, props changed) Modified: head/etc/defaults/rc.conf head/etc/rc.d/Makefile head/etc/rc.d/var head/share/man/man5/rc.conf.5 Modified: head/etc/defaults/rc.conf ============================================================================== --- head/etc/defaults/rc.conf Sat Jun 18 15:23:08 2011 (r223263) +++ head/etc/defaults/rc.conf Sat Jun 18 19:41:05 2011 (r223264) @@ -38,6 +38,7 @@ ddb_enable="NO" # Set to YES to load dd ddb_config="/etc/ddb.conf" # ddb(8) config file. devd_enable="YES" # Run devd, to trigger programs on device tree changes. devd_flags="" # Additional flags for devd(8). +#kld_list="" # Kernel modules to load after local disks are mounted kldxref_enable="NO" # Build linker.hints files with kldxref(8). kldxref_clobber="NO" # Overwrite old linker.hints at boot. kldxref_module_path="" # Override kern.module_path. A ';'-delimited list. Modified: head/etc/rc.d/Makefile ============================================================================== --- head/etc/rc.d/Makefile Sat Jun 18 15:23:08 2011 (r223263) +++ head/etc/rc.d/Makefile Sat Jun 18 19:41:05 2011 (r223264) @@ -18,7 +18,7 @@ FILES= DAEMON FILESYSTEMS LOGIN NETWORKI 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 \ Added: head/etc/rc.d/kld ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/etc/rc.d/kld Sat Jun 18 19:41:05 2011 (r223264) @@ -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" Modified: head/etc/rc.d/var ============================================================================== --- head/etc/rc.d/var Sat Jun 18 15:23:08 2011 (r223263) +++ head/etc/rc.d/var Sat Jun 18 19:41:05 2011 (r223264) @@ -28,7 +28,7 @@ # # PROVIDE: var -# REQUIRE: FILESYSTEMS +# REQUIRE: FILESYSTEMS kld . /etc/rc.subr Modified: head/share/man/man5/rc.conf.5 ============================================================================== --- head/share/man/man5/rc.conf.5 Sat Jun 18 15:23:08 2011 (r223263) +++ head/share/man/man5/rc.conf.5 Sat Jun 18 19:41:05 2011 (r223264) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd April 27, 2011 +.Dd June 18, 2011 .Dt RC.CONF 5 .Os .Sh NAME @@ -196,6 +196,14 @@ Configuration file for .Xr ddb 8 . Default .Pa /etc/ddb.conf . +.It Va kld_list +.Pq Vt str +A list of kernel modules to load right after the local +disks are mounted. +Loading modules at this point in the boot process is +much faster than doing it via +.Pa /boot/loader.conf +for those modules not necessary for mounting local disk. .It Va kldxref_enable .Pq Vt bool Set to
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201106181941.p5IJf5qV054330>