diff options
author | Todd T. Fries <todd@cvs.openbsd.org> | 2002-02-14 04:39:57 +0000 |
---|---|---|
committer | Todd T. Fries <todd@cvs.openbsd.org> | 2002-02-14 04:39:57 +0000 |
commit | 27892773eebc23d9cf6e06ee627a1ce15f7627b3 (patch) | |
tree | 9ebd6969cb711677c3a6c6ee8fbb0ea18d74b9ff | |
parent | de556aeb0b5dffd9bdc973f3f00bdd9906f26ecf (diff) |
sync
-rw-r--r-- | etc/etc.alpha/MAKEDEV | 5 | ||||
-rw-r--r-- | etc/etc.amiga/MAKEDEV | 4 | ||||
-rw-r--r-- | etc/etc.hp300/MAKEDEV | 695 | ||||
-rw-r--r-- | etc/etc.hppa/MAKEDEV | 4 | ||||
-rw-r--r-- | etc/etc.i386/MAKEDEV | 5 | ||||
-rw-r--r-- | etc/etc.mac68k/MAKEDEV | 43 | ||||
-rw-r--r-- | etc/etc.macppc/MAKEDEV | 5 | ||||
-rw-r--r-- | etc/etc.mvme68k/MAKEDEV | 194 | ||||
-rw-r--r-- | etc/etc.mvme88k/MAKEDEV | 190 | ||||
-rw-r--r-- | etc/etc.mvmeppc/MAKEDEV | 516 | ||||
-rw-r--r-- | etc/etc.sparc/MAKEDEV | 5 | ||||
-rw-r--r-- | etc/etc.sparc64/MAKEDEV | 5 | ||||
-rw-r--r-- | etc/etc.sun3/MAKEDEV | 43 | ||||
-rw-r--r-- | etc/etc.vax/MAKEDEV | 979 |
14 files changed, 1569 insertions, 1124 deletions
diff --git a/etc/etc.alpha/MAKEDEV b/etc/etc.alpha/MAKEDEV index 7dc604b02c3..74d8d3b10c9 100644 --- a/etc/etc.alpha/MAKEDEV +++ b/etc/etc.alpha/MAKEDEV @@ -4,10 +4,10 @@ # generated from: # # OpenBSD: etc.alpha/MAKEDEV.md,v 1.7 2002/02/09 16:59:50 deraadt Exp -# OpenBSD: MAKEDEV.mi,v 1.26 2002/02/10 21:52:30 deraadt Exp +# OpenBSD: MAKEDEV.mi,v 1.27 2002/02/14 04:37:15 todd Exp # OpenBSD: MAKEDEV.sub,v 1.5 2002/01/23 06:02:19 todd Exp # -# $OpenBSD: MAKEDEV,v 1.71 2002/02/10 21:53:03 deraadt Exp $ +# $OpenBSD: MAKEDEV,v 1.72 2002/02/14 04:39:56 todd Exp $ # # Copyright (c) 2001 Todd T. Fries <todd@OpenBSD.org> # All rights reserved. @@ -141,6 +141,7 @@ unt() dodisk() { + [ "$DEBUG" ] && set -x n=$(($((${5}*${7:-16}))+${6})) count=0 RMlist="$RMlist $1$2? r$1$2?" [ 0$7 -ne 8 ] && l="i j k l m n o p" diff --git a/etc/etc.amiga/MAKEDEV b/etc/etc.amiga/MAKEDEV index 15b1bce6e3c..f928bcf0d49 100644 --- a/etc/etc.amiga/MAKEDEV +++ b/etc/etc.amiga/MAKEDEV @@ -4,10 +4,10 @@ # generated from: # # OpenBSD: etc.amiga/MAKEDEV.md,v 1.4 2002/02/09 16:59:50 deraadt Exp -# OpenBSD: MAKEDEV.mi,v 1.26 2002/02/10 21:52:30 deraadt Exp +# OpenBSD: MAKEDEV.mi,v 1.27 2002/02/14 04:37:15 todd Exp # OpenBSD: MAKEDEV.sub,v 1.5 2002/01/23 06:02:19 todd Exp # -# $OpenBSD: MAKEDEV,v 1.52 2002/02/13 20:07:38 todd Exp $ +# $OpenBSD: MAKEDEV,v 1.53 2002/02/14 04:39:56 todd Exp $ # # Copyright (c) 2001 Todd T. Fries <todd@OpenBSD.org> # All rights reserved. diff --git a/etc/etc.hp300/MAKEDEV b/etc/etc.hp300/MAKEDEV index b97e7915029..c5baab5e567 100644 --- a/etc/etc.hp300/MAKEDEV +++ b/etc/etc.hp300/MAKEDEV @@ -1,9 +1,15 @@ #!/bin/sh - # -# $OpenBSD: MAKEDEV,v 1.38 2002/02/09 17:58:16 deraadt Exp $ -# $NetBSD: MAKEDEV,v 1.12 1995/11/05 23:50:22 thorpej Exp $ +# THIS FILE AUTOMATICALLY GENERATED. DO NOT EDIT. +# generated from: # -# Copyright (c) 1990 The Regents of the University of California. +# OpenBSD: etc.hp300/MAKEDEV.md,v 1.3 2002/02/14 04:37:15 todd Exp +# OpenBSD: MAKEDEV.mi,v 1.27 2002/02/14 04:37:15 todd Exp +# OpenBSD: MAKEDEV.sub,v 1.5 2002/01/23 06:02:19 todd Exp +# +# $OpenBSD: MAKEDEV,v 1.39 2002/02/14 04:39:56 todd Exp $ +# +# Copyright (c) 2001 Todd T. Fries <todd@OpenBSD.org> # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -11,32 +17,23 @@ # 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 University of -# California, Berkeley and its contributors. -# 4. Neither the name of the University nor the names of its contributors -# may be used to endorse or promote products derived from this software -# without specific prior written permission. +# 2. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. # -# THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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 5.5 (Berkeley) 5/28/91 +# THIS SOFTWARE IS PROVIDED ``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 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. # # Device "make" file. Valid arguments: +# all makes all known devices, including local devices. +# Tries to make the ``standard'' number of each type. # std standard devices # local configuration specific devices # Tapes: @@ -44,288 +41,174 @@ # mt* (Magnetic) 9-track reel tape # st* Exabyte tape # Disks: -# ccd* "concatenated" pseudo-disks +# ccd* concatenated disk devices # hd* HP300 HP-IB disks -# sd* HP300 SCSI disks +# sd* SCSI disks # vnd* "file" pseudo-disks -# Terminal multiplexors: +# rd* "ramdisk" pseudo-disks +# Terminal multiplexers: # dca* HP200/300 single port serial interface # dcm* HP200/300 4 port serial mux interface # apci* HP400 4 port serial mux interface # Pseudo terminals: -# pty* set of 16 master and slave pseudo terminals +# tty* set of 16 slave psuedo terminals +# pty* set of 16 master pseudo terminals # Printers: # ppi* HP-IB plotters # Call units: # Special purpose devices: -# fd file descriptors +# fd makes fd/* for the fdescfs # grf* raw interface to HP300 graphics devices # ite* terminal emulator interface to HP300 graphics devices # hil HP300 HIL input devices -# bpf* packet filter +# bpf* Berkeley Packet Filter # tun* network tunnel driver +# pf* Packet Filter # lkm loadable kernel modules interface -# *random inkernel random number generator +# *random inkernel random data source # xfs* XFS filesystem devices -# altq ALTQ control interface -# +# altq/ ALTQ control interface +PATH=/sbin:/usr/sbin:/bin:/usr/bin +T=$0 -PATH=/sbin:/bin/:/usr/bin:/usr/sbin -umask 77 +# set this to echo for Echo-Only debugging +[ "$eo" ] || eo= -# -# Utility functions -# - -hex () +hex() { case $1 in - [0-9]) echo -n $1 ;; - 10) echo -n a;; - 11) echo -n b;; - 12) echo -n c;; - 13) echo -n d;; - 14) echo -n e;; - 15) echo -n f;; + [0-9]) echo -n $1;; + 10) echo -n a;; + 11) echo -n b;; + 12) echo -n c;; + 13) echo -n d;; + 14) echo -n e;; + 15) echo -n f;; esac } -# -# End of utility functions -# - -for i -do -case $i in - -all) - sh MAKEDEV std fd ct0 ct1 st0 st1 ccd0 ccd1 ccd2 hd0 hd1 hd2 - sh MAKEDEV sd0 sd1 sd2 rd0 rd1 pty0 vnd0 vnd1 vnd2 vnd3 - sh MAKEDEV hil grf0 apci0 ppi0 ite0 dca0 dcm0 dcm1 dcm2 dcm3 - sh MAKEDEV bpf0 bpf1 bpf2 bpf3 bpf4 bpf5 bpf6 bpf7 bpf8 bpf9 - sh MAKEDEV pf tun0 tun1 tun2 tun3 lkm random xfs0 altq - sh MAKEDEV local - ;; - -raminst) - sh MAKEDEV std fd ct0 ct1 st0 st1 hd0 hd1 hd2 hd3 hd4 - sh MAKEDEV sd0 sd1 sd2 sd3 sd4 rd0 rd1 pty0 - sh MAKEDEV hil grf0 apci0 ite0 dca0 dcm0 dcm1 - sh MAKEDEV bpf0 bpf1 tun0 tun1 lkm random - ;; +trunc() +{ + # XXX pdksh can't seem to deal with locally scoped variables + # in ${foo#$bar} expansions + arg1="$1" + arg2="$2" + case $3 in + l) echo ${arg2#$arg1} ;; + r|*) echo ${arg1#$arg2} ;; + esac +} -std) - rm -f console drum kmem mem null zero tty klog stdin stdout stderr ksyms - mknod console c 0 0 - mknod drum c 3 0 ; chmod 640 drum ; chown root.kmem drum - mknod kmem c 2 1 ; chmod 640 kmem ; chown root.kmem kmem - mknod mem c 2 0 ; chmod 640 mem ; chown root.kmem mem - mknod null c 2 2 ; chmod 666 null - mknod zero c 2 12 ; chmod 666 zero - mknod tty c 1 0 ; chmod 666 tty - mknod klog c 6 0 ; chmod 600 klog - mknod stdin c 21 0 ; chmod 666 stdin - mknod stdout c 21 1 ; chmod 666 stdout - mknod stderr c 21 2 ; chmod 666 stderr - mknod ksyms c 36 0 ; chmod 640 ksyms ; chown root.kmem ksyms - ;; +unt() +{ + # XXX pdksh can't seem to deal with locally scoped variables + # in ${foo#$bar} expansions + arg="$1" + tmp="${arg#[a-zA-Z]*}" + tmp="${tmp%*[a-zA-Z]}" + while [ "$tmp" != "$arg" ] + do + arg=$tmp + tmp="${arg#[a-zA-Z]*}" + tmp="${tmp%*[a-zA-Z]}" + done + echo $arg +} -fd) - rm -f fd/* - mkdir fd > /dev/null 2>&1 - n=0 - (cd fd && while [ $n -lt 64 ]; do mknod $n c 21 $n; n="$(( $n + 1 ))"; done ) - chown -R root.wheel fd - chmod 555 fd - chmod 666 fd/* - ;; +dodisk() +{ + [ "$DEBUG" ] && set -x + n=$(($((${5}*${7:-16}))+${6})) count=0 + RMlist="$RMlist $1$2? r$1$2?" + [ 0$7 -ne 8 ] && l="i j k l m n o p" + for d in a b c d e f g h $l + do + M $1$2$d b $3 $(($n+$count)) 640 + M r$1$2$d c $4 $(($n+$count)) 640 + let count=count+1 + done + MKlist="$MKlist;chown root.operator $1$2? r$1$2?" +} -ct*|mt*|st*) - umask 0 ; unit=`expr $i : '..\(.*\)'` - case $i in - ct*) name=ct; blk=0; chr=7;; - mt*) name=mt; blk=1; chr=16;; - st*) name=st; blk=6; chr=20;; - esac - case $unit in - 0|1|2|3|4|5|6|7) - four=`expr $unit + 4` ; eight=`expr $unit + 8` - twelve=`expr $unit + 12`; twenty=`expr $unit + 20` - # - # block devices don't work so don't make them - #rm -f ${name}${unit} ${name}${four} ${name}${eight} \ - # ${name}${twelve} n${name}${unit} n${name}${eight} - #mknod ${name}${unit} b $blk $unit - #mknod ${name}${four} b $blk $four - #mknod ${name}${eight} b $blk $eight - #mknod ${name}${twelve} b $blk $twelve - #mknod n${name}${unit} b $blk $four ;: sanity w/pdp11 v7 - #mknod n${name}${eight} b $blk $twelve ;: ditto - # - rm -f r${name}${unit} r${name}${four} r${name}${eight} \ - r${name}${twelve} nr${name}${unit} nr${name}${eight} - mknod r${name}${unit} c $chr $unit - mknod r${name}${four} c $chr $four - mknod r${name}${eight} c $chr $eight - mknod r${name}${twelve} c $chr $twelve - chown root.operator r${name}${unit} r${name}${four} \ - r${name}${eight} r${name}${twelve} - chmod 660 r${name}${unit} r${name}${four} \ - r${name}${eight} r${name}${twelve} - ln r${name}${four} nr${name}${unit} ;: sanity w/pdp11 v7 - ln r${name}${twelve} nr${name}${eight} ;: ditto - ;; - *) - echo bad unit for tape in: $1 - ;; - esac - umask 77 - ;; +dodisk2() +{ + n=$(($(($5*${7:-16}))+$6)) + M $1$2a b $3 $n 640 operator + M r$1$2a c $4 $n 640 operator + n=$(($n+2)) + M $1$2c b $3 $n 640 operator + M r$1$2c c $4 $n 640 operator +} -bpf*) - unit=`expr $i : 'bpf\(.*\)'` - rm -f bpf$unit - mknod bpf$unit c 22 $unit - chmod 600 bpf$unit - chown root.wheel bpf$unit - ;; +# M name b/c major minor [mode] [group] +RMlist="rm -f" +MKlist=":" -pf) - rm -f pf - mknod pf c 33 0 - chown root.wheel pf - chmod 600 pf - ;; +mkl() { + [ "${mklist[$1]}" ] && { + mklist[$1]="${mklist[$1]};mknod -m $1 $2 $3 $4 $5" + } || { + mklist[$1]="mknod -m $1 $2 $3 $4 $5" + modes="$modes $1" + } +} -tun*) - unit=`expr $i : 'tun\(.*\)'` - rm -f tun$unit - mknod tun$unit c 23 $unit - chmod 600 tun$unit - chown root.wheel tun$unit - ;; +M() { + RMlist="$RMlist $1" + mkl ${5-666} $1 $2 $3 $4 + mklist="$mklist $1" + G=${6:-wheel} + [ "$7" ] && { + MKlist="$MKlist;chown $7.$G $1" + } || { + case $G in + wheel)g=0;;kmem)g=2;;operator)g=5;;tty)g=4;;dialer)g=117;; + esac + [ "${grplist[$g]}" ] && { + grplist[$g]="${grplist[$g]} $1" + } || { + groups="$groups $g" + grplist[$g]="chgrp $G $1" + } + } + return 0 +} -rd*) - umask 2 ; unit=`expr $i : '.*d\(.*\)'` - rm -f rd$unit? rrd$unit? - mknod rd${unit}a b 8 `expr $unit '*' 16 + 0` - mknod rd${unit}c b 8 `expr $unit '*' 16 + 2` - mknod rrd${unit}a c 34 `expr $unit '*' 16 + 0` - mknod rrd${unit}c c 34 `expr $unit '*' 16 + 2` - chown root.operator rd${unit}[ac] rrd${unit}[ac] - chmod 640 rd${unit}[ac] rrd${unit}[ac] - umask 77 - ;; +R() { +[ "$DEBUG" ] && set -x +for i in "$@" +do +U=`unt $i` +[ "$U" ] || U=0 -ccd*|hd*|sd*) - umask 2 ; unit=`expr $i : '.*d\(.*\)'` - case $i in - hd*) name=hd; blk=2; chr=9;; - sd*) name=sd; blk=4; chr=8;; - ccd*) name=ccd; blk=5; chr=17;; - esac - case $unit in - 0|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) - rm -f $name$unit? r$name$unit? - mknod ${name}${unit}a b $blk `expr $unit '*' 16 + 0` - mknod ${name}${unit}b b $blk `expr $unit '*' 16 + 1` - mknod ${name}${unit}c b $blk `expr $unit '*' 16 + 2` - mknod ${name}${unit}d b $blk `expr $unit '*' 16 + 3` - mknod ${name}${unit}e b $blk `expr $unit '*' 16 + 4` - mknod ${name}${unit}f b $blk `expr $unit '*' 16 + 5` - mknod ${name}${unit}g b $blk `expr $unit '*' 16 + 6` - mknod ${name}${unit}h b $blk `expr $unit '*' 16 + 7` - mknod ${name}${unit}i b $blk `expr $unit '*' 16 + 8` - mknod ${name}${unit}j b $blk `expr $unit '*' 16 + 9` - mknod ${name}${unit}k b $blk `expr $unit '*' 16 + 10` - mknod ${name}${unit}l b $blk `expr $unit '*' 16 + 11` - mknod ${name}${unit}m b $blk `expr $unit '*' 16 + 12` - mknod ${name}${unit}n b $blk `expr $unit '*' 16 + 13` - mknod ${name}${unit}o b $blk `expr $unit '*' 16 + 14` - mknod ${name}${unit}p b $blk `expr $unit '*' 16 + 15` - mknod r${name}${unit}a c $chr `expr $unit '*' 16 + 0` - mknod r${name}${unit}b c $chr `expr $unit '*' 16 + 1` - mknod r${name}${unit}c c $chr `expr $unit '*' 16 + 2` - mknod r${name}${unit}d c $chr `expr $unit '*' 16 + 3` - mknod r${name}${unit}e c $chr `expr $unit '*' 16 + 4` - mknod r${name}${unit}f c $chr `expr $unit '*' 16 + 5` - mknod r${name}${unit}g c $chr `expr $unit '*' 16 + 6` - mknod r${name}${unit}h c $chr `expr $unit '*' 16 + 7` - mknod r${name}${unit}i c $chr `expr $unit '*' 16 + 8` - mknod r${name}${unit}j c $chr `expr $unit '*' 16 + 9` - mknod r${name}${unit}k c $chr `expr $unit '*' 16 + 10` - mknod r${name}${unit}l c $chr `expr $unit '*' 16 + 11` - mknod r${name}${unit}m c $chr `expr $unit '*' 16 + 12` - mknod r${name}${unit}n c $chr `expr $unit '*' 16 + 13` - mknod r${name}${unit}o c $chr `expr $unit '*' 16 + 14` - mknod r${name}${unit}p c $chr `expr $unit '*' 16 + 15` - chown root.operator ${name}${unit}[a-p] r${name}${unit}[a-p] - chmod 640 ${name}${unit}[a-p] r${name}${unit}[a-p] - ;; - *) - echo bad unit for disk in: $i - ;; - esac - umask 77 +case $i in +ramdisk) + R std ct0 ct1 st0 st1 hd0 hd1 hd2 hd3 hd4 + R sd0 sd1 sd2 sd3 sd4 rd0 pty0 + R hil grf0 apci0 ite0 dca0 dcm0 dcm1 + R bpf0 bpf1 tun0 tun1 lkm random ;; -vnd*) - umask 2 ; unit=`expr $i : 'vnd\(.*\)'` - for name in vnd svnd; do - blk=6; chr=19; - case $name in - vnd) off=0;; - svnd) off=128;; - esac - rm -f $name$unit? r$name$unit? - mknod ${name}${unit}a b $blk `expr $unit '*' 16 + $off + 0` - mknod ${name}${unit}b b $blk `expr $unit '*' 16 + $off + 1` - mknod ${name}${unit}c b $blk `expr $unit '*' 16 + $off + 2` - mknod ${name}${unit}d b $blk `expr $unit '*' 16 + $off + 3` - mknod ${name}${unit}e b $blk `expr $unit '*' 16 + $off + 4` - mknod ${name}${unit}f b $blk `expr $unit '*' 16 + $off + 5` - mknod ${name}${unit}g b $blk `expr $unit '*' 16 + $off + 6` - mknod ${name}${unit}h b $blk `expr $unit '*' 16 + $off + 7` - mknod ${name}${unit}i b $blk `expr $unit '*' 16 + $off + 8` - mknod ${name}${unit}j b $blk `expr $unit '*' 16 + $off + 9` - mknod ${name}${unit}k b $blk `expr $unit '*' 16 + $off + 10` - mknod ${name}${unit}l b $blk `expr $unit '*' 16 + $off + 11` - mknod ${name}${unit}m b $blk `expr $unit '*' 16 + $off + 12` - mknod ${name}${unit}n b $blk `expr $unit '*' 16 + $off + 13` - mknod ${name}${unit}o b $blk `expr $unit '*' 16 + $off + 14` - mknod ${name}${unit}p b $blk `expr $unit '*' 16 + $off + 15` - mknod r${name}${unit}a c $chr `expr $unit '*' 16 + $off + 0` - mknod r${name}${unit}b c $chr `expr $unit '*' 16 + $off + 1` - mknod r${name}${unit}c c $chr `expr $unit '*' 16 + $off + 2` - mknod r${name}${unit}d c $chr `expr $unit '*' 16 + $off + 3` - mknod r${name}${unit}e c $chr `expr $unit '*' 16 + $off + 4` - mknod r${name}${unit}f c $chr `expr $unit '*' 16 + $off + 5` - mknod r${name}${unit}g c $chr `expr $unit '*' 16 + $off + 6` - mknod r${name}${unit}h c $chr `expr $unit '*' 16 + $off + 7` - mknod r${name}${unit}i c $chr `expr $unit '*' 16 + $off + 8` - mknod r${name}${unit}j c $chr `expr $unit '*' 16 + $off + 9` - mknod r${name}${unit}k c $chr `expr $unit '*' 16 + $off + 10` - mknod r${name}${unit}l c $chr `expr $unit '*' 16 + $off + 11` - mknod r${name}${unit}m c $chr `expr $unit '*' 16 + $off + 12` - mknod r${name}${unit}n c $chr `expr $unit '*' 16 + $off + 13` - mknod r${name}${unit}o c $chr `expr $unit '*' 16 + $off + 14` - mknod r${name}${unit}p c $chr `expr $unit '*' 16 + $off + 15` - chown root.operator ${name}${unit}[a-p] r${name}${unit}[a-p] - chmod 640 ${name}${unit}[a-p] r${name}${unit}[a-p] - done - umask 77 +std) + M console c 0 0 600 + M tty c 1 0 + M mem c 2 0 640 kmem + M kmem c 2 1 640 kmem + M null c 2 2 + M zero c 2 12 + M stdin c 21 0 + M stdout c 21 1 + M stderr c 21 2 + M ksyms c 36 0 640 kmem + M drum c 3 0 640 kmem + M klog c 6 0 600 ;; dca*) - unit=`expr $i : 'dca\(.*\)'` - case $unit in + case $U in 0|1|2|3) - rm -f tty${unit} cua${unit} - mknod tty${unit} c 12 ${unit} - mknod cua${unit} c 12 `expr ${unit} + 128` - chown uucp.dialer tty${unit} cua${unit} - chmod 660 tty${unit} cua${unit} + M tty$U c 12 $U 660 dialer uucp + M cua$U c 12 $(($U+128)) 660 dialer uucp ;; *) echo bad unit for dca in: $i @@ -334,21 +217,17 @@ dca*) ;; dcm*) - unit=`expr $i : 'dcm\(.*\)'` - case $unit in + case $U in 0|1|2|3) - u="$(( $unit * 4 ))" + u="$(( $U * 4 ))" i=0 while [ $i -lt 4 ] do n="$(( $u + $i ))" ext=`hex $n` - rm -f {tty0,cua0}${ext} - mknod tty0${ext} c 15 ${n} - mknod cua0${ext} c 15 "$(( $n + 128 ))" - chown uucp.dialer tty0${ext} cua0${ext} - chmod 660 tty0${ext} cua0${ext} + M tty0${ext} c 15 ${n} 660 dialer uucp + M cua0${ext} c 15 "$(( $n + 128 ))" 660 dialer uucp i="$(( $i + 1 ))" done @@ -361,15 +240,11 @@ dcm*) apci*) # There exists only one Frodo ASIC per HP9000/400 SPU. - unit=`expr $i : 'apci\(.*\)'` - case $unit in + case $U in 0) for i in 0 1 2 3; do - rm -f ttya${i} cuaa${i} - mknod ttya${i} c 35 ${i} - mknod cuaa${i} c 35 `expr ${i} + 128` - chown uucp.dialer ttya${i} cuaa${i} - chmod 660 ttya${i} cuaa${i} + M ttya${i} c 35 ${i} 660 dialer uucp + M cuaa${i} c 35 $(($i+128)) 660 dialer uucp done ;; *) @@ -379,11 +254,9 @@ apci*) ;; ppi*) - unit=`expr $i : 'ppi\(.*\)'` - case $unit in + case $U in 0|1|2|3) - rm -f ppi${unit} - mknod ppi${unit} c 11 ${unit} + M ppi$U c 11 $U 600 ;; *) echo bad unit for ppi in: $i @@ -392,11 +265,9 @@ ppi*) ;; ite*) - unit=`expr $i : 'ite\(.*\)'` - case $unit in + case $U in 0|1|2|3) - rm -f ttye${unit} - mknod ttye${unit} c 13 ${unit} + M ttye$U c 13 $U 600 ;; *) echo bad unit for ite in: $i @@ -405,12 +276,10 @@ ite*) ;; grf*) - unit=`expr $i : 'grf\(.*\)'` - case $unit in + case $U in 0|1|2|3) - rm -f grf${unit} - mknod grf${unit} c 10 ${unit}; chmod 666 grf${unit} -# echo "grf${unit}: use MAKEDEV.hpux to make HP-UX names for device" + M grf$U c 10 $U +# echo "grf$U: use MAKEDEV.hpux to make HP-UX names for device" ;; *) echo bad unit for grf in: $i @@ -418,24 +287,25 @@ grf*) esac ;; -hil) - for unit in 0 1 2 3 4 5 6 7 +hil*) + for U in 0 1 2 3 4 5 6 7 do - rm -f hil${unit} locator keyboard - mknod hil${unit} c 14 ${unit} + M hil$U c 14 $U if [ -f /usr/sbin/hilinfo ] then - case `/usr/sbin/hilinfo -t hil${unit}` in + case `/usr/sbin/hilinfo -t hil$U` in mouse) if [ ! -f locator ] then - ln hil${unit} locator + MKlist="$MKlist;ln hil$U locator" + RMlist="$RMlist locator" fi ;; keyboard) if [ ! -f keyboard ] then - ln hil${unit} keyboard + MKlist="$MKlist;ln hil$U keyboard" + RMlist="$RMlist keyboard" fi ;; *) @@ -445,95 +315,172 @@ hil) done if [ ! -f /usr/sbin/hilinfo ] then - ln hil1 keyboard - ln hil3 locator + MKlist="$MKlist;ln hil1 keyboard" + MKlist="$MKlist;ln hil3 locator" + RMlist="$RMlist keyboard locator" fi - chmod 666 hil* # echo "hil: use MAKEDEV.hpux to make HP-UX names for devices" ;; +altq) + RMlist="mkdir -p altq;$RMlist" + for d in altq cbq wfq afm fifoq red rio localq hfsc cdnr blue priq; do + M altq/$d c 52 $U 644 + U=$(($U+1)) + done + ;; + +xfs*) + M xfs$U c 51 $U 600 + ;; + +*random) + n=0 + for pre in " " s u p a + do + M ${pre}random c 32 $n 644 + n=$(($n+1)) + done + ;; + lkm) - rm -f lkm - mknod lkm c 24 0 - chown root.kmem lkm - chmod 640 lkm + M lkm c 24 0 640 kmem + ;; + +pf*) + M pf c 33 0 600 + ;; + +tun*) + M tun$U c 23 $U 600 + ;; + +bpf*) + M bpf$U c 22 $U 600 + ;; + +fd) + RMlist="mkdir -p fd;$RMlist" n=0 + while [ $n -lt 64 ];do M fd/$n c 21 $n;n=$(($n+1));done + MKlist="$MKlist;chmod 555 fd" ;; pty*) - class=`expr $i : 'pty\(.*\)'` - case $class in - 0) offset=0 name=p;; - 1) offset=16 name=q;; - 2) offset=32 name=r;; - 3) offset=48 name=s;; - 4) offset=64 name=t;; - 5) offset=80 name=u;; - 6) offset=96 name=v;; - 7) offset=112 name=w;; - 8) offset=128 name=x;; - 9) offset=144 name=y;; - 10) offset=160 name=z;; - 11) offset=176 name=P;; - 12) offset=192 name=Q;; - 13) offset=208 name=R;; - 14) offset=224 name=S;; - 15) offset=240 name=T;; - *) echo bad unit for pty in: $i;; - esac - case $class in - 0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15) - umask 0 - n=0 - while [ $n -lt 16 ] - do - nam=$name`hex $n` - rm -f {tty,pty}$nam - mknod tty$nam c 4 "$(( $offset + $n ))" - mknod pty$nam c 5 "$(( $offset + $n ))" - n="$(( $n + 1 ))" - done - umask 77 - ;; + case $U in + 0) off=0 name=p;; + 1) off=16 name=q;; + 2) off=32 name=r;; + 3) off=48 name=s;; + 4) off=64 name=t;; + 5) off=80 name=u;; + 6) off=96 name=v;; + 7) off=112 name=w;; + 8) off=128 name=x;; + 9) off=144 name=y;; + 10) off=160 name=z;; + 11) off=176 name=P;; + 12) off=192 name=Q;; + 13) off=206 name=R;; + 14) off=224 name=S;; + 15) off=240 name=T;; + *) echo bad unit for pty in: $i; continue;; esac + n=0 + while [ $n -lt 16 ] + do + nam=$name$(hex $n) + M tty$nam c 4 $(($off+$n)) + M pty$nam c 5 $(($off+$n)) + n=$(($n+1)) + done ;; -random|srandom|urandom|prandom|arandom) - rm -f random urandom srandom prandom arandom - mknod random c 32 0 - mknod srandom c 32 1 - mknod urandom c 32 2 - mknod prandom c 32 3 - mknod arandom c 32 4 - chown root.wheel random srandom urandom prandom arandom - chmod 644 random srandom urandom prandom arandom +rd*) + dodisk2 rd $U 8 34 $U 0 ;; -xfs*) - rm -f xfs$unit - mknod xfs$unit c 51 $unit - chmod 600 xfs$unit - chown root.wheel xfs$unit +vnd*) + dodisk vnd $U 6 19 $U 0 + dodisk svnd $U 6 19 $U 128 ;; -altq) - mkdir -p altq - chmod 755 altq - unit=0 - for dev in altq cbq wfq afm fifoq red rio localq hfsc \ - cdnr blue priq; do - rm -f altq/$dev - mknod altq/$dev c 52 $unit - chmod 644 altq/$dev - unit=$(($unit + 1)) - done +ct*|mt*|st*) + case $i in + ct*) name=ct blk=0 chr=7;; + mt*) name=mt blk=1 chr=16;; + st*) name=st blk=6 chr=20;; + esac + case $U in + [0-7]) + four=$(($U+4)) eight=$(($U+8)) + twelve=$(($U+12)) twenty=$(($U+20)) + M r$name$U c $chr $U 660 operator + M r$name$four c $chr $four 660 operator + M r$name$eight c $chr $eight 660 operator + M r$name$twelve c $chr $twelve 660 operator + MKlist="$MKlist;ln r$name$four nr$name$U";: sanity w/pdp11 v7 + MKlist="$MKlist;ln r$name$twelve nr$name$eight";: ditto + RMlist="$RMlist nr$name$U nr$name$eight" + ;; + *) + echo bad unit for tape in: + ;; + esac ;; local) - umask 0 - test -s MAKEDEV.local && sh MAKEDEV.local + test -s $T.local && sh $T.local + ;; + +all) + R ite0 ct0 ct1 hd0 hd1 hd2 dcm0 dcm1 dcm2 dcm3 dca0 dca1 st0 + R st1 hil grf0 local ppi0 apci0 xfs0 rndrandom lkm pf altq + R tun0 tun1 tun2 tun3 bpf0 bpf1 bpf2 bpf3 bpf4 bpf5 bpf6 bpf7 + R bpf8 bpf9 rd0 ccd0 ccd1 ccd2 ccd3 vnd0 vnd1 vnd2 vnd3 std + R pty0 pty1 fd sd0 sd1 sd2 sd3 sd4 + ;; + +sd*|hd*|ccd*) + case $i in + sd*) dodisk sd $U 4 8 $U 0;; + hd*) dodisk hd $U 2 9 $U 0;; + ccd*) dodisk ccd $U 5 17 $U 0;; + esac ;; + *) echo $i: unknown device ;; esac done +} +R "$@" +if [ "$os" = "SunOS" ]; then + eo=transform + transform() { + case $mode in + 600) mask=077;; + 640) mask=027;; + 660) mask=007;; + 644) mask=022;; + 666) mask=0;; + 440) mask=227;; + esac + echo `echo "$@"|sed \ + 's/mknod -m \([0-9]*\) /umask '$mask';mknod /;s/-m [0-9]* //g;\ + s/operator/5/g;s/root.kmem/root.2/g;s/root\./root:/g'` + } +fi +list="$RMlist" +for mode in $modes; do + list="$list;${mklist[$mode]}" +done +for group in $groups; do + list="$list;${grplist[$group]}" +done +list="$list;$MKlist" +if [ "$eo" = "echo" -o "$eo" = "transform" ]; then + $eo "$list" +else + echo "$list" | sh +fi diff --git a/etc/etc.hppa/MAKEDEV b/etc/etc.hppa/MAKEDEV index b88dc895ffd..da185830b2f 100644 --- a/etc/etc.hppa/MAKEDEV +++ b/etc/etc.hppa/MAKEDEV @@ -4,10 +4,10 @@ # generated from: # # OpenBSD: etc.hppa/MAKEDEV.md,v 1.3 2002/02/13 20:21:54 todd Exp -# OpenBSD: MAKEDEV.mi,v 1.26 2002/02/10 21:52:30 deraadt Exp +# OpenBSD: MAKEDEV.mi,v 1.27 2002/02/14 04:37:15 todd Exp # OpenBSD: MAKEDEV.sub,v 1.5 2002/01/23 06:02:19 todd Exp # -# $OpenBSD: MAKEDEV,v 1.10 2002/02/13 20:23:01 todd Exp $ +# $OpenBSD: MAKEDEV,v 1.11 2002/02/14 04:39:56 todd Exp $ # # Copyright (c) 2001 Todd T. Fries <todd@OpenBSD.org> # All rights reserved. diff --git a/etc/etc.i386/MAKEDEV b/etc/etc.i386/MAKEDEV index 52886249984..6a1a3467d27 100644 --- a/etc/etc.i386/MAKEDEV +++ b/etc/etc.i386/MAKEDEV @@ -4,10 +4,10 @@ # generated from: # # OpenBSD: etc.i386/MAKEDEV.md,v 1.3 2002/02/09 16:59:50 deraadt Exp -# OpenBSD: MAKEDEV.mi,v 1.26 2002/02/10 21:52:30 deraadt Exp +# OpenBSD: MAKEDEV.mi,v 1.27 2002/02/14 04:37:15 todd Exp # OpenBSD: MAKEDEV.sub,v 1.5 2002/01/23 06:02:19 todd Exp # -# $OpenBSD: MAKEDEV,v 1.115 2002/02/10 21:53:03 deraadt Exp $ +# $OpenBSD: MAKEDEV,v 1.116 2002/02/14 04:39:56 todd Exp $ # # Copyright (c) 2001 Todd T. Fries <todd@OpenBSD.org> # All rights reserved. @@ -156,6 +156,7 @@ unt() dodisk() { + [ "$DEBUG" ] && set -x n=$(($((${5}*${7:-16}))+${6})) count=0 RMlist="$RMlist $1$2? r$1$2?" [ 0$7 -ne 8 ] && l="i j k l m n o p" diff --git a/etc/etc.mac68k/MAKEDEV b/etc/etc.mac68k/MAKEDEV index 1e43ad3913a..e846acfea5a 100644 --- a/etc/etc.mac68k/MAKEDEV +++ b/etc/etc.mac68k/MAKEDEV @@ -4,10 +4,10 @@ # generated from: # # OpenBSD: etc.mac68k/MAKEDEV.md,v 1.3 2002/02/08 20:26:36 todd Exp -# OpenBSD: MAKEDEV.mi,v 1.24 2002/02/09 16:59:50 deraadt Exp +# OpenBSD: MAKEDEV.mi,v 1.27 2002/02/14 04:37:15 todd Exp # OpenBSD: MAKEDEV.sub,v 1.5 2002/01/23 06:02:19 todd Exp # -# $OpenBSD: MAKEDEV,v 1.42 2002/02/09 17:01:41 deraadt Exp $ +# $OpenBSD: MAKEDEV,v 1.43 2002/02/14 04:39:56 todd Exp $ # # Copyright (c) 2001 Todd T. Fries <todd@OpenBSD.org> # All rights reserved. @@ -75,15 +75,16 @@ T=$0 hex() { case $1 in - [0-9]) echo -n $1;; - 10) echo -n a;; - 11) echo -n b;; - 12) echo -n c;; - 13) echo -n d;; - 14) echo -n e;; - 15) echo -n f;; + [0-9]) echo -n $1;; + 10) echo -n a;; + 11) echo -n b;; + 12) echo -n c;; + 13) echo -n d;; + 14) echo -n e;; + 15) echo -n f;; esac } + trunc() { # XXX pdksh can't seem to deal with locally scoped variables @@ -95,6 +96,7 @@ trunc() r|*) echo ${arg1#$arg2} ;; esac } + unt() { # XXX pdksh can't seem to deal with locally scoped variables @@ -110,8 +112,10 @@ unt() done echo $arg } + dodisk() { + [ "$DEBUG" ] && set -x n=$(($((${5}*${7:-16}))+${6})) count=0 RMlist="$RMlist $1$2? r$1$2?" [ 0$7 -ne 8 ] && l="i j k l m n o p" @@ -123,6 +127,7 @@ dodisk() done MKlist="$MKlist;chown root.operator $1$2? r$1$2?" } + dodisk2() { n=$(($(($5*${7:-16}))+$6)) @@ -136,14 +141,16 @@ dodisk2() # M name b/c major minor [mode] [group] RMlist="rm -f" MKlist=":" + mkl() { - [ "${mklist[$1]}" ] && { - mklist[$1]="${mklist[$1]};mknod -m $1 $2 $3 $4 $5" - } || { - mklist[$1]="mknod -m $1 $2 $3 $4 $5" - modes="$modes $1" - } + [ "${mklist[$1]}" ] && { + mklist[$1]="${mklist[$1]};mknod -m $1 $2 $3 $4 $5" + } || { + mklist[$1]="mknod -m $1 $2 $3 $4 $5" + modes="$modes $1" + } } + M() { RMlist="$RMlist $1" mkl ${5-666} $1 $2 $3 $4 @@ -164,6 +171,7 @@ M() { } return 0 } + R() { [ "$DEBUG" ] && set -x for i in "$@" @@ -290,7 +298,6 @@ pty*) 1) off=16 name=q;; 2) off=32 name=r;; 3) off=48 name=s;; -# Note that telnetd, rlogind, and xterm (at least) only look at p-s. 4) off=64 name=t;; 5) off=80 name=u;; 6) off=96 name=v;; @@ -386,8 +393,8 @@ if [ "$os" = "SunOS" ]; then 440) mask=227;; esac echo `echo "$@"|sed \ - 's/mknod -m \([0-9]*\) /umask '$mask';mknod /;s/-m [0-9]* //g;\ - s/operator/5/g;s/root.kmem/root.2/g;s/root\./root:/g'` + 's/mknod -m \([0-9]*\) /umask '$mask';mknod /;s/-m [0-9]* //g;\ + s/operator/5/g;s/root.kmem/root.2/g;s/root\./root:/g'` } fi list="$RMlist" diff --git a/etc/etc.macppc/MAKEDEV b/etc/etc.macppc/MAKEDEV index 97ba090a798..8c2cef24604 100644 --- a/etc/etc.macppc/MAKEDEV +++ b/etc/etc.macppc/MAKEDEV @@ -4,10 +4,10 @@ # generated from: # # OpenBSD: etc.macppc/MAKEDEV.md,v 1.3 2002/01/23 07:53:01 todd Exp -# OpenBSD: MAKEDEV.mi,v 1.26 2002/02/10 21:52:30 deraadt Exp +# OpenBSD: MAKEDEV.mi,v 1.27 2002/02/14 04:37:15 todd Exp # OpenBSD: MAKEDEV.sub,v 1.5 2002/01/23 06:02:19 todd Exp # -# $OpenBSD: MAKEDEV,v 1.12 2002/02/10 21:53:03 deraadt Exp $ +# $OpenBSD: MAKEDEV,v 1.13 2002/02/14 04:39:56 todd Exp $ # # Copyright (c) 2001 Todd T. Fries <todd@OpenBSD.org> # All rights reserved. @@ -134,6 +134,7 @@ unt() dodisk() { + [ "$DEBUG" ] && set -x n=$(($((${5}*${7:-16}))+${6})) count=0 RMlist="$RMlist $1$2? r$1$2?" [ 0$7 -ne 8 ] && l="i j k l m n o p" diff --git a/etc/etc.mvme68k/MAKEDEV b/etc/etc.mvme68k/MAKEDEV index bcef148d789..7d0baa40dcc 100644 --- a/etc/etc.mvme68k/MAKEDEV +++ b/etc/etc.mvme68k/MAKEDEV @@ -1,6 +1,38 @@ #!/bin/sh - # -# $OpenBSD: MAKEDEV,v 1.36 2002/02/09 17:58:16 deraadt Exp $ +# THIS FILE AUTOMATICALLY GENERATED. DO NOT EDIT. +# generated from: +# +# OpenBSD: MAKEDEV.mi,v 1.26 2002/02/10 21:52:30 deraadt Exp +# OpenBSD: MAKEDEV.sub,v 1.5 2002/01/23 06:02:19 todd Exp +# +# $OpenBSD: MAKEDEV,v 1.37 2002/02/14 04:39:56 todd Exp $ +# +# Copyright (c) 2001 Todd T. Fries <todd@OpenBSD.org> +# 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. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED ``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 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. +# +#!/bin/sh - +# +# $OpenBSD: MAKEDEV,v 1.37 2002/02/14 04:39:56 todd Exp $ # # Copyright (c) 1990 The Regents of the University of California. # All rights reserved. @@ -33,7 +65,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $OpenBSD: MAKEDEV,v 1.36 2002/02/09 17:58:16 deraadt Exp $ +# $OpenBSD: MAKEDEV,v 1.37 2002/02/14 04:39:56 todd Exp $ # # Device "make" file. Valid arguments: # all makes all known devices, including local devices, @@ -119,7 +151,7 @@ std) mknod ksyms c 43 0 ; chmod 640 ksyms ; chown root.kmem ksyms ;; -raminst) +ramdisk) sh MAKEDEV std fd st0 ttya rd0 sh MAKEDEV tty00 tty01 tty02 tty03 sh MAKEDEV sd0 sd1 sd2 sd3 sd4 sd5 sd6 sd7 sd8 sd9 @@ -501,3 +533,159 @@ local) ;; esac done +PATH=/sbin:/usr/sbin:/bin:/usr/bin +T=$0 + +# set this to echo for Echo-Only debugging +[ "$eo" ] || eo= + +hex() +{ + case $1 in + [0-9]) echo -n $1;; + 10) echo -n a;; + 11) echo -n b;; + 12) echo -n c;; + 13) echo -n d;; + 14) echo -n e;; + 15) echo -n f;; + esac +} + +trunc() +{ + # XXX pdksh can't seem to deal with locally scoped variables + # in ${foo#$bar} expansions + arg1="$1" + arg2="$2" + case $3 in + l) echo ${arg2#$arg1} ;; + r|*) echo ${arg1#$arg2} ;; + esac +} + +unt() +{ + # XXX pdksh can't seem to deal with locally scoped variables + # in ${foo#$bar} expansions + arg="$1" + tmp="${arg#[a-zA-Z]*}" + tmp="${tmp%*[a-zA-Z]}" + while [ "$tmp" != "$arg" ] + do + arg=$tmp + tmp="${arg#[a-zA-Z]*}" + tmp="${tmp%*[a-zA-Z]}" + done + echo $arg +} + +dodisk() +{ + [ "$DEBUG" ] && set -x + n=$(($((${5}*${7:-16}))+${6})) count=0 + RMlist="$RMlist $1$2? r$1$2?" + [ 0$7 -ne 8 ] && l="i j k l m n o p" + for d in a b c d e f g h $l + do + M $1$2$d b $3 $(($n+$count)) 640 + M r$1$2$d c $4 $(($n+$count)) 640 + let count=count+1 + done + MKlist="$MKlist;chown root.operator $1$2? r$1$2?" +} + +dodisk2() +{ + n=$(($(($5*${7:-16}))+$6)) + M $1$2a b $3 $n 640 operator + M r$1$2a c $4 $n 640 operator + n=$(($n+2)) + M $1$2c b $3 $n 640 operator + M r$1$2c c $4 $n 640 operator +} + +# M name b/c major minor [mode] [group] +RMlist="rm -f" +MKlist=":" + +mkl() { + [ "${mklist[$1]}" ] && { + mklist[$1]="${mklist[$1]};mknod -m $1 $2 $3 $4 $5" + } || { + mklist[$1]="mknod -m $1 $2 $3 $4 $5" + modes="$modes $1" + } +} + +M() { + RMlist="$RMlist $1" + mkl ${5-666} $1 $2 $3 $4 + mklist="$mklist $1" + G=${6:-wheel} + [ "$7" ] && { + MKlist="$MKlist;chown $7.$G $1" + } || { + case $G in + wheel)g=0;;kmem)g=2;;operator)g=5;;tty)g=4;;dialer)g=117;; + esac + [ "${grplist[$g]}" ] && { + grplist[$g]="${grplist[$g]} $1" + } || { + groups="$groups $g" + grplist[$g]="chgrp $G $1" + } + } + return 0 +} + +R() { +[ "$DEBUG" ] && set -x +for i in "$@" +do +U=`unt $i` +[ "$U" ] || U=0 + +case $i in + +) + case $i in + esac + ;; + +*) + echo $i: unknown device + ;; +esac +done +} +R "$@" +if [ "$os" = "SunOS" ]; then + eo=transform + transform() { + case $mode in + 600) mask=077;; + 640) mask=027;; + 660) mask=007;; + 644) mask=022;; + 666) mask=0;; + 440) mask=227;; + esac + echo `echo "$@"|sed \ + 's/mknod -m \([0-9]*\) /umask '$mask';mknod /;s/-m [0-9]* //g;\ + s/operator/5/g;s/root.kmem/root.2/g;s/root\./root:/g'` + } +fi +list="$RMlist" +for mode in $modes; do + list="$list;${mklist[$mode]}" +done +for group in $groups; do + list="$list;${grplist[$group]}" +done +list="$list;$MKlist" +if [ "$eo" = "echo" -o "$eo" = "transform" ]; then + $eo "$list" +else + echo "$list" | sh +fi diff --git a/etc/etc.mvme88k/MAKEDEV b/etc/etc.mvme88k/MAKEDEV index 03f91e85814..ed195aaac80 100644 --- a/etc/etc.mvme88k/MAKEDEV +++ b/etc/etc.mvme88k/MAKEDEV @@ -1,6 +1,38 @@ #!/bin/sh - # -# $OpenBSD: MAKEDEV,v 1.16 2002/02/09 17:01:41 deraadt Exp $ +# THIS FILE AUTOMATICALLY GENERATED. DO NOT EDIT. +# generated from: +# +# OpenBSD: MAKEDEV.mi,v 1.26 2002/02/10 21:52:30 deraadt Exp +# OpenBSD: MAKEDEV.sub,v 1.5 2002/01/23 06:02:19 todd Exp +# +# $OpenBSD: MAKEDEV,v 1.17 2002/02/14 04:39:56 todd Exp $ +# +# Copyright (c) 2001 Todd T. Fries <todd@OpenBSD.org> +# 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. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED ``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 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. +# +#!/bin/sh - +# +# $OpenBSD: MAKEDEV,v 1.17 2002/02/14 04:39:56 todd Exp $ # $NetBSD: MAKEDEV,v 1.5 1997/01/01 23:46:23 pk Exp $ # # Copyright (c) 1990 The Regents of the University of California. @@ -359,3 +391,159 @@ local) esac done +PATH=/sbin:/usr/sbin:/bin:/usr/bin +T=$0 + +# set this to echo for Echo-Only debugging +[ "$eo" ] || eo= + +hex() +{ + case $1 in + [0-9]) echo -n $1;; + 10) echo -n a;; + 11) echo -n b;; + 12) echo -n c;; + 13) echo -n d;; + 14) echo -n e;; + 15) echo -n f;; + esac +} + +trunc() +{ + # XXX pdksh can't seem to deal with locally scoped variables + # in ${foo#$bar} expansions + arg1="$1" + arg2="$2" + case $3 in + l) echo ${arg2#$arg1} ;; + r|*) echo ${arg1#$arg2} ;; + esac +} + +unt() +{ + # XXX pdksh can't seem to deal with locally scoped variables + # in ${foo#$bar} expansions + arg="$1" + tmp="${arg#[a-zA-Z]*}" + tmp="${tmp%*[a-zA-Z]}" + while [ "$tmp" != "$arg" ] + do + arg=$tmp + tmp="${arg#[a-zA-Z]*}" + tmp="${tmp%*[a-zA-Z]}" + done + echo $arg +} + +dodisk() +{ + [ "$DEBUG" ] && set -x + n=$(($((${5}*${7:-16}))+${6})) count=0 + RMlist="$RMlist $1$2? r$1$2?" + [ 0$7 -ne 8 ] && l="i j k l m n o p" + for d in a b c d e f g h $l + do + M $1$2$d b $3 $(($n+$count)) 640 + M r$1$2$d c $4 $(($n+$count)) 640 + let count=count+1 + done + MKlist="$MKlist;chown root.operator $1$2? r$1$2?" +} + +dodisk2() +{ + n=$(($(($5*${7:-16}))+$6)) + M $1$2a b $3 $n 640 operator + M r$1$2a c $4 $n 640 operator + n=$(($n+2)) + M $1$2c b $3 $n 640 operator + M r$1$2c c $4 $n 640 operator +} + +# M name b/c major minor [mode] [group] +RMlist="rm -f" +MKlist=":" + +mkl() { + [ "${mklist[$1]}" ] && { + mklist[$1]="${mklist[$1]};mknod -m $1 $2 $3 $4 $5" + } || { + mklist[$1]="mknod -m $1 $2 $3 $4 $5" + modes="$modes $1" + } +} + +M() { + RMlist="$RMlist $1" + mkl ${5-666} $1 $2 $3 $4 + mklist="$mklist $1" + G=${6:-wheel} + [ "$7" ] && { + MKlist="$MKlist;chown $7.$G $1" + } || { + case $G in + wheel)g=0;;kmem)g=2;;operator)g=5;;tty)g=4;;dialer)g=117;; + esac + [ "${grplist[$g]}" ] && { + grplist[$g]="${grplist[$g]} $1" + } || { + groups="$groups $g" + grplist[$g]="chgrp $G $1" + } + } + return 0 +} + +R() { +[ "$DEBUG" ] && set -x +for i in "$@" +do +U=`unt $i` +[ "$U" ] || U=0 + +case $i in + +) + case $i in + esac + ;; + +*) + echo $i: unknown device + ;; +esac +done +} +R "$@" +if [ "$os" = "SunOS" ]; then + eo=transform + transform() { + case $mode in + 600) mask=077;; + 640) mask=027;; + 660) mask=007;; + 644) mask=022;; + 666) mask=0;; + 440) mask=227;; + esac + echo `echo "$@"|sed \ + 's/mknod -m \([0-9]*\) /umask '$mask';mknod /;s/-m [0-9]* //g;\ + s/operator/5/g;s/root.kmem/root.2/g;s/root\./root:/g'` + } +fi +list="$RMlist" +for mode in $modes; do + list="$list;${mklist[$mode]}" +done +for group in $groups; do + list="$list;${grplist[$group]}" +done +list="$list;$MKlist" +if [ "$eo" = "echo" -o "$eo" = "transform" ]; then + $eo "$list" +else + echo "$list" | sh +fi diff --git a/etc/etc.mvmeppc/MAKEDEV b/etc/etc.mvmeppc/MAKEDEV index c7dc07f96ea..6df90a584a8 100644 --- a/etc/etc.mvmeppc/MAKEDEV +++ b/etc/etc.mvmeppc/MAKEDEV @@ -1,5 +1,37 @@ #!/bin/sh - -# $OpenBSD: MAKEDEV,v 1.3 2001/07/02 02:37:13 angelos Exp $ +# +# THIS FILE AUTOMATICALLY GENERATED. DO NOT EDIT. +# generated from: +# +# OpenBSD: MAKEDEV.mi,v 1.26 2002/02/10 21:52:30 deraadt Exp +# OpenBSD: MAKEDEV.sub,v 1.5 2002/01/23 06:02:19 todd Exp +# +# $OpenBSD: MAKEDEV,v 1.4 2002/02/14 04:39:56 todd Exp $ +# +# Copyright (c) 2001 Todd T. Fries <todd@OpenBSD.org> +# 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. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED ``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 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. +# +#!/bin/sh - +# $OpenBSD: MAKEDEV,v 1.4 2002/02/14 04:39:56 todd Exp $ # # Copyright (c) 1990 The Regents of the University of California. # All rights reserved. @@ -24,195 +56,181 @@ # $NetBSD: MAKEDEV,v 1.17 1996/02/03 15:02:42 briggs Exp $ # # Device "make" file. Valid arguments: +# Device "make" file. Valid arguments: # all makes all known devices, including local devices. # Tries to make the ``standard'' number of each type. # std standard devices -# fd makes fd/* for the fdescfs. +# fd makes fd/* for the fdescfs # local configuration specific devices # ramdisk makes all devices for a ramdisk kernel -# # Tapes: # st* SCSI tapes -# # Disks: -# fd* Floppy disk drives (3 1/2", 5 1/4") -# wd* IDE disks +# wd* "winchester" disk drives (ST506,IDE,ESDI,RLL,...) # sd* SCSI disks # cd* SCSI cdrom drives # vnd* "file" pseudo-disks # rd* "ramdisk" pseudo-disks # ccd* concatenated disk devices # raid* RAIDframe disk devices -# # Terminal ports: -# ttyC* wscons -# tty* standard built-in serial ports (2) -# +# ttyC0 wscons screen 0 +# ttyC* wscons virtual consoles +# wskbd* wscons keyboards +# tty0* NS16x50 serial ports # Pointing devices: -# wsmouse* wscons mouse events -# -# Keyboard devices: -# wskbd* wscons keyboard events -# +# wsmouse* wscons mice # Pseudo terminals: -# pty* set of 16 master and slave pseudo terminals -# -# Graphics devices: -# grf* custom chip (grf0), Retina Z2/Z3 (grf1/grf2), -# Cirrus boards (grf3), A2410 (grf4) video or -# CyberVision 64 (grf5) -# -# USB devices: +# tty* set of 16 slave psuedo terminals +# pty* set of 16 master pseudo terminals +graphics_title +mac_grf_dev +_TTILE(usb) # usb* Bus control devices used by usbd for attach/detach -# uhid* Generic HID devices +uid_dev # ulpt* Printer devices # urio* Diamond Multimedia Rio 500 # ugen* Generic device # utty* Serial ports -# # Special purpose devices: -# audio* audio +# audio* audio device # ch* SCSI media changer # bpf* Berkeley Packet Filter # tun* network tunnel driver # lkm loadable kernel modules interface -# *random inkernal random data source -# altq ALTQ control interface +# *random inkernel random data source +# altq/ ALTQ control interface +# pf* Packet Filter +# usbs make USB devices # +PATH=/sbin:/usr/sbin:/bin:/usr/bin +T=$0 -PATH=/sbin:/bin:/usr/bin:/usr/sbin -this=$0 -umask 77 +# set this to echo for Echo-Only debugging +[ "$eo" ] || eo= -# default shell support functions -add () -{ - tmp=0 - while [ "$1" ] - do - tmp=$(( $1 + $tmp )) - shift - done - echo $tmp -} -mult () -{ - echo "$(( $1 * $2 ))" -} -hex () +hex() { case $1 in - [0-9]) echo -n $1;; - 10) echo -n a;; - 11) echo -n b;; - 12) echo -n c;; - 13) echo -n d;; - 14) echo -n e;; - 15) echo -n f;; + [0-9]) echo -n $1;; + 10) echo -n a;; + 11) echo -n b;; + 12) echo -n c;; + 13) echo -n d;; + 14) echo -n e;; + 15) echo -n f;; esac } -trunc () + +trunc() { # XXX pdksh can't seem to deal with locally scoped variables # in ${foo#$bar} expansions arg1="$1" arg2="$2" - echo ${arg1#$arg2} + case $3 in + l) echo ${arg2#$arg1} ;; + r|*) echo ${arg1#$arg2} ;; + esac } + unt() { # XXX pdksh can't seem to deal with locally scoped variables # in ${foo#$bar} expansions - arg1="$1" - tmp="${arg1#[a-z]*}" - while [ "$tmp" != "$arg1" ] + arg="$1" + tmp="${arg#[a-zA-Z]*}" + tmp="${tmp%*[a-zA-Z]}" + while [ "$tmp" != "$arg" ] do - arg1=$tmp - tmp="${arg1#[a-z]*}" + arg=$tmp + tmp="${arg#[a-zA-Z]*}" + tmp="${tmp%*[a-zA-Z]}" done - tmp="${arg1%*[a-z]}" - while [ "$tmp" != "$arg1" ] + echo $arg +} + +dodisk() +{ + [ "$DEBUG" ] && set -x + n=$(($((${5}*${7:-16}))+${6})) count=0 + RMlist="$RMlist $1$2? r$1$2?" + [ 0$7 -ne 8 ] && l="i j k l m n o p" + for d in a b c d e f g h $l do - arg1=$tmp - tmp="${arg1%*[a-z]}" + M $1$2$d b $3 $(($n+$count)) 640 + M r$1$2$d c $4 $(($n+$count)) 640 + let count=count+1 done - echo $arg1 + MKlist="$MKlist;chown root.operator $1$2? r$1$2?" } -for i -do - -unit=`unt $i` -[ "$unit" ] || unit=0 +dodisk2() +{ + n=$(($(($5*${7:-16}))+$6)) + M $1$2a b $3 $n 640 operator + M r$1$2a c $4 $n 640 operator + n=$(($n+2)) + M $1$2c b $3 $n 640 operator + M r$1$2c c $4 $n 640 operator +} -case $i in +# M name b/c major minor [mode] [group] +RMlist="rm -f" +MKlist=":" + +mkl() { + [ "${mklist[$1]}" ] && { + mklist[$1]="${mklist[$1]};mknod -m $1 $2 $3 $4 $5" + } || { + mklist[$1]="mknod -m $1 $2 $3 $4 $5" + modes="$modes $1" + } +} -all) - sh $this std fd - sh $this wd0 wd1 wd2 wd3 - sh $this sd0 sd1 sd2 sd3 st0 st1 cd0 cd1 - sh $this vnd0 vnd1 vnd2 vnd3 - sh $this ccd0 ccd1 ccd2 ccd3 - sh $this raid0 raid1 raid2 raid3 - sh $this rd0 - sh $this ttyC0 ttyCcfg - sh $this tty00 tty01 tty02 tty03 pty0 pty1 - sh $this bpf0 bpf1 bpf2 bpf3 bpf4 bpf5 bpf6 bpf7 bpf8 bpf9 - sh $this pf tun0 tun1 tun2 tun3 - sh $this audio0 - sh $this random uk0 uk1 ss0 ss1 - sh $this wscons - sh $this pci - sh $this lkm xfs0 altq - sh $this usbs - sh $this local - ;; +M() { + RMlist="$RMlist $1" + mkl ${5-666} $1 $2 $3 $4 + mklist="$mklist $1" + G=${6:-wheel} + [ "$7" ] && { + MKlist="$MKlist;chown $7.$G $1" + } || { + case $G in + wheel)g=0;;kmem)g=2;;operator)g=5;;tty)g=4;;dialer)g=117;; + esac + [ "${grplist[$g]}" ] && { + grplist[$g]="${grplist[$g]} $1" + } || { + groups="$groups $g" + grplist[$g]="chgrp $G $1" + } + } + return 0 +} -ramdisk) - sh $this std - sh $this wd0 wd1 wd2 wd3 - sh $this sd0 sd1 sd2 sd3 sd4 st0 st1 cd0 cd1 - sh $this rd0 - sh $this random - sh $this bpf0 - sh $this tty00 tty01 pty0 - sh $this wscons - ;; +R() { +[ "$DEBUG" ] && set -x +for i in "$@" +do +U=`unt $i` +[ "$U" ] || U=0 +case $i in std) - rm -f console drum kmem mem reload zero null tty - rm -f klog stdin stdout stderr ksyms - mknod console c 0 0 - mknod drum c 3 0 ; chmod 640 drum ; chgrp kmem drum - mknod kmem c 2 1 ; chmod 640 kmem ; chgrp kmem kmem - mknod mem c 2 0 ; chmod 640 mem ; chgrp kmem mem - mknod reload c 2 20 ; chmod 640 reload ; chgrp kmem reload - mknod zero c 2 12 ; chmod 666 zero - mknod null c 2 2 ; chmod 666 null - mknod tty c 1 0 ; chmod 666 tty - mknod klog c 6 0 ; chmod 600 klog - mknod stdin c 21 0 ; chmod 666 stdin - mknod stdout c 21 1 ; chmod 666 stdout - mknod stderr c 21 2 ; chmod 666 stderr - mknod ksyms c 43 0 ; chmod 640 ksyms ; chown root.kmem ksyms - ;; - -usbs) - sh $this usb0 usb1 - sh $this uhid0 uhid1 uhid2 uhid3 - sh $this ulpt0 ulpt1 - sh $this urio0 - sh $this utty0 utty1 - ;; - -fd) - rm -f fd/* - mkdir fd > /dev/null 2>&1 - n=0 - (cd fd && while [ $n -lt 64 ]; do mknod $n c 21 $n; n="$(( $n + 1 ))"; done) - chown -R root.wheel fd - chmod 555 fd - chmod 666 fd/* + M console c 0 0 600 + M tty c 1 0 + M mem c 2 0 640 kmem + M kmem c 2 1 640 kmem + M null c 2 2 + M zero c 2 12 + M stdin c 21 0 + M stdout c 21 1 + M stderr c 21 2 + M ksyms c 43 0 640 kmem + M drum c 3 0 640 kmem + M klog c 6 0 600 + M reload c 2 20 640 kmem ;; sd*|wd*|ccd*|ofdisk*|raid*) @@ -658,3 +676,231 @@ local) esac done + +usbs) + R utty0 utty1 ugen0 ugen1 ulpt0 ulpt1 urio0 usb0 usb1 + ;; + +pf*) + M pf c 39 0 600 + ;; + +altq) + RMlist="mkdir -p altq;$RMlist" + for d in altq cbq wfq afm fifoq red rio localq hfsc cdnr blue priq; do + M altq/$d c major_altq_c $U 644 + U=$(($U+1)) + done + ;; + +*random) + n=0 + for pre in " " s u p a + do + M ${pre}random c major_rnd_c $n 644 + n=$(($n+1)) + done + ;; + +lkm) + M lkm c major_lkm_c 0 640 kmem + ;; + +tun*) + M tun$U c major_tun_c $U 600 + ;; + +bpf*) + M bpf$U c major_bpf_c $U 600 + ;; + +ch*) + M ch$U c major_ch_c $U 660 operator + ;; + +audio*) + M sound$U c major_au_c $U + M mixer$U c major_au_c $(($U+16)) + M audio$U c major_au_c $(($U+128)) + M audioctl$U c major_au_c $(($U+192)) + MKlist="$MKlist;[ -e audio ] || ln -s audio$U audio" + MKlist="$MKlist;[ -e mixer ] || ln -s mixer$U mixer" + MKlist="$MKlist;[ -e sound ] || ln -s sound$U sound" + MKlist="$MKlist;[ -e audioctl ] || ln -s audioctl$U audioctl" + ;; + +utty*) + M utty$U c major_utty_c $U 660 + ;; + +ugen*) + n=$(($U*16)) + for j in 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 + do + M ugen$U.$j c major_ugen_c $(($n+$j)) 660 + done + ;; + +urio*) + M urio$U c major_urio_c $U 660 + ;; + +ulpt*) + M ulpt$U c major_ulpt_c $U 660 + ;; + +usb*) + [ "$i" = "usb" ] && u= || u=$U + M usb$u c major_usb_c $U 660 + ;; + +pty*) + case $U in + 0) off=0 name=p;; + 1) off=16 name=q;; + 2) off=32 name=r;; + 3) off=48 name=s;; + 4) off=64 name=t;; + 5) off=80 name=u;; + 6) off=96 name=v;; + 7) off=112 name=w;; + 8) off=128 name=x;; + 9) off=144 name=y;; + 10) off=160 name=z;; + 11) off=176 name=P;; + 12) off=192 name=Q;; + 13) off=206 name=R;; + 14) off=224 name=S;; + 15) off=240 name=T;; + *) echo bad unit for pty in: $i; continue;; + esac + n=0 + while [ $n -lt 16 ] + do + nam=$name$(hex $n) + M tty$nam c major_tty_c $(($off+$n)) + M pty$nam c major_pty_c $(($off+$n)) + n=$(($n+1)) + done + ;; + +wsmouse*) + M wsmouse$U c 69 $U 600 + ;; + +tty0*) + M tty$U c 7 $U 660 dialer uucp + M cua$U c 7 $(($U+128)) 660 dialer uucp + ;; + +wskbd*) + M wskbd$U c 68 $U 600 + ;; + +ttyC*) + U=${i##ttyC} + case $U in + [0-9a-f]) M ttyC$U c 67 $(( 16#$U )) 600;; + cfg) M ttyCcfg c 67 255 600;; + *) echo bad unit $U for $i; exit 1;; + esac + ;; + +wscons) + R ttyCcfg + R ttyC0 ttyC1 ttyC2 ttyC3 ttyC4 ttyC5 ttyC6 ttyC7 ttyC8 ttyC9 + R ttyCa ttyCb wskbd0 wskbd1 wskbd2 wskbd3 + R wsmouse0 wsmouse1 wsmouse2 wsmouse3 + ;; + +rd*) + dodisk2 rd $U 17 17 $U 0 + ;; + +vnd*) + dodisk vnd $U 14 19 $U 0 + dodisk svnd $U 14 19 $U 128 + ;; + +cd*) + dodisk2 cd $U 3 9 $U 0 + ;; + +st*) + n=$(($U*16)) + for pre in " " n e en + do + M ${pre}st$U b 5 $n 660 operator + M ${pre}rst$U c 20 $n 660 operator + n=$(($n+1)) + done + ;; + +ramdisk) + R std bpf0 st0 st1 cd0 cd1 sd0 sd1 sd2 sd3 sd4 wd0 wd1 wd2 + R wd3 rd0 ttyC0 + ;; + +local) + test -s $T.local && sh $T.local + ;; + +fd) + RMlist="mkdir -p fd;$RMlist" n=0 + while [ $n -lt 64 ];do M fd/$n c 21 $n;n=$(($n+1));done + MKlist="$MKlist;chmod 555 fd" + ;; + +all) + R local wscons usbs audio0 rndrandom lkm tty00 tty01 tty02 + R tty03 pf altq tun0 tun1 tun2 tun3 bpf0 bpf1 bpf2 bpf3 bpf4 + R bpf5 bpf6 bpf7 bpf8 bpf9 wd0 wd1 wd2 wd3 rd0 raid0 raid1 + R raid2 raid3 ccd0 ccd1 ccd2 ccd3 vnd0 vnd1 vnd2 vnd3 std cd0 + R cd1 ch0 st0 st1 pty0 pty1 fd sd0 sd1 sd2 sd3 sd4 + ;; + +wd*|sd*|raid*|ccd*) + case $i in + wd*) dodisk wd $U 0 11 $U 0;; + sd*) dodisk sd $U 2 8 $U 0;; + raid*) dodisk raid $U 19 54 $U 0;; + ccd*) dodisk ccd $U 16 18 $U 0;; + esac + ;; + +*) + echo $i: unknown device + ;; +esac +done +} +R "$@" +if [ "$os" = "SunOS" ]; then + eo=transform + transform() { + case $mode in + 600) mask=077;; + 640) mask=027;; + 660) mask=007;; + 644) mask=022;; + 666) mask=0;; + 440) mask=227;; + esac + echo `echo "$@"|sed \ + 's/mknod -m \([0-9]*\) /umask '$mask';mknod /;s/-m [0-9]* //g;\ + s/operator/5/g;s/root.kmem/root.2/g;s/root\./root:/g'` + } +fi +list="$RMlist" +for mode in $modes; do + list="$list;${mklist[$mode]}" +done +for group in $groups; do + list="$list;${grplist[$group]}" +done +list="$list;$MKlist" +if [ "$eo" = "echo" -o "$eo" = "transform" ]; then + $eo "$list" +else + echo "$list" | sh +fi diff --git a/etc/etc.sparc/MAKEDEV b/etc/etc.sparc/MAKEDEV index 30e6761d4f7..0774e4acce8 100644 --- a/etc/etc.sparc/MAKEDEV +++ b/etc/etc.sparc/MAKEDEV @@ -4,10 +4,10 @@ # generated from: # # OpenBSD: etc.sparc/MAKEDEV.md,v 1.7 2002/02/09 16:59:50 deraadt Exp -# OpenBSD: MAKEDEV.mi,v 1.26 2002/02/10 21:52:30 deraadt Exp +# OpenBSD: MAKEDEV.mi,v 1.27 2002/02/14 04:37:15 todd Exp # OpenBSD: MAKEDEV.sub,v 1.5 2002/01/23 06:02:19 todd Exp # -# $OpenBSD: MAKEDEV,v 1.80 2002/02/10 21:53:03 deraadt Exp $ +# $OpenBSD: MAKEDEV,v 1.81 2002/02/14 04:39:56 todd Exp $ # # Copyright (c) 2001 Todd T. Fries <todd@OpenBSD.org> # All rights reserved. @@ -131,6 +131,7 @@ unt() dodisk() { + [ "$DEBUG" ] && set -x n=$(($((${5}*${7:-16}))+${6})) count=0 RMlist="$RMlist $1$2? r$1$2?" [ 0$7 -ne 8 ] && l="i j k l m n o p" diff --git a/etc/etc.sparc64/MAKEDEV b/etc/etc.sparc64/MAKEDEV index 3c10cd9d97f..0d4cd88ff53 100644 --- a/etc/etc.sparc64/MAKEDEV +++ b/etc/etc.sparc64/MAKEDEV @@ -4,10 +4,10 @@ # generated from: # # OpenBSD: etc.sparc64/MAKEDEV.md,v 1.16 2002/02/10 21:55:53 deraadt Exp -# OpenBSD: MAKEDEV.mi,v 1.26 2002/02/10 21:52:30 deraadt Exp +# OpenBSD: MAKEDEV.mi,v 1.27 2002/02/14 04:37:15 todd Exp # OpenBSD: MAKEDEV.sub,v 1.5 2002/01/23 06:02:19 todd Exp # -# $OpenBSD: MAKEDEV,v 1.51 2002/02/10 21:56:04 deraadt Exp $ +# $OpenBSD: MAKEDEV,v 1.52 2002/02/14 04:39:56 todd Exp $ # # Copyright (c) 2001 Todd T. Fries <todd@OpenBSD.org> # All rights reserved. @@ -144,6 +144,7 @@ unt() dodisk() { + [ "$DEBUG" ] && set -x n=$(($((${5}*${7:-16}))+${6})) count=0 RMlist="$RMlist $1$2? r$1$2?" [ 0$7 -ne 8 ] && l="i j k l m n o p" diff --git a/etc/etc.sun3/MAKEDEV b/etc/etc.sun3/MAKEDEV index 407fc3d5937..a0f88fb14d3 100644 --- a/etc/etc.sun3/MAKEDEV +++ b/etc/etc.sun3/MAKEDEV @@ -4,10 +4,10 @@ # generated from: # # OpenBSD: etc.sun3/MAKEDEV.md,v 1.1 2002/01/08 00:59:59 todd Exp -# OpenBSD: MAKEDEV.mi,v 1.24 2002/02/09 16:59:50 deraadt Exp +# OpenBSD: MAKEDEV.mi,v 1.27 2002/02/14 04:37:15 todd Exp # OpenBSD: MAKEDEV.sub,v 1.5 2002/01/23 06:02:19 todd Exp # -# $OpenBSD: MAKEDEV,v 1.46 2002/02/09 17:01:41 deraadt Exp $ +# $OpenBSD: MAKEDEV,v 1.47 2002/02/14 04:39:56 todd Exp $ # # Copyright (c) 2001 Todd T. Fries <todd@OpenBSD.org> # All rights reserved. @@ -78,15 +78,16 @@ T=$0 hex() { case $1 in - [0-9]) echo -n $1;; - 10) echo -n a;; - 11) echo -n b;; - 12) echo -n c;; - 13) echo -n d;; - 14) echo -n e;; - 15) echo -n f;; + [0-9]) echo -n $1;; + 10) echo -n a;; + 11) echo -n b;; + 12) echo -n c;; + 13) echo -n d;; + 14) echo -n e;; + 15) echo -n f;; esac } + trunc() { # XXX pdksh can't seem to deal with locally scoped variables @@ -98,6 +99,7 @@ trunc() r|*) echo ${arg1#$arg2} ;; esac } + unt() { # XXX pdksh can't seem to deal with locally scoped variables @@ -113,8 +115,10 @@ unt() done echo $arg } + dodisk() { + [ "$DEBUG" ] && set -x n=$(($((${5}*${7:-16}))+${6})) count=0 RMlist="$RMlist $1$2? r$1$2?" [ 0$7 -ne 8 ] && l="i j k l m n o p" @@ -126,6 +130,7 @@ dodisk() done MKlist="$MKlist;chown root.operator $1$2? r$1$2?" } + dodisk2() { n=$(($(($5*${7:-16}))+$6)) @@ -139,14 +144,16 @@ dodisk2() # M name b/c major minor [mode] [group] RMlist="rm -f" MKlist=":" + mkl() { - [ "${mklist[$1]}" ] && { - mklist[$1]="${mklist[$1]};mknod -m $1 $2 $3 $4 $5" - } || { - mklist[$1]="mknod -m $1 $2 $3 $4 $5" - modes="$modes $1" - } + [ "${mklist[$1]}" ] && { + mklist[$1]="${mklist[$1]};mknod -m $1 $2 $3 $4 $5" + } || { + mklist[$1]="mknod -m $1 $2 $3 $4 $5" + modes="$modes $1" + } } + M() { RMlist="$RMlist $1" mkl ${5-666} $1 $2 $3 $4 @@ -167,6 +174,7 @@ M() { } return 0 } + R() { [ "$DEBUG" ] && set -x for i in "$@" @@ -274,7 +282,6 @@ pty*) 1) off=16 name=q;; 2) off=32 name=r;; 3) off=48 name=s;; -# Note that telnetd, rlogind, and xterm (at least) only look at p-s. 4) off=64 name=t;; 5) off=80 name=u;; 6) off=96 name=v;; @@ -370,8 +377,8 @@ if [ "$os" = "SunOS" ]; then 440) mask=227;; esac echo `echo "$@"|sed \ - 's/mknod -m \([0-9]*\) /umask '$mask';mknod /;s/-m [0-9]* //g;\ - s/operator/5/g;s/root.kmem/root.2/g;s/root\./root:/g'` + 's/mknod -m \([0-9]*\) /umask '$mask';mknod /;s/-m [0-9]* //g;\ + s/operator/5/g;s/root.kmem/root.2/g;s/root\./root:/g'` } fi list="$RMlist" diff --git a/etc/etc.vax/MAKEDEV b/etc/etc.vax/MAKEDEV index e84a74daf32..2055b23db4e 100644 --- a/etc/etc.vax/MAKEDEV +++ b/etc/etc.vax/MAKEDEV @@ -1,659 +1,516 @@ #!/bin/sh - # -# $OpenBSD: MAKEDEV,v 1.35 2002/02/09 17:55:53 deraadt Exp $ -# $NetBSD: MAKEDEV,v 1.30 2000/01/21 12:28:29 tsutsui Exp $ +# THIS FILE AUTOMATICALLY GENERATED. DO NOT EDIT. +# generated from: # -# @(#)MAKEDEV 8.1 (Berkeley) 6/9/93 +# OpenBSD: etc.vax/MAKEDEV.md,v 1.2 2002/02/09 16:59:50 deraadt Exp +# OpenBSD: MAKEDEV.mi,v 1.26 2002/02/10 21:52:30 deraadt Exp +# OpenBSD: MAKEDEV.sub,v 1.5 2002/01/23 06:02:19 todd Exp # +# $OpenBSD: MAKEDEV,v 1.36 2002/02/14 04:39:56 todd Exp $ +# +# Copyright (c) 2001 Todd T. Fries <todd@OpenBSD.org> +# 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. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED ``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 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. +# + # Device "make" file. Valid arguments: +# all makes all known devices, including local devices. +# Tries to make the ``standard'' number of each type. # std standard devices # local configuration specific devices -# all create a reasonable amount of all files # Tapes: +# st* SCSI tapes +# mt* (Magnetic) 9-track reel tape # ht* massbus tm03 & tu?? # tm* unibus tm11 & te10 emulations (e.g. Emulex tc-11) -# mt* MSCP tapes (e.g. TU81, TK50) # ts* unibus ts11 # ut* unibus tu45 emulations (e.g.si 9700) -# uu* tu58 cassettes on dl11 controller -# st* SCSI tapes # Disks: -# hp* massbus rm?? +# hp* massbuss rm?? # hk* unibus rk06 and rk07 # up* other unibus devices (e.g. on Emulex sc-21v controller) # ra* MSCP disks (ra??, hd??) -# rx* MSCP floppy disk (rx33/50/...) -# rl* unibus rl02 # rb* 730 idc w/ rb80 and/or rb02 -# ccd* "concatenated" pseudo-disks -# raid* RAIDframe disk driver -# vnd* "file" pseudo-disks -# rd* memory pseudo-disk devices +# rx* MSCP floppy disk (rx33/50/...) +# rl* unibus r102 +# hd* HP300 HP-IB disks # sd* SCSI disks -# cd* SCSI CD-ROM -# hd* HDC9224 hd disks on VS2000 -# Terminal multiplexors: -# dz* unibus dz11 and dz32 -# dh* unibus dh11 and emulations (e.g. Able dmax, Emulex cs-11) -# dmf* unibus dmf32 -# dhu* unibus dhu11 -# dmz* unibus dmz32 -# dl* unibus dl11 +# cd* SCSI cdrom drives +# ch* SCSI media changer +# uk* SCSI Unknown device +# ss* SCSI scanners +# xy* Xylogic 450/451 disks +# rd* "ramdisk" pseudo-disks +# xd* Xylogic 753/7053 disks +# fd* Floppy disk drives (3 1/2", 5 1/4") +# vnd* "file" pseudo-disks +# ccd* concatenated disk devices # Pseudo terminals: -# pty* set of 16 master and slave pseudo terminals +# tty* set of 16 slave psuedo terminals +# pty* set of 16 master pseudo terminals # Printers: -# ct* unibus parallel interface to CAT typesetter -# lp* unibus lp11 parallel interface -# va* unibus varian parallel interface -# vp* unibus versatec parallel interface -# Call units: -# dn* unibus dn11 and emulations (e.g. Able Quadracall) +# Terminal ports: # Special purpose devices: -# ik* unibus interface to ikonas frame buffer -# ps* unibus interface to e&s picture system 2 -# ad* unibus interface to data translation a/d converter -# np* unibus ethernet co-processor interface, for downloading. -# qv* qvss (microvax) display -# ttyv0 qvss (microvax) display reserved pty -# lkm loadable kernel modules -# bpf* berkeley packet filter -# tun* network tunnel device -# ss* SCSI scanner -# uk* SCSI unknown -# ch* SCSI changer -# *random Random number generator -# altq ALTQ control interface -# +# audio* audio device +# openprom +# bpf* Berkeley Packet Filter +# pf* Packet Filter +# altq/ ALTQ control interface +# lkm loadable kernel modules interface +# tun* network tunnel driver +# *random inkernel random data source +# magma* magma card (makes 16 tty and 2 bpp) +# xfs* XFS filesystem devices +# raid* RAIDframe disk devices +# fd makes fd/* for the fdescfs +# ses* SES/SAF-TE SCSI devices PATH=/sbin:/usr/sbin:/bin:/usr/bin -set -A cnvtbl 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v -umask 77 -for i +T=$0 + +# set this to echo for Echo-Only debugging +[ "$eo" ] || eo= + +hex() +{ + case $1 in + [0-9]) echo -n $1;; + 10) echo -n a;; + 11) echo -n b;; + 12) echo -n c;; + 13) echo -n d;; + 14) echo -n e;; + 15) echo -n f;; + esac +} + +trunc() +{ + # XXX pdksh can't seem to deal with locally scoped variables + # in ${foo#$bar} expansions + arg1="$1" + arg2="$2" + case $3 in + l) echo ${arg2#$arg1} ;; + r|*) echo ${arg1#$arg2} ;; + esac +} + +unt() +{ + # XXX pdksh can't seem to deal with locally scoped variables + # in ${foo#$bar} expansions + arg="$1" + tmp="${arg#[a-zA-Z]*}" + tmp="${tmp%*[a-zA-Z]}" + while [ "$tmp" != "$arg" ] + do + arg=$tmp + tmp="${arg#[a-zA-Z]*}" + tmp="${tmp%*[a-zA-Z]}" + done + echo $arg +} + +dodisk() +{ + [ "$DEBUG" ] && set -x + n=$(($((${5}*${7:-16}))+${6})) count=0 + RMlist="$RMlist $1$2? r$1$2?" + [ 0$7 -ne 8 ] && l="i j k l m n o p" + for d in a b c d e f g h $l + do + M $1$2$d b $3 $(($n+$count)) 640 + M r$1$2$d c $4 $(($n+$count)) 640 + let count=count+1 + done + MKlist="$MKlist;chown root.operator $1$2? r$1$2?" +} + +dodisk2() +{ + n=$(($(($5*${7:-16}))+$6)) + M $1$2a b $3 $n 640 operator + M r$1$2a c $4 $n 640 operator + n=$(($n+2)) + M $1$2c b $3 $n 640 operator + M r$1$2c c $4 $n 640 operator +} + +# M name b/c major minor [mode] [group] +RMlist="rm -f" +MKlist=":" + +mkl() { + [ "${mklist[$1]}" ] && { + mklist[$1]="${mklist[$1]};mknod -m $1 $2 $3 $4 $5" + } || { + mklist[$1]="mknod -m $1 $2 $3 $4 $5" + modes="$modes $1" + } +} + +M() { + RMlist="$RMlist $1" + mkl ${5-666} $1 $2 $3 $4 + mklist="$mklist $1" + G=${6:-wheel} + [ "$7" ] && { + MKlist="$MKlist;chown $7.$G $1" + } || { + case $G in + wheel)g=0;;kmem)g=2;;operator)g=5;;tty)g=4;;dialer)g=117;; + esac + [ "${grplist[$g]}" ] && { + grplist[$g]="${grplist[$g]} $1" + } || { + groups="$groups $g" + grplist[$g]="chgrp $G $1" + } + } + return 0 +} + +R() { +[ "$DEBUG" ] && set -x +for i in "$@" do -case $i in - -all) - sh $0 std fd vnd0 ccd0 pty0 pty1 lkm random altq - sh $0 bpf0 bpf1 bpf2 bpf3 bpf4 bpf5 bpf6 bpf7 pf tun0 tun1 - sh $0 mt0 mt1 ts0 ts1 st0 st1 uk0 ss0 cd0 vt0 - sh $0 ra0 ra1 ra2 ra3 hp0 hp1 hp2 hp3 sd0 sd1 sd2 sd3 hd0 hd1 hd2 - sh $0 dz0 dl0 dhu0 rx0 rx1 raid0 raid1 raid2 raid3 - ;; - -floppy) - sh $0 std random - sh $0 sd0 sd1 - ;; +U=`unt $i` +[ "$U" ] || U=0 +case $i in ramdisk) - sh $0 std random - sh $0 rd0 sd0 sd1 sd2 sd3 ra0 ra1 ra2 rx0 cd0 st0 st1 - sh $0 bpf0 + R std random + R fd0 sd0 sd1 rd0 ;; std) - rm -f console drum floppy crl csa1 csa2 tu0 tu1 - rm -f kUmem kmem mem null zero tty klog ttyg[0-3] - rm -f stdin stdout stderr ksyms - mknod console c 0 0 - mknod ttyg0 c 25 0 - mknod ttyg1 c 25 1 - mknod ttyg2 c 25 2 - mknod ttyg3 c 25 3 - mknod drum c 7 0 ; chmod 640 drum ; chgrp kmem drum - mknod floppy c 8 0 - mknod crl c 35 0 - mknod csa1 c 51 0 - mknod csa2 c 51 1 - mknod tu0 b 8 0 - mknod tu1 b 8 1 - mknod kUmem c 3 3 ; chmod 600 kUmem - mknod kmem c 3 1 ; chmod 640 kmem ; chgrp kmem kmem - mknod mem c 3 0 ; chmod 640 mem ; chgrp kmem mem - mknod null c 3 2 ; chmod 666 null - mknod zero c 3 12 ; chmod 666 zero - mknod tty c 2 0 ; chmod 666 tty - mknod klog c 33 0 ; chmod 600 klog - mknod stdin c 53 0 ; chmod 666 stdin - mknod stdout c 53 1 ; chmod 666 stdout - mknod stderr c 53 2 ; chmod 666 stderr - mknod ksyms c 50 0 ; chmod 640 ksyms ; chown root.kmem ksyms - ;; - -fd) - rm -f fd/* - mkdir fd > /dev/null 2>&1 - n=0 - while [ $n -lt 64 ]; do - mknod fd/$n c 53 $n - n=$(($n + 1)) - done - chown -R root.wheel fd - chmod 755 fd - chmod 666 fd/* + M console c 0 0 600 + M tty c 2 0 + M mem c 3 0 640 kmem + M kmem c 3 1 640 kmem + M null c 3 2 + M zero c 3 12 + M stdin c 53 0 + M stdout c 53 1 + M stderr c 53 2 + M ksyms c 50 0 640 kmem + M drum c 7 0 640 kmem + M klog c 33 0 600 + M ttyg0 c 25 0 + M ttyg1 c 25 1 + M ttyg2 c 25 2 + M ttyg3 c 25 3 + M crl c 35 0 + M csa1 c 51 0 + M csa2 c 51 1 + M tu0 b 8 0 + M tu1 b 8 1 + M kUmem c 3 3 660 ;; ht*|tm*|mt*|ts*|ut*) case $i in - ht*) name=ht; unit=${i#ht}; blk=1; chr=5 ;; - mt*) name=mt; unit=${i#mt}; blk=15; chr=38;; - tm*) name=tm; unit=${i#tm}; blk=5; chr=14;; - ts*) name=ts; unit=${i#ts}; blk=6; chr=16;; - ut*) name=ut; unit=${i#ut}; blk=10; chr=17;; + ht*) n=ht b=1 c=5;; + mt*) n=mt b=15 c=38;; + tm*) n=tm b=5 c=14;; + ts*) n=ts b=6 c=16;; + ut*) n=ut b=10 c=17;; esac - case $unit in + case $U in [0-7]) - four=$(($unit + 4)) ; eight=$(($unit + 8)) - twelve=$(($unit + 12)) ; twenty=$(($unit + 20)) - rm -f $name$unit $name$four $name$eight $name$twelve \ - n$name$unit n$name$eight nr$name$unit nr$name$eight \ - r$name$unit r$name$four r$name$eight r$name$twelve - mknod $name$unit b $blk $unit - mknod $name$four b $blk $four - mknod $name$eight b $blk $eight - mknod $name$twelve b $blk $twelve - mknod n$name$unit b $blk $four ;: sanity w/pdp11 v7 - mknod n$name$eight b $blk $twelve ;: ditto - mknod nr$name$unit c $chr $four ;: sanity w/pdp11 v7 - mknod nr$name$eight c $chr $twelve ;: ditto - mknod r$name$unit c $chr $unit - mknod r$name$four c $chr $four - mknod r$name$eight c $chr $eight - mknod r$name$twelve c $chr $twelve - chown root.operator {,n,r,nr}$name{$unit,$eight} - chown root.operator {,r}$name{$four,$twelve} - chmod 660 {,n,r,nr}$name{$unit,$eight} - chmod 660 {,r}$name{$four,$twelve} - if [ $i = ut ] + four=$(($U+4)) eight=$(($U+8)) + twelve=$(($U+12)) twenty=$(($U+20)) + M $n$U b $b $U 660 operator + M $n$four b $b $four 660 operator + M $n$eight b $b $eight 660 operator + M $n$twelve b $b $twelve 660 operator + M n$n$four b $b $four 660 operator + M n$n$twelve b $b $twelve 660 operator + M nr$n$four c $c $four 660 operator + M nr$n$twelve c $c $twelve 660 operator + M r$n$U c $c $U 660 operator + M r$n$four c $c $four 660 operator + M r$n$eight c $c $eight 660 operator + M r$n$twelve c $c $twelve 660 operator + if [ $i = ut ]; : XXXX then - rm -f $name$twenty r$name$twenty - mknod $name$twenty b $blk $twenty - mknod r$name$twenty c $chr $twenty - chown root.operator {,r}$name$twenty - chmod 660 {,r}$name$twenty - fi - if [ ! -e rmt$eight ] # compatibility stuff - then - rm -f mt$unit mt$four mt$eight mt$twelve \ - nmt$unit nmt$eight nrmt$unit nrmt$eight \ - rmt$unit rmt$four rmt$eight rmt$twelve - ln -s $name$unit mt$unit - ln -s $name$four mt$four - ln -s $name$eight mt$eight - ln -s $name$twelve mt$twelve - ln -s n$name$unit nmt$unit - ln -s n$name$eight nmt$eight - ln -s nr$name$unit nrmt$unit - ln -s nr$name$eight nrmt$eight - ln -s r$name$unit rmt$unit - ln -s r$name$four rmt$four - ln -s r$name$eight rmt$eight - ln -s r$name$twelve rmt$twelve + M $n$twenty b $b $twenty 660 operator + M r$n$twenty c $b $twenty 660 operator fi + #RMlist="$RMlist mt$U mt$four mt$eight mt$twelve" + #RMlist="$RMlist nmt$U nmt$eight nrmt$eight" + #RMlist="$RMlist nrmt$unit nrmt$eight" + #RMlist="$RMlist rmt$unit rmt$four rmt$eight rmt$twelve" ;; *) - echo bad unit for tape in: $1 + echo bad unit for tape in: $i ;; esac umask 77 ;; -st*) - umask 2 - unit=${i#st}; blk=21; chr=60; - case $unit in - 0|1|2|3|4|5|6|7) - rm -f {e,}{n,}{r,}st${unit} - mknod st${unit} b $blk $(($unit * 16 + 0)) - mknod nst${unit} b $blk $(($unit * 16 + 1)) - mknod est${unit} b $blk $(($unit * 16 + 2)) - mknod enst${unit} b $blk $(($unit * 16 + 3)) - mknod rst${unit} c $chr $(($unit * 16 + 0)) - mknod nrst${unit} c $chr $(($unit * 16 + 1)) - mknod erst${unit} c $chr $(($unit * 16 + 2)) - mknod enrst${unit} c $chr $(($unit * 16 + 3)) - chown root.operator {e,}{n,}{r,}st${unit} - chmod 660 {e,}{n,}{r,}st${unit} - ;; - *) - echo bad tape unit: $i - $unit - ;; - esac - umask 77 +ses*) + M ses$U c 124 $U 640 operator ;; -mt*) - umask 0 ; unit=`expr $i : '..\(.*\)'` - case $i in - mt*) blk=7; chr=19;; - esac - case $unit in - 0|1|2|3|4|5|6|7) - eight=`expr $unit + 0`; - twelve=`expr $unit + 4`; - sixteen=`expr $unit + 8`; - twenty=`expr $unit + 12`; - rm -f mt8 mt12 mt16 mt20 nmt8 nrmt8 rmt8 rmt12 rmt16 rmt20 - rm -f nmt16 nrmt16 - mknod mt8 b $blk $eight - mknod mt12 b $blk $twelve - mknod mt16 b $blk $sixteen - mknod mt20 b $blk $twenty - mknod nmt8 b $blk $twelve ;: ditto - mknod nrmt8 c $chr $twelve ;: ditto - mknod rmt8 c $chr $eight - mknod rmt12 c $chr $twelve - mknod rmt16 c $chr $sixteen - mknod rmt20 c $chr $twenty - mknod nmt16 b $blk $twenty ;: ditto - mknod nrmt16 c $chr $twenty ;: ditto - chown root.operator {,n,r,nr}mt{8,16} - chown root.operator {,r}mt{12,20} - chmod 660 {,n,r,nr}mt{8,16} - chmod 660 {,r}mt{12,20} - ;; - *) - echo bad unit for tape in: $1 - ;; - esac - umask 77 - ;; - -random|srandom|urandom|prandom|arandom) - rm -f random urandom srandom prandom arandom - mknod random c 67 0 - mknod srandom c 67 1 - mknod urandom c 67 2 - mknod prandom c 67 3 - mknod arandom c 67 4 - chown root.wheel random srandom urandom prandom arandom - chmod 644 random srandom urandom prandom arandom - ;; - -vnd*) - umask 2 - unit=${i#vnd} - if [ -z "$unit" -o 0$unit -gt 7 ] - then - echo bad disk unit: $i - $unit - exit 127 - fi - blk=18; chr=55; - for name in vnd svnd; do - case $name in - vnd) off=0;; - svnd) off=128;; - esac - rm -f {r,}${name}${unit}[a-p] - minor=$(($unit * 16 + $off)) - for slice in a b c d e f g h i j k l m n o p - do - mknod ${name}${unit}${slice} b $blk $minor - mknod r${name}${unit}${slice} c $chr $minor - minor=$(($minor + 1)) - done - chown root.operator {r,}${name}${unit}? - chmod 640 {r,}${name}${unit}? - done - umask 77 +fd) + RMlist="mkdir -p fd;$RMlist" n=0 + while [ $n -lt 64 ];do M fd/$n c 53 $n;n=$(($n+1));done + MKlist="$MKlist;chmod 555 fd" ;; -hp*|hk*|up*|ra*|rl*|rb*|ccd*|hd*|sd*|rx*|raid*) - umask 2 - case $i in - hp*) name=hp; unit=${i#hp}; blk=0; chr=4;; - hk*) name=hk; unit=${i#hk}; blk=3; chr=11;; - up*) name=up; unit=${i#up}; blk=2; chr=13;; - raid*) name=raid; unit=${i#raid}; blk=25; chr=73;; - ra*) name=ra; unit=${i#ra}; blk=9; chr=9;; - rb*) name=rb; unit=${i#rb}; blk=11; chr=23;; - rx*) name=rx; unit=${i#rx}; blk=12; chr=30;; - rl*) name=rl; unit=${i#rl}; blk=14; chr=32;; - ccd*) name=ccd; unit=${i#ccd}; blk=17; chr=54;; - hd*) name=hd; unit=${i#hd}; blk=19; chr=58;; - sd*) name=sd; unit=${i#sd}; blk=20; chr=59;; - esac - case $unit in - [0-9]|[12][0-9]|3[01]) - minor=$(($unit * 16)) - rm -f {r,}${name}${unit}[a-p] - for slice in a b c d e f g h i j k l m n o p - do - mknod ${name}${unit}${slice} b $blk $minor - mknod r${name}${unit}${slice} c $chr $minor - minor=$(($minor + 1)) - done - chgrp operator ${name}${unit}[a-p] r${name}${unit}[a-p] - chmod 640 ${name}${unit}[a-p] r${name}${unit}[a-p] - ;; - *) - echo bad unit for disk in: $i - ;; - esac - umask 77 +xfs*) + M xfs$U c 51 $U 600 ;; -cd*) - case $i in - cd*) name=cd; unit=${i#cd}; chr=61; blk=22;; +magma*) + case $U in + 0) offset=0 nam=m;; + 1) offset=16 nam=n;; + 2) offset=32 nam=o;; + *) echo "bad unit for $i: $U"; exit 127;; esac - rm -f {r,}${name}${unit}{a,c} - mknod ${name}${unit}a b $blk $(($unit * 16 + 0)) - mknod ${name}${unit}c b $blk $(($unit * 16 + 2)) - mknod r${name}${unit}a c $chr $(($unit * 16 + 0)) - mknod r${name}${unit}c c $chr $(($unit * 16 + 2)) - chgrp operator {r,}${name}${unit}? - chmod 640 {r,}${name}${unit}? + offset=$(($U*64)) + n=0 + while [ $n -lt 16 ] + do + name=${nam}`hex $n` + M tty$name c major_mag_c $(($offset+$n)) 660 dialer uucp + n=$(($n+1)) + done + M bpp${nam}0 c major_bppmag_c $(($offset+0)) 600 + M bpp${nam}1 c major_bppmag_c $(($offset+1)) 600 ;; -ss*) - case $i in - ss*) name=ss; unit=${i#ss}; chr=64;; - esac - rm -f {,n,en}${name}${unit} - mknod $name$unit c $chr $(($unit * 16 + 0)) - mknod n$name$unit c $chr $(($unit * 16 + 1)) - mknod en$name$unit c $chr $(($unit * 16 + 3)) - chgrp operator {,n,en}${name}${unit} - chmod 640 {,n,en}${name}${unit} +*random) + n=0 + for pre in " " s u p a + do + M ${pre}random c 119 $n 644 + n=$(($n+1)) + done ;; -ch*|uk*) - case $i in - ch*) name=ch; unit=${i#ch}; chr=63;; - uk*) name=uk; unit=${i#uk}; chr=65;; - esac - rm -f $name$unit - mknod $name$unit c $chr $unit - chgrp operator $name$unit - chmod 640 $name$unit +tun*) + M tun$U c 111 $U 600 ;; -rd*) - unit=${i#rd}; blk=23; chr=62; - rm -f rd${unit}{a,c} #rrd${unit}{a,c} - mknod rd${unit}a b $blk $(($unit * 16 + 0)) - mknod rd${unit}c b $blk $(($unit * 16 + 2)) -# mknod rrd${unit}a c $chr $(($unit * 16 + 0)) -# mknod rrd${unit}c c $chr $(($unit * 16 + 2)) - chgrp operator rd${unit}? #rrd${unit}? - chmod 640 rd${unit}? #rrd${unit}? +lkm) + M lkm c 112 0 640 kmem ;; -uu*) - unit=${i#uu} - name=uu; blk=13; - case $unit in - [0-3]) - rm -f ${name}${unit}{,a} - mknod ${name}${unit} b $blk $(($unit * 2 + 0)) - mknod ${name}${unit}a b $blk $(($unit * 2 + 1)) - ;; - *) - echo bad unit for uu cassette in: $i - ;; - esac +altq) + RMlist="mkdir -p altq;$RMlist" + for d in altq cbq wfq afm fifoq red rio localq hfsc cdnr blue priq; do + M altq/$d c 75 $U 644 + U=$(($U+1)) + done ;; -dz*) - unit=${i#dz}; - case $unit in - [0-7]) - i=0 - while [ $i -lt 8 ]; do - no=$(($unit * 8 + $i)) - if [ $no -lt 10 ]; then - no="0${no}" - fi - rm -f tty${no} - mknod tty${no} c 1 $no - i=$(($i + 1)) - done - ;; - *) - echo bad unit for dz in: $i - ;; - esac +pf*) + M pf c 42 0 600 ;; -dhu*|dh*|dmf*|dmz*|vt*) - case $i in - vt*) name=vt; major=68; count=8; - unit=${i#vt} - case $unit in - 0) ch=w ;; - *) echo bad unit for $name in: $i ;; - esac;; - dmz*) name=dmz; major=37; count=24; - unit=${i#dmz} - case $unit in - 0) ch=a ;; 1) ch=b ;; 2) ch=c ;; 3) ch=e ;; 4) ch=f ;; - *) echo bad unit for $name in: $i ;; - esac;; - dmf*) name=dmf; major=22; count=8; - unit=${i#dmf} - case $unit in - 0) ch=A ;; 1) ch=B ;; 2) ch=C ;; 3) ch=E ;; - 4) ch=F ;; 5) ch=G ;; 6) ch=H ;; 7) ch=I ;; - *) echo bad unit for $name in: $i ;; - esac;; - dhu*) name=dhu; major=34; count=16; - unit=${i#dhu} - case $unit in - 0) ch=S ;; 1) ch=T ;; 2) ch=U ;; 3) ch=V ;; - 4) ch=W ;; 5) ch=X ;; 6) ch=Y ;; 7) ch=Z ;; - *) echo bad unit for $name in: $i ;; - esac;; - dh*) name=dh; major=12; count=16; - unit=${i#dh} - case $unit in - 0) ch=h ;; 1) ch=i ;; 2) ch=j ;; 3) ch=k ;; - 4) ch=l ;; 5) ch=m ;; 6) ch=n ;; 7) ch=o ;; - *) echo bad unit for $name in: $i ;; - esac;; - esac - i=0 - while [ $i -lt $count ]; do - let=${cnvtbl[$i]} - if [ -n "$let" ] ;then - rm -f tty${ch}${let} - mknod tty${ch}${let} c $major $(($unit * $count + $i)) - else - echo bad count for ${name}: $unit, $count, $i - fi - i=$(($i + 1)) - done - +bpf*) + M bpf$U c 56 $U 600 ;; -dl*) - unit=${i#dl} - major=66 - let=${cnvtbl[$unit]} - if [ -n "$let" ] ;then - rm -f ttyJ${let} - mknod ttyJ${let} c $major $unit - else - echo bad number for ${name}: $unit - fi +openprom) + M openprom c 70 0 ;; -lp*|va*|vp*) - case $i in - lp*) name=lp; unit=${i#lp}; major=15;; - va*) name=va; unit=${i#va}; major=10;; - vp*) name=vp; unit=${i#vp}; major=6;; - esac - case $unit in - [0-7]) - rm -f $i - mknod $i c $major $unit; - chmod 666 $i - ;; - *) - echo bad unit for $name in: $i - ;; - esac +audio*) + M sound$U c 69 $U + M mixer$U c 69 $(($U+16)) + M audio$U c 69 $(($U+128)) + M audioctl$U c 69 $(($U+192)) + MKlist="$MKlist;[ -e audio ] || ln -s audio$U audio" + MKlist="$MKlist;[ -e mixer ] || ln -s mixer$U mixer" + MKlist="$MKlist;[ -e sound ] || ln -s sound$U sound" + MKlist="$MKlist;[ -e audioctl ] || ln -s audioctl$U audioctl" ;; pty*) - class=${i#pty}; - case $class in - 0) name=p;; - 1) name=q;; - 2) name=r;; - 3) name=s;; - 4) name=t;; - 5) name=u;; - 6) name=v - echo "$0: $i: pty unit conflicts with another use." - continue;; - 7) name=w;; - 8) name=x;; - 9) name=y;; - 10) name=z;; - 11) name=P;; - 12) name=Q;; - 13) name=R;; - 14) name=S;; - 15) name=T;; - *) echo "$0: $i: pty unit must be between 0 and 15" - continue ;; + case $U in + 0) off=0 name=p;; + 1) off=16 name=q;; + 2) off=32 name=r;; + 3) off=48 name=s;; + 4) off=64 name=t;; + 5) off=80 name=u;; + 6) off=96 name=v;; + 7) off=112 name=w;; + 8) off=128 name=x;; + 9) off=144 name=y;; + 10) off=160 name=z;; + 11) off=176 name=P;; + 12) off=192 name=Q;; + 13) off=206 name=R;; + 14) off=224 name=S;; + 15) off=240 name=T;; + *) echo bad unit for pty in: $i; continue;; esac - rm -f tty$name[0-9a-f] pty$name[0-9a-f] - for j in 0 1 2 3 4 5 6 7 8 9 a b c d e f + n=0 + while [ $n -lt 16 ] do - case $j in - [0-9]) jn=$j ;; - a) jn=10 ;; - b) jn=11 ;; - c) jn=12 ;; - d) jn=13 ;; - e) jn=14 ;; - f) jn=15 ;; - esac - unit=$(($class * 16 + $jn)) - mknod tty$name$j c 20 $unit - mknod pty$name$j c 21 $unit + nam=$name$(hex $n) + M tty$nam c 20 $(($off+$n)) + M pty$nam c 21 $(($off+$n)) + n=$(($n+1)) done - chgrp wheel tty$name? pty$name? - chmod 666 tty$name? pty$name? ;; -np*) - class=${i#np} - case $class in - 0) offset=0 name=0;; - 1) offset=16 name=1;; - 2) offset=32 name=2;; - *) echo bad unit for np in: $i;; +vnd*) + dodisk vnd $U 8 55 $U 0 + dodisk svnd $U 8 55 $U 128 + ;; + +fd*) + typnam=$U${i#fd[01]*} + case $typnam in + 0|1) typnum=0;; # no type specified, assume A + *A) typnum=0; typnam=0;; + *B) typnum=1;; + *C) typnum=2;; + *D) typnum=3;; + *E) typnum=4;; + *F) typnum=5;; + *G) typnum=6;; + *H) typnum=7;; + *) echo bad type $typnam for $i; exit 1;; esac - case $class in - 0|1|2) - i=0 - while [ $i -lt 4 ]; do - no=$(($offset + $i)) - if [ $no -lt 10 ]; then - no="0${no}" - fi - rm -f np${no} - mknod np${no} c 39 $no - i=$(($i + 1)) - done + case $U in + 0|1) blk=16; chr=54;; + *) echo bad unit $U for $i; exit 1;; esac + nam=fd${typnam} + n=$(($(($U*128))+$(($typnum*16)))) + M ${nam}a b $blk $n 640 operator + M ${nam}b b $blk $(($n+1)) 640 operator + M ${nam}c b $blk $(($n+2)) 640 operator + M r${nam}a c $chr $n 640 operator + M r${nam}b c $chr $(($n+1)) 640 operator + M r${nam}c c $chr $(($n+2)) 640 operator ;; -dn*|ik*|ps*|ad*|ct*) - case $i in - ct*) name=ct; unit=${i#ct}; chr=18;; - dn*) name=cu; unit=${i#dn}; chr=24;; - ps*) name=ps; unit=${i#ps}; chr=27;; - ad*) name=ad; unit=${i#ad}; chr=29;; - ik*) name=ik; unit=${i#ik}; chr=31;; - esac - case $unit in - [0-7]) - umask 0 - rm -f ${name}${unit} - mknod ${name}${unit} c ${chr} ${unit} - umask 77 - ;; - *) - echo bad unit for ${name} in: $i - ;; - esac - ;; - -bpf*) - unit=${i#bpf}; - rm -f bpf$unit - mknod bpf$unit c 56 $unit - chmod 600 bpf$unit - chown root.wheel bpf$unit +rd*) + dodisk2 rd $U 23 106 $U 0 ;; -qd*) - unit=${i#qd} - rm -f q{c,d}$unit - mknod qc$unit c 40 $(($unit * 4)) - mknod qd$unit c 40 $(($unit * 4 + 2)) +ss*) + M ss$U c 121 $U 440 operator + RMlist="$RMlist scan$U" + MKlist="$MKlist;umask 77;ln -s ss$U scan$U" ;; -pf) - rm -f pf - mknod pf c 42 0 - chown root.wheel pf - chmod 600 pf +uk*) + M uk$U c 120 $U 640 operator ;; -tun*) - unit=${i#tun} - rm -f tun$unit - mknod tun$unit c 57 $unit - chmod 600 tun$unit - chown root.wheel tun$unit +ch*) + M ch$U c 19 $U 660 operator ;; -lkm) - rm -f lkm - mknod lkm c 28 0 - chown root.kmem lkm - chmod 640 lkm +cd*) + dodisk2 cd $U 22 58 $U 0 ;; -qv0) - rm -f qv0 qvcons mouse - mknod qv0 c 40 0 - mknod qvcons c 40 1 - mknod mouse c 40 2 +st*) + n=$(($U*16)) + for pre in " " n e en + do + M ${pre}st$U b 21 $n 660 operator + M ${pre}rst$U c 38 $n 660 operator + n=$(($n+1)) + done ;; -ttyv0) - if [ ! -f ttyqe ]; then sh ./$0 pty1; fi - mv ttyqf ttyv0 - mv ptyqf ptyv0 +local) + test -s $T.local && sh $T.local ;; -altq) - mkdir -p altq - chmod 755 altq - unit=0 - for dev in altq cbq wfq afm fifoq red rio localq hfsc \ - cdnr blue priq; do - rm -f altq/$dev - mknod altq/$dev c 75 $unit - chmod 644 altq/$dev - unit=$(($unit + 1)) - done +all) + R audio0 xfs0 ss0 ss1 uk0 ses0 rndrandom lkm pf altq tun0 + R tun1 tun2 tun3 bpf0 bpf1 bpf2 bpf3 bpf4 bpf5 bpf6 bpf7 bpf8 + R bpf9 fd1 fd1B fd1C fd1D fd1E fd1F fd1G fd1H fd0 fd0B fd0C + R fd0D fd0E fd0F fd0G fd0H xd0 xd1 xd2 xd3 xy0 xy1 xy2 xy3 ut0 + R up0 up1 up2 up3 ts0 tm0 rx0 rx1 rl0 rl1 rl2 rl3 rb0 rb1 rb2 + R rb3 ra0 ra1 ra2 ra3 ht0 hp0 hp1 hp2 hp3 hk0 hk1 hk2 hk3 rd0 + R hd0 hd1 hd2 hd3 hd4 raid0 raid1 raid2 raid3 ccd0 ccd1 ccd2 + R ccd3 vnd0 vnd1 vnd2 vnd3 std cd0 cd1 ch0 st0 st1 pty0 pty1 + R fd sd0 sd1 sd2 sd3 sd4 + ;; + +up*|xd*|xy*|sd*|rx*|rl*|rb*|raid*|ra*|hp*|hk*|hd*|ccd*) + case $i in + up*) dodisk up $U 2 13 $U 0;; + xd*) dodisk xd $U 10 42 $U 0;; + xy*) dodisk xy $U 3 9 $U 0;; + sd*) dodisk sd $U 20 59 $U 0;; + rx*) dodisk rx $U 12 30 $U 0;; + rl*) dodisk rl $U 14 32 $U 0;; + rb*) dodisk rb $U 11 23 $U 0;; + raid*) dodisk raid $U 25 73 $U 0;; + ra*) dodisk ra $U 9 9 $U 0;; + hp*) dodisk hp $U 0 4 $U 0;; + hk*) dodisk hk $U 3 11 $U 0;; + hd*) dodisk hd $U 19 58 $U 0;; + ccd*) dodisk ccd $U 17 54 $U 0;; + esac ;; -local) - umask 0 - sh $0.local all - umask 77 - ;; *) - echo $i: invalid device + echo $i: unknown device ;; - esac done +} +R "$@" +if [ "$os" = "SunOS" ]; then + eo=transform + transform() { + case $mode in + 600) mask=077;; + 640) mask=027;; + 660) mask=007;; + 644) mask=022;; + 666) mask=0;; + 440) mask=227;; + esac + echo `echo "$@"|sed \ + 's/mknod -m \([0-9]*\) /umask '$mask';mknod /;s/-m [0-9]* //g;\ + s/operator/5/g;s/root.kmem/root.2/g;s/root\./root:/g'` + } +fi +list="$RMlist" +for mode in $modes; do + list="$list;${mklist[$mode]}" +done +for group in $groups; do + list="$list;${grplist[$group]}" +done +list="$list;$MKlist" +if [ "$eo" = "echo" -o "$eo" = "transform" ]; then + $eo "$list" +else + echo "$list" | sh +fi |