devfs revision 202880
1107553Sdes#!/bin/sh 2107553Sdes# 3137019Sdes# $FreeBSD: head/etc/rc.d/devfs 202880 2010-01-23 11:42:31Z kib $ 499059Sdes# 599059Sdes 6124244Sdes# PROVIDE: devfs 7124244Sdes# REQUIRE: mountcritremote 8124244Sdes# BEFORE: SERVERS securelevel 9124244Sdes# KEYWORD: nojail 10124244Sdes 11124244Sdes. /etc/rc.subr 12124244Sdes 13124244Sdesname="devfs" 14124244Sdesstart_cmd='devfs_start' 15124244Sdesstop_cmd=':' 16124244Sdes 17124244Sdesdevfs_start() 18124244Sdes{ 19124244Sdes if [ -n "$devfs_system_ruleset" -o -n "$devfs_set_rulesets" ]; then 20124244Sdes devfs_init_rulesets 21124244Sdes if [ -n "$devfs_system_ruleset" ]; then 22124244Sdes devfs_set_ruleset $devfs_system_ruleset /dev 23124244Sdes devfs_apply_ruleset $devfs_system_ruleset /dev 24124244Sdes fi 25124244Sdes if [ -n "$devfs_set_rulesets" ]; then 26124244Sdes local _dir_set 27124244Sdes local _dir 28124244Sdes local _set 29124244Sdes for _dir_set in $devfs_set_rulesets; do 3099059Sdes _dir=${_dir_set%=*} 3199059Sdes _set=${_dir_set#*=} 3299059Sdes devfs_set_ruleset $_set $_dir 3399059Sdes devfs_apply_ruleset $_set $_dir 3499059Sdes done 3599059Sdes fi 3699059Sdes fi 37124244Sdes read_devfs_conf 38124244Sdes} 39124244Sdes 40124244Sdesread_devfs_conf() 41124244Sdes{ 42124244Sdes if [ -r /etc/devfs.conf ]; then 43124244Sdes cd /dev 44124244Sdes while read action devicelist parameter; do 45124244Sdes case "${action}" in 46126279Sdes l*) for device in ${devicelist}; do 47126279Sdes if [ ! -e ${parameter} ]; then 48126279Sdes ln -fs ${device} ${parameter} 49126279Sdes fi 50126279Sdes done 51126279Sdes ;; 5299059Sdes o*) for device in ${devicelist}; do 5399059Sdes if [ -c ${device} ]; then 5499059Sdes chown ${parameter} ${device} 55124244Sdes fi 5699059Sdes done 5799059Sdes ;; 5899059Sdes p*) for device in ${devicelist}; do 5999059Sdes if [ -c ${device} ]; then 6099059Sdes chmod ${parameter} ${device} 6199059Sdes fi 6299059Sdes done 6399059Sdes ;; 6499059Sdes esac 6599059Sdes done < /etc/devfs.conf 6699059Sdes fi 6799059Sdes} 6899059Sdes 6999059Sdesload_rc_config $name 70126279Sdesrun_rc_command "$1" 71126279Sdes