94 lines
3.0 KiB
Bash
94 lines
3.0 KiB
Bash
#!/bin/sh -
|
|
# $NetBSD: MAKEDEV.local,v 1.11 2007/03/03 06:36:00 apb Exp $
|
|
#
|
|
# Copyright (c) 2007 The NetBSD Foundation, Inc.
|
|
# 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.
|
|
# 3. All advertising materials mentioning features or use of this software
|
|
# must display the following acknowledgement:
|
|
# This product includes software developed by the NetBSD
|
|
# Foundation, Inc. and its contributors.
|
|
# 4. Neither the name of The NetBSD Foundation nor the names of its
|
|
# contributors may be used to endorse or promote products derived
|
|
# from this software without specific prior written permission.
|
|
#
|
|
# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
|
|
#
|
|
###########################################################################
|
|
#
|
|
# MAKEDEV.local can be customised to create site-specific device nodes.
|
|
# By default it does nothing, except parse and accept the same command
|
|
# line options as MAKEDEV.
|
|
#
|
|
# "MAKEDEV all" or "MAKEDEV local" will invoke "MAKEDEV.local all";
|
|
# MAKEDEV.local may also be invoked directly with other args.
|
|
|
|
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/rescue
|
|
|
|
# makedev_local special [...]
|
|
# the main loop
|
|
#
|
|
makedev_local()
|
|
{
|
|
|
|
for i
|
|
do
|
|
|
|
case $i in
|
|
|
|
all)
|
|
# Customise this. For example:
|
|
#makedev_local foo
|
|
;;
|
|
|
|
# Add more cases here. You can call functions defined in MAKEDEV.
|
|
# For example:
|
|
#foo)
|
|
# mkdev foo c 0 0 600
|
|
# ;;
|
|
|
|
*)
|
|
warn "$i: unknown device"
|
|
;;
|
|
|
|
esac
|
|
done
|
|
|
|
}
|
|
|
|
#
|
|
# MAIN: Figure out where MAKEDEV is; load MAKEDEV as a function library;
|
|
# call the setup function to parse command line args and set some other
|
|
# variables; then call the makedev_local function to create requested
|
|
# devices.
|
|
#
|
|
case "$0" in
|
|
*/*) MAKEDEV="${0%/*}/MAKEDEV" ;;
|
|
*) MAKEDEV="./MAKEDEV" ;;
|
|
esac
|
|
[ -f "${MAKEDEV}" ] || MAKEDEV="/dev/MAKEDEV"
|
|
|
|
MAKEDEV_AS_LIBRARY=1 . "${MAKEDEV}" || exit 1
|
|
|
|
setup ${1+"$@"}
|
|
shift $((${OPTIND}-1))
|
|
makedev_local ${1+"$@"}
|