summaryrefslogtreecommitdiff
path: root/etc
diff options
context:
space:
mode:
authorHugh Graham <hugh@cvs.openbsd.org>2002-02-14 22:53:12 +0000
committerHugh Graham <hugh@cvs.openbsd.org>2002-02-14 22:53:12 +0000
commit3d9e0132d4af501fcdfab9159a0ba658abe56597 (patch)
treed345f52992e82d3a9da552b84b8211bc5dcd94aa /etc
parent6ebf37b40b026be2b4d79c33068a6008e56c2eb3 (diff)
M4 generated MAKEDEV still premature.
Diffstat (limited to 'etc')
-rw-r--r--etc/etc.vax/MAKEDEV969
1 files changed, 525 insertions, 444 deletions
diff --git a/etc/etc.vax/MAKEDEV b/etc/etc.vax/MAKEDEV
index ced8351698d..81432279425 100644
--- a/etc/etc.vax/MAKEDEV
+++ b/etc/etc.vax/MAKEDEV
@@ -1,399 +1,451 @@
#!/bin/sh -
#
-# THIS FILE AUTOMATICALLY GENERATED. DO NOT EDIT.
-# generated from:
+# $OpenBSD: MAKEDEV,v 1.41 2002/02/14 22:53:11 hugh Exp $
+# $NetBSD: MAKEDEV,v 1.30 2000/01/21 12:28:29 tsutsui Exp $
#
-# OpenBSD: etc.vax/MAKEDEV.md,v 1.5 2002/02/14 17:44:38 todd Exp
-# OpenBSD: MAKEDEV.mi,v 1.31 2002/02/14 17:44:38 todd Exp
-# OpenBSD: MAKEDEV.sub,v 1.6 2002/02/14 05:50:37 todd Exp
+# @(#)MAKEDEV 8.1 (Berkeley) 6/9/93
#
-# $OpenBSD: MAKEDEV,v 1.40 2002/02/14 17:46:15 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* massbuss rm??
+# hp* massbus rm??
# hk* unibus rk06 and rk07
# up* other unibus devices (e.g. on Emulex sc-21v controller)
# ra* MSCP disks (ra??, hd??)
-# rb* 730 idc w/ rb80 and/or rb02
# rx* MSCP floppy disk (rx33/50/...)
-# rl* unibus r102
-# hd* HP300 HP-IB disks
-# sd* SCSI disks
-# cd* SCSI cdrom drives
-# ch* SCSI media changer
-# ss* SCSI scanners
-# uk* SCSI Unknown device
-# xy* Xylogic 450/451 disks
-# rd* "ramdisk" pseudo-disks
-# xd* Xylogic 753/7053 disks
-# fd* Floppy disk drives (3 1/2", 5 1/4")
+# rl* unibus rl02
+# rb* 730 idc w/ rb80 and/or rb02
+# ccd* "concatenated" pseudo-disks
+# raid* RAIDframe disk driver
# vnd* "file" pseudo-disks
-# ccd* concatenated disk devices
-# Pseudo terminals:
-# tty* set of 16 slave psuedo terminals
-# pty* set of 16 master pseudo terminals
-# Printers:
-# Terminal ports:
-# dhu* unibus dhu11
+# rd* memory pseudo-disk devices
+# 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
-# dmz* unibus dmz32
-# vt* console
-# dz* unibus dz11 and dz32
+# dhu* unibus dhu11
+# dmz* unibus dmz32
# dl* unibus dl11
+# Pseudo terminals:
+# pty* set of 16 master and slave 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)
# Special purpose devices:
-# 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
+# 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
+#
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 "$@"
+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
do
-U=`unt $i`
-[ "$U" ] || U=0
-
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
+ ;;
+
ramdisk)
- R std random
- R fd0 sd0 sd1 rd0
+ sh $0 std random
+ sh $0 rd0 sd0 sd1 sd2 sd3 ra0 ra1 ra2 rx0 cd0 st0 st1
+ sh $0 bpf0
;;
std)
- 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 600
- M ttyg1 c 25 1 600
- M ttyg2 c 25 2 600
- M ttyg3 c 25 3 600
- M crl c 35 0 600
- M csa1 c 51 0 600
- M csa2 c 51 1 600
- M tu0 b 8 0 600
- M tu1 b 8 1 600
- M floppy c 8 0 600
- M kUmem c 3 3 600
+ 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/*
;;
ht*|tm*|mt*|ts*|ut*)
case $i in
- 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;;
+ 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;;
esac
- case $U in
+ case $unit in
[0-7])
- 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$U b $b $four 660 operator;: sanity w/pdp11 v7
- M n$n$eight b $b $twelve 660 operator;: ditto
- M nr$n$U c $c $four 660 operator;: ditto
- M nr$n$twelve c $c $twelve 660 operator;: ditto
- 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" ];
+ 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 ]
then
- M $n$twenty b $b $twenty 660 operator
- M r$n$twenty c $b $twenty 660 operator
+ 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
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: $i
+ echo bad unit for tape in: $1
;;
esac
umask 77
;;
-ses*)
- M ses$U c 124 $U 640 operator
- ;;
-
-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"
+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
;;
-xfs*)
- M xfs$U c 51 $U 600
+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
;;
-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
- 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
+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
;;
-*random)
- n=0
- for pre in " " s u p a
- do
- M ${pre}random c 67 $n 644
- n=$(($n+1))
+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
;;
-tun*)
- M tun$U c 57 $U 600
+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
;;
-lkm)
- M lkm c 28 0 640 kmem
+cd*)
+ case $i in
+ cd*) name=cd; unit=${i#cd}; chr=61; blk=22;;
+ 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}?
;;
-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
+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}
;;
-pf*)
- M pf c 42 0 600
+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
;;
-bpf*)
- M bpf$U c 56 $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}?
;;
-openprom)
- M openprom c 70 0
+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
;;
dz*)
- case $U in
- [0-7])
- i=0
- while [ $i -lt 8 ]; do
- no=$(($(($U*8))+$i))
- if [ $no -lt 10 ]; then
- no="0${no}"
- fi
- M tty${no} c 1 $no 600
- let i=i+1
- done
- ;;
+ 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
+ echo bad unit for dz in: $i
+ ;;
+ esac
;;
-dhu*|dmz*|dmf*|dh*|vt*)
- 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
+dhu*|dh*|dmf*|dmz*|vt*)
case $i in
- vt*) name=vt; major=68; count=8;
- case $U 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;
- case $U in
+ 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;
- case $U in
+ 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;
- case $U in
+ 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;
- case $U in
+ 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 ;;
@@ -403,176 +455,205 @@ dhu*|dmz*|dmf*|dh*|vt*)
while [ $i -lt $count ]; do
let=${cnvtbl[$i]}
if [ -n "$let" ] ;then
- M tty${ch}${let} c $major $(($(($U*$count))+$i)) 600
+ rm -f tty${ch}${let}
+ mknod tty${ch}${let} c $major $(($unit * $count + $i))
else
- echo bad count for ${name}: $U, $count, $i
+ echo bad count for ${name}: $unit, $count, $i
fi
- let i=i+1
+ i=$(($i + 1))
done
+
;;
dl*)
+ unit=${i#dl}
major=66
- let=${cnvtbl[$U]}
+ let=${cnvtbl[$unit]}
if [ -n "$let" ] ;then
- M ttyJ${let} c $major $U 600
+ rm -f ttyJ${let}
+ mknod ttyJ${let} c $major $unit
else
- echo bad number for ${name}: $U
+ echo bad number for ${name}: $unit
fi
;;
+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
+ ;;
+
pty*)
- if [ $U -gt 15 ]; then
- echo bad unit for pty in: $i
- continue
- fi
- set -A tbl p q r s t u v w x y z P Q R S T
- name=${tbl[$U]}
- n=0
- while [ $n -lt 16 ]
+ 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 ;;
+ 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
do
- nam=$name$(hex $n)
- off=$(($U*16))
- M tty$nam c 20 $(($off+$n))
- M pty$nam c 21 $(($off+$n))
- n=$(($n+1))
+ 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
done
+ chgrp wheel tty$name? pty$name?
+ chmod 666 tty$name? pty$name?
;;
-vnd*)
- dodisk vnd $U 18 55 $U 0
- dodisk svnd $U 18 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;;
+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;;
esac
- case $U in
- 0|1) blk=16; chr=54;;
- *) echo bad unit $U for $i; exit 1;;
+ 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
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
;;
-rd*)
- dodisk2 rd $U 23 106 $U 0
+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
;;
-uk*)
- M uk$U c 65 $U 640 operator
+bpf*)
+ unit=${i#bpf};
+ rm -f bpf$unit
+ mknod bpf$unit c 56 $unit
+ chmod 600 bpf$unit
+ chown root.wheel bpf$unit
;;
-ss*)
- M ss$U c 64 $(($U*16)) 640 operator
- M nss$U c 64 $(($(($U*16))+1)) 640 operator
- M enss$U c 64 $(($(($U*16))+3)) 640 operator
- RMlist="$RMlist scan$U"
- MKlist="$MKlist;umask 77;ln -s ss$U scan$U"
+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))
;;
-ch*)
- M ch$U c 63 $U 660 operator
+pf)
+ rm -f pf
+ mknod pf c 42 0
+ chown root.wheel pf
+ chmod 600 pf
;;
-cd*)
- dodisk2 cd $U 22 61 $U 0
+tun*)
+ unit=${i#tun}
+ rm -f tun$unit
+ mknod tun$unit c 57 $unit
+ chmod 600 tun$unit
+ chown root.wheel tun$unit
;;
-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 60 $n 660 operator
- n=$(($n+1))
- done
+lkm)
+ rm -f lkm
+ mknod lkm c 28 0
+ chown root.kmem lkm
+ chmod 640 lkm
;;
-local)
- test -s $T.local && sh $T.local
+qv0)
+ rm -f qv0 qvcons mouse
+ mknod qv0 c 40 0
+ mknod qvcons c 40 1
+ mknod mouse c 40 2
;;
-all)
- R vt0 dl0 dz0 dh0 dmf0 dmz0 dhu0 ts0 ts1 mt0 mt1 hd0 hd1 hd2
- R xfs0 ss0 ss1 uk0 ses0 rndrandom lkm pf altq tun0 tun1 tun2
- R tun3 bpf0 bpf1 bpf2 bpf3 bpf4 bpf5 bpf6 bpf7 bpf8 bpf9 fd1
- R fd1B fd1C fd1D fd1E fd1F fd1G fd1H fd0 fd0B fd0C fd0D fd0E
- R fd0F fd0G fd0H xd0 xd1 xd2 xd3 xy0 xy1 xy2 xy3 ut0 up0 up1
- R up2 up3 tm0 rx0 rx1 rl0 rl1 rl2 rl3 rb0 rb1 rb2 rb3 ra0 ra1
- R ra2 ra3 ht0 hp0 hp1 hp2 hp3 hk0 hk1 hk2 hk3 rd0 raid0 raid1
- R raid2 raid3 ccd0 ccd1 ccd2 ccd3 vnd0 vnd1 vnd2 vnd3 std cd0
- R cd1 ch0 st0 st1 pty0 pty1 pty2 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
+ttyv0)
+ if [ ! -f ttyqe ]; then sh ./$0 pty1; fi
+ mv ttyqf ttyv0
+ mv ptyqf ptyv0
+ ;;
+
+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
;;
+local)
+ umask 0
+ sh $0.local all
+ umask 77
+ ;;
*)
- echo $i: unknown device
+ echo $i: invalid 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