summaryrefslogtreecommitdiffstats
path: root/etc/rc.d/devfs
blob: aaf828b51c12b59136113bdf86231e68bd0e8992 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/bin/sh
#
# $FreeBSD$
#

# PROVIDE: devfs
# REQUIRE: LOGIN
# BEFORE:  securelevel
# KEYWORD: FreeBSD

. /etc/rc.subr

name="devfs"
start_cmd='read_devfs_conf'
stop_cmd=':'

read_devfs_conf()
{
	if [ -r /etc/devfs.conf ]; then
		cd /dev
		while read action device parameter; do
			case "${action}" in
			l*)	if [ -c ${device} -a ! -e ${parameter} ]; then
					ln -fs ${device} ${parameter}
				fi
				;;
			o*)	if [ -c ${device} ]; then
					chown ${parameter} ${device}
				fi
				;;
			p*)	if [ -c ${device} ]; then
					chmod ${parameter} ${device}
				fi
				;;
			esac
		done < /etc/devfs.conf
	fi
}

load_rc_config $name
run_rc_command "$1"
OpenPOWER on IntegriCloud