xref: /netbsd-src/etc/rc.d/modules (revision b68ba22239a25abab656dc23786fc23240989adb)
17ba4328bSjmcneill#!/bin/sh
27ba4328bSjmcneill#
3*b68ba222Smlelstv# $NetBSD: modules,v 1.2 2015/04/06 15:07:50 mlelstv Exp $
47ba4328bSjmcneill#
57ba4328bSjmcneill
67ba4328bSjmcneill# PROVIDE: modules
7*b68ba222Smlelstv# REQUIRE: fsck_root
8*b68ba222Smlelstv# BEFORE: root
97ba4328bSjmcneill
107ba4328bSjmcneill$_rc_subr_loaded . /etc/rc.subr
117ba4328bSjmcneill
127ba4328bSjmcneillname="modules"
137ba4328bSjmcneillrcvar=$name
147ba4328bSjmcneillstart_cmd="modules_start"
157ba4328bSjmcneillstop_cmd=":"
167ba4328bSjmcneill
177ba4328bSjmcneillmodules_start()
187ba4328bSjmcneill{
197ba4328bSjmcneill	if [ -f /etc/modules.conf ]; then
207ba4328bSjmcneill		echo "Loading modules."
21*b68ba222Smlelstv		while read name args; do
22*b68ba222Smlelstv			case $name in
23*b68ba222Smlelstv			''|"#"*)
24*b68ba222Smlelstv				;;
25*b68ba222Smlelstv			*)
26*b68ba222Smlelstv				(
27*b68ba222Smlelstv					set -o noglob
28*b68ba222Smlelstv					eval set -- $args
29*b68ba222Smlelstv					modload "$@" "$name"
30*b68ba222Smlelstv				)
31*b68ba222Smlelstv				;;
32*b68ba222Smlelstv			esac
33*b68ba222Smlelstv		done < /etc/modules.conf
347ba4328bSjmcneill	fi
357ba4328bSjmcneill}
367ba4328bSjmcneill
377ba4328bSjmcneillload_rc_config $name
387ba4328bSjmcneillrun_rc_command "$1"
39