Allow users to configure stuff in /dev once again by re-doing the devfs
script to read /etc/devfs.conf, and take appropriate actions based on what it finds there. The (commented out) examples in the new devfs.conf file are taken in part from the old rc.devfs script.
This commit is contained in:
parent
ae362fa12f
commit
05ca3441c0
47
etc/devfs.conf
Normal file
47
etc/devfs.conf
Normal file
@ -0,0 +1,47 @@
|
||||
|
||||
# Copyright (c) 2003 The FreeBSD Project
|
||||
# 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$
|
||||
|
||||
# These are examples of how to configure devices using /etc/rc.d/devfs.
|
||||
# The first parameter is always the action to take, the second is always the
|
||||
# existing device created by devfs, and the last is what you want to change.
|
||||
# The name of the action is only significant to the first unique character.
|
||||
#
|
||||
# Examples:
|
||||
|
||||
# Historically X depended on this, but version 4.3.0 doesn't seem to anymore
|
||||
#link ttyv0 vga
|
||||
|
||||
# Commonly used by many ports
|
||||
#link acd0 cdrom
|
||||
|
||||
# Allow a user in the wheel group to query the smb0 device
|
||||
#perm smb0 0660
|
||||
|
||||
# Allow members of group operator to cat things to the speaker
|
||||
#own speaker root:operator
|
||||
#perm speaker 0660
|
||||
|
@ -11,18 +11,31 @@
|
||||
. /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
|
||||
|
||||
# Setup DEVFS, ie permissions, links etc.
|
||||
#
|
||||
if [ -c /dev/ttyv0 -a ! -e /dev/vga ];then
|
||||
ln -fs /dev/ttyv0 /dev/vga
|
||||
fi
|
||||
|
||||
# XXX - in case the user has a customized /etc/rc.devfs we need to keep
|
||||
# pulling it in until we have a better way of doing this in rc.d.
|
||||
#
|
||||
if [ -r /etc/rc.devfs ]; then
|
||||
sh /etc/rc.devfs
|
||||
fi
|
||||
run_rc_command "$1"
|
||||
|
Loading…
Reference in New Issue
Block a user