From 5b93281a7bde57e0d09d0f8aca3ae86f6c14bac0 Mon Sep 17 00:00:00 2001 From: miod <> Date: Wed, 17 Apr 2002 22:54:22 +0000 Subject: [PATCH] Regen mvme68k MAKEDEV, and add it to the list of m4 MAKEDEV enabled arches. --- src/etc/Makefile | 4 +- src/etc/etc.mvme68k/MAKEDEV | 767 +++++++++++++++++------------------- 2 files changed, 354 insertions(+), 417 deletions(-) diff --git a/src/etc/Makefile b/src/etc/Makefile index 1ddedfba..97a1e4e6 100644 --- a/src/etc/Makefile +++ b/src/etc/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.155 2002/04/03 20:56:36 deraadt Exp $ +# $OpenBSD: Makefile,v 1.156 2002/04/17 22:54:20 miod Exp $ TZDIR= /usr/share/zoneinfo LOCALTIME= US/Pacific @@ -329,7 +329,7 @@ MAKEDEVARCHS+= hppa MAKEDEVARCHS+= i386 MAKEDEVARCHS+= mac68k MAKEDEVARCHS+= macppc -#MAKEDEVARCHS+= mvme68k +MAKEDEVARCHS+= mvme68k #MAKEDEVARCHS+= mvme88k #MAKEDEVARCHS+= mvmeppc MAKEDEVARCHS+= sparc diff --git a/src/etc/etc.mvme68k/MAKEDEV b/src/etc/etc.mvme68k/MAKEDEV index 8d76a00a..a47bb690 100644 --- a/src/etc/etc.mvme68k/MAKEDEV +++ b/src/etc/etc.mvme68k/MAKEDEV @@ -1,8 +1,15 @@ #!/bin/sh - # -# $OpenBSD: MAKEDEV,v 1.40 2002/04/14 23:26:46 deraadt Exp $ +# THIS FILE AUTOMATICALLY GENERATED. DO NOT EDIT. +# generated from: # -# Copyright (c) 1990 The Regents of the University of California. +# OpenBSD: etc.mvme68k/MAKEDEV.md,v 1.3 2002/04/17 22:53:37 miod Exp +# OpenBSD: MAKEDEV.mi,v 1.44 2002/04/17 22:53:04 miod Exp +# OpenBSD: MAKEDEV.sub,v 1.7 2002/02/16 01:19:52 deraadt Exp +# +# $OpenBSD: MAKEDEV,v 1.41 2002/04/17 22:54:22 miod Exp $ +# +# Copyright (c) 2001,2002 Todd T. Fries # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -10,483 +17,382 @@ # 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. -# -# $OpenBSD: MAKEDEV,v 1.40 2002/04/14 23:26:46 deraadt Exp $ +# 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. -# fd makes fd/* for the fdescfs. +# all makes all known devices, including local devices. +# Tries to make the ``standard'' number of each type. +# ramdisk makes all devices for a ramdisk kernel # std standard devices # local configuration specific devices -# # Tapes: # st* SCSI tapes -# # Disks: -# fd* Floppy disks -# sd* SCSI disks, includes flopticals -# cd* SCSI cdrom discs +# sd* SCSI disks +# cd* SCSI cdrom drives +# ccd* concatenated disk devices # vnd* "file" pseudo-disks -# ccd* concatenated disk driver -# +# rd* "rd" pseudo-disks # Terminal ports: -# ttya,b,c,d standard serial port. -# tty0? cl-cd serial ports -# ttyw? willowglen vme cl-cd serial ports -# +# ttya-d standard serial ports +# cuaa-d standard call-up devices +# tty0* CL-CD2400 serial ports +# ttyw* WG CL-CD2400 serial ports # 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: -# lp0 MVME147 parallel port -# lptwo0 MVME16x parallel port -# +# par0 Printer port # Special purpose devices: -# lkm loadable kernel modules interface. +# uk* SCSI Unknown device +# ss* SCSI scanners +# fd makes fd/* for the fdescfs # bpf* Berkeley Packet Filter -# *random inkernel random number generator # tun* network tunnel driver -# uk* unknown SCSI -# ss* SCSI scanners -# altq ALTQ control interface -# -# Machine specific devices: -# sram static ram available on some models. -# nvram non-volatile ram -# flash flash ram available on some models. -# bugtty (depricated) -# vmel 32-bit vme interface -# vmes 16-bit vme interface - -PATH=/sbin:/bin:/usr/sbin:/usr/bin -umask 77 -for i +# pf* Packet Filter +# lkm loadable kernel modules interface +# *random inkernel random data source +# altq/ ALTQ control interface +# xfs* XFS filesystem devices +# sram0 static memory access +# nvram0 non-volatile memory access +# flash0 flash memory access +# vmes0 VMEbus access +# vmel0 VMEbus access +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 -all) - sh MAKEDEV std fd st0 ttya ttyb ttyc ttyd - sh MAKEDEV tty00 tty01 tty02 tty03 - sh MAKEDEV ttyw0 - sh MAKEDEV sd0 sd1 sd2 sd3 sd4 sd5 sd6 sd7 sd8 sd9 - sh MAKEDEV vnd0 vnd1 pty0 cd0 - sh MAKEDEV bpf0 bpf1 bpf2 bpf3 bpf4 bpf5 bpf6 bpf7 bpf8 bpf9 - #sh MAKEDEV ccd0 ccd1 ccd2 ccd3 - sh MAKEDEV pf tun0 tun1 lkm local - sh MAKEDEV sram0 nvram0 flash0 vmel0 vmes0 - #sh MAKEDEV lp0 lptwo0 - sh MAKEDEV random - sh MAKEDEV uk0 uk1 - sh MAKEDEV ss0 altq +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 43 0 640 kmem + M drum c 3 0 640 kmem + M klog c 6 0 600 ;; -std) - rm -f console drum kmem mem null zero tty - rm -f 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 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 + +vmel0) + M vmel0 c 31 0 640 kmem ;; -ramdisk) - sh MAKEDEV std fd st0 ttya rd0 - sh MAKEDEV tty00 tty01 tty02 tty03 - sh MAKEDEV sd0 sd1 sd2 sd3 cd0 - sh MAKEDEV local random +vmes0) + M vmes0 c 32 0 640 kmem ;; -fd) - rm -f fd/* - mkdir fd > /dev/null 2>&1 - (cd fd && eval `echo "" | awk ' BEGIN { \ - for (i = 0; i < 64; i++) \ - printf("mknod %d c 21 %d;", i, i)}'`) - chown -R root.wheel fd - chmod 555 fd - chmod 666 fd/* +flash0) + M flash0 c 11 0 640 kmem ;; -st*) - umask 2 ; unit=`expr $i : '..\(.*\)'` - case $i in - st*) name=st; blk=7; chr=20;; - esac - rm -f $name$unit n$name$unit e$name$unit en$name$unit \ - r$name$unit nr$name$unit er$name$unit enr$name$unit - case $unit in - 0|1|2|3|4|5|6) - mknod ${name}${unit} b $blk `expr $unit '*' 16 + 0` - mknod n${name}${unit} b $blk `expr $unit '*' 16 + 1` - mknod e${name}${unit} b $blk `expr $unit '*' 16 + 2` - mknod en${name}${unit} b $blk `expr $unit '*' 16 + 3` - mknod r${name}${unit} c $chr `expr $unit '*' 16 + 0` - mknod nr${name}${unit} c $chr `expr $unit '*' 16 + 1` - mknod er${name}${unit} c $chr `expr $unit '*' 16 + 2` - mknod enr${name}${unit} c $chr `expr $unit '*' 16 + 3` - chown root.operator ${name}${unit} n${name}${unit} \ - e$name$unit en$name$unit \ - r${name}${unit} nr${name}${unit} \ - er${name}${unit} enr${name}${unit} - chmod 660 ${name}${unit} n${name}${unit} \ - e$name$unit en$name$unit \ - r${name}${unit} nr${name}${unit} \ - er${name}${unit} enr${name}${unit} - ;; - *) - echo bad unit for tape in: $i - ;; - esac - umask 77 +nvram0) + M nvram0 c 10 0 640 kmem ;; -sd*|ccd*) - umask 2 ; unit=`expr $i : '.*[^0-9]\([0-9]*\)'` - case $i in - sd*) name=sd; blk=4; chr=8;; - #ccd*) name=ccd; blk=5; chr=7;; - esac - rm -f $name$unit? r$name$unit? - case $unit in - 0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15) - mknod ${name}${unit}c b $blk `expr $unit '*' 16 + 2` - mknod r${name}${unit}c c $chr `expr $unit '*' 16 + 2` - mknod ${name}${unit}a b $blk `expr $unit '*' 16 + 0` - mknod ${name}${unit}b b $blk `expr $unit '*' 16 + 1` - 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}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 +sram0) + M sram0 c 7 0 640 kmem ;; -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] +xfs*) + M xfs$U c 51 $U 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 52 $U 644 + U=$(($U+1)) done - umask 77 ;; -cd*) - umask 2 ; unit=`expr $i : '..\(.*\)'` - case $i in - cd*) name=cd; blk=8; chr=9;; - esac - rm -f $name$unit? r$name$unit? - case $unit in - 0|1|2|3|4|5|6) - mknod ${name}${unit}a b $blk `expr $unit '*' 8 + 0` - mknod ${name}${unit}c b $blk `expr $unit '*' 8 + 2` - mknod r${name}${unit}a c $chr `expr $unit '*' 8 + 0` - mknod r${name}${unit}c c $chr `expr $unit '*' 8 + 2` - chown root.operator ${name}${unit}[a-h] r${name}${unit}[a-h] - chmod 640 ${name}${unit}[a-h] r${name}${unit}[a-h] - ;; - *) - echo bad unit for disk in: $i - ;; - esac - umask 77 +*random) + n=0 + for pre in " " s u p a + do + M ${pre}random c 40 $n 644 + n=$(($n+1)) + done ;; -ttyw*|tty0*|ttya|ttyb|ttyc|ttyd) - type=`expr $i : 'tty\(.\)'` - case $type in - 0) - unit=`expr $i : 'tty.\(.\)'` - case $unit in - 0|1|2|3) - rm -f tty0${unit} cua0${unit} - mknod tty0${unit} c 13 ${unit} - mknod cua0${unit} c 13 `expr 128 + ${unit}` - chown uucp.dialer tty0${unit} cua0${unit} - chmod 660 tty0${unit} cua0${unit} - ;; - *) - echo bad unit for tty0 in: $i - ;; - esac - ;; - w) - unit=`expr $i : 'tty.\(.\)'` - case $unit in - 0|1|2|3) - rm -f ttyw${unit} cuaw${unit} - mknod ttyw${unit} c 30 ${unit} - mknod cuaw${unit} c 30 `expr 128 + ${unit}` - chown uucp.dialer ttyw${unit} cuaw${unit} - chmod 660 ttyw${unit} cuaw${unit} - ;; - *) - echo bad unit for ttyw in: $i - ;; - esac - ;; - a|b|c|d) - unit=${type} - num=`echo ${unit} | tr abcd 0123` - rm -f tty${unit} cua${unit} - mknod tty${unit} c 12 ${num} - mknod cua${unit} c 12 `expr 128 + ${num}` - chown uucp.dialer tty${unit} cua${unit} - chmod 660 tty${unit} cua${unit} - ;; - *) - echo bad type for tty in: $i - ;; - esac +lkm) + M lkm c 24 0 640 kmem + ;; + +pf*) + M pf c 39 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" + ;; + +ss*) + M ss$U c 42 $(($U*16)) 640 operator + M nss$U c 42 $(($(($U*16))+1)) 640 operator + M enss$U c 42 $(($(($U*16))+3)) 640 operator + RMlist="$RMlist scan$U" + MKlist="$MKlist;umask 77;ln -s ss$U scan$U" + ;; + +uk*) + M uk$U c 41 $U 640 operator ;; lp*) - unit=`expr $i : 'par\(.*\)'` - rm -f par${unit} - case $unit in - 0) - mknod par${unit} c 28 ${unit} - ;; - *) - echo bad unit for lp in: $i - ;; + u=${i#lp*} + case $u in + 0) M par$u c 28 $u 600;; + *) echo unknown lp device $i ;; esac ;; 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 - eval `echo $offset $name | awk ' { b=$1; n=$2 } END { - for (i = 0; i < 16; i++) - printf("rm -f tty%s%x pty%s%x;" \ - "mknod tty%s%x c 4 %d;" \ - "mknod pty%s%x c 5 %d; ", \ - n, i, n, i, n, i, b+i, n, i, b+i); }'` - umask 77 + 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 ] + do + nam=$name$(hex $n) + off=$(($U*16)) + M tty$nam c 4 $(($off+$n)) + M pty$nam c 5 $(($off+$n)) + n=$(($n+1)) + done + ;; + +ttyw*) + u=${i#ttyw*} + case $u in + 0|1|2|3) + M ttyw$u c 30 $u 660 dialer uucp + M cuaw$u c 30 $(($u+128)) 660 dialer uucp ;; + *) echo unknown tty device $i ;; esac ;; -bpf*) - unit=`expr $i : 'bpf\(.*\)'` - rm -f bpf$unit - mknod bpf$unit c 22 $unit - chown root.wheel bpf$unit +tty0*) + u=${i#tty0*} + case $u in + 0|1|2|3) + M tty0$u c major_tty0_c $u 660 dialer uucp + M cua0$u c major_tty0_c $(($u+128)) 660 dialer uucp + ;; + *) echo unknown tty device $i ;; + esac ;; -pf) - rm -f pf - mknod pf c 39 0 - chown root.wheel pf - chmod 600 pf +cua[a-z]) + u=${i#cua*} + case $u in + a) n=0 ;; + b) n=1 ;; + c) n=2 ;; + d) n=3 ;; + *) echo unknown cua device $i ;; + esac + M cua$u c 12 $(($n+128)) 660 dialer uucp ;; -tun*) - unit=`expr $i : 'tun\(.*\)'` - rm -f tun$unit - mknod tun$unit c 23 $unit - chmod 600 tun$unit - chown root.wheel tun$unit +tty[a-z]) + u=${i#tty*} + case $u in + a) n=0 ;; + b) n=1 ;; + c) n=2 ;; + d) n=3 ;; + *) echo unknown tty device $i ;; + esac + M tty$u c 12 $n 660 dialer uucp ;; rd*) - umask 2 ; unit=`expr $i : '.*d\(.*\)'` - mknod rd${unit}a b 9 `expr $unit '*' 16 + 0` - mknod rd${unit}c b 9 `expr $unit '*' 16 + 2` - mknod rrd${unit}a c 18 `expr $unit '*' 16 + 0` - mknod rrd${unit}c c 18 `expr $unit '*' 16 + 2` - chown root.operator rd${unit}[ac] rrd${unit}[ac] - chmod 640 rd${unit}[ac] rrd${unit}[ac] - umask 77 + dodisk2 rd $U 9 18 $U 0 ;; -lkm) - rm -f lkm - mknod lkm c 24 0 - chown root.kmem lkm - chmod 640 lkm - ;; - -sram*|nvram*|flash*|vmel*|vmes*) - rm -f $i - case $i in - sram*) maj=7;; - nvram*) maj=10;; - flash*) maj=11;; - vmel*) maj=31;; - vmes*) maj=32;; - esac - mknod $i c ${maj} 0 - chown root.kmem $i - chmod 640 $i +vnd*) + dodisk vnd $U 6 19 $U 0 + dodisk svnd $U 6 19 $U 128 ;; -random|srandom|urandom|prandom|arandom) - rm -f random urandom srandom prandom arandom - mknod random c 40 0 - mknod srandom c 40 1 - mknod urandom c 40 2 - mknod prandom c 40 3 - mknod arandom c 40 4 - chown root.wheel random srandom urandom prandom arandom - chmod 644 random srandom urandom prandom arandom +cd*) + dodisk2 cd $U 8 9 $U 0 ;; -uk*) - unit=`expr $i : 'uk\(.*\)'` - rm -f uk$unit - mknod uk$unit c 41 $unit - chown root.operator uk$unit - chmod 640 uk$unit +st*) + n=$(($U*16)) + for pre in " " n e en + do + M ${pre}st$U b 7 $n 660 operator + M ${pre}rst$U c 20 $n 660 operator + n=$(($n+1)) + done ;; -ss*) - unit=`expr $i : 'ss\(.*\)'` - rm -f ss$unit - mknod ss$unit c 42 $unit - chown root.operator ss$unit - chmod 440 ss$unit -# backwards compatibility with older PINTs - rm -f scan$unit - ln -s ss$unit scan$unit +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 52 $unit - chmod 644 altq/$dev - unit=$(($unit + 1)) - done +ramdisk) + R pty0 ttya rd0 cd0 cd1 st0 st1 sd0 sd1 sd2 sd3 sd4 bpf0 std ;; -local) - umask 0 - test -s MAKEDEV.local && sh MAKEDEV.local - umask 77 +all) + R ttyw0 ttyw1 ttyw2 ttyw3 tty000 tty001 tty002 tty003 cuaa + R cuab cuac cuad ttya ttyb ttyc ttyd ccd0 ccd1 ccd2 ccd3 vnd0 + R vnd1 vnd2 vnd3 sd0 sd1 sd2 sd3 sd4 cd0 cd1 rd0 tun0 tun1 + R tun2 tun3 bpf0 bpf1 bpf2 bpf3 bpf4 bpf5 bpf6 bpf7 bpf8 bpf9 + R pty0 pty1 pty2 xfs0 ss0 ss1 vmel0 vmes0 flash0 nvram0 sram0 + R uk0 random lkm pf altq std st0 st1 fd + ;; + +sd*|ccd*) + case $i in + sd*) dodisk sd $U 4 8 $U 0;; + ccd*) dodisk ccd $U 5 7 $U 0;; + esac ;; *) @@ -494,3 +400,34 @@ local) ;; 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