diff options
| author | Doug Barton <dougb@FreeBSD.org> | 2003-05-06 01:10:33 +0000 |
|---|---|---|
| committer | Doug Barton <dougb@FreeBSD.org> | 2003-05-06 01:10:33 +0000 |
| commit | 05ca3441c05a20d4edbaafa27edb28f45cb17a45 (patch) | |
| tree | 60c99871fb95d76bbe236e301681b3c56e3bcda4 | |
| parent | ae362fa12fac88659c24385ca2ac062b0af94006 (diff) | |
Notes
| -rw-r--r-- | etc/devfs.conf | 47 | ||||
| -rw-r--r-- | etc/rc.d/devfs | 39 |
2 files changed, 73 insertions, 13 deletions
diff --git a/etc/devfs.conf b/etc/devfs.conf new file mode 100644 index 000000000000..db13ff1b0c55 --- /dev/null +++ b/etc/devfs.conf @@ -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 + diff --git a/etc/rc.d/devfs b/etc/rc.d/devfs index 437aad960ccb..aaf828b51c12 100644 --- a/etc/rc.d/devfs +++ b/etc/rc.d/devfs @@ -11,18 +11,31 @@ . /etc/rc.subr name="devfs" +start_cmd='read_devfs_conf' +stop_cmd=':' -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 +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 +} -# 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 +load_rc_config $name +run_rc_command "$1" |
