Annotation of 43BSDReno/etc/etc.hp300/MAKEDEV, revision 1.1

1.1     ! root        1: #!/bin/sh -
        !             2: #
        !             3: # Copyright (c) 1990 The Regents of the University of California.
        !             4: # All rights reserved.
        !             5: #
        !             6: # Redistribution and use in source and binary forms are permitted provided
        !             7: # that: (1) source distributions retain this entire copyright notice and
        !             8: # comment, and (2) distributions including binaries display the following
        !             9: # acknowledgement:  ``This product includes software developed by the
        !            10: # University of California, Berkeley and its contributors'' in the
        !            11: # documentation or other materials provided with the distribution and in
        !            12: # all advertising materials mentioning features or use of this software.
        !            13: # Neither the name of the University nor the names of its contributors may
        !            14: # be used to endorse or promote products derived from this software without
        !            15: # specific prior written permission.
        !            16: # THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
        !            17: # WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
        !            18: # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !            19: #
        !            20: #      @(#)MAKEDEV     5.2 (Berkeley) 6/22/90
        !            21: #
        !            22: # Device "make" file.  Valid arguments:
        !            23: #      std     standard devices
        !            24: #      local   configuration specific devices
        !            25: # Tapes:
        !            26: #      ct*     HP300 HP-IB cartridge tape
        !            27: # Disks:
        !            28: #      cd*     "concatenated" pseudo-disks
        !            29: #      rd*     HP300 HP-IB disks
        !            30: #      sd*     HP300 SCSI disks
        !            31: #      vnd*    "file" pseudo-disks
        !            32: # Terminal multiplexors:
        !            33: #      dca*    HP200/300 single port serial interface
        !            34: #      dcm*    HP200/300 4 port serial mux interface
        !            35: # Pseudo terminals:
        !            36: #      pty*    set of 16 master and slave pseudo terminals
        !            37: # Printers:
        !            38: # Call units:
        !            39: # Special purpose devices:
        !            40: #      flog*   kernel logging device
        !            41: #      grf*    raw interface to HP300 graphics devices
        !            42: #      ite*    terminal emulator interface to HP300 graphics devices
        !            43: #      hil     HP300 HIL input devices
        !            44: 
        !            45: PATH=/sbin:/bin/:/usr/bin
        !            46: umask 77
        !            47: for i
        !            48: do
        !            49: case $i in
        !            50: 
        !            51: std)
        !            52:        mknod console           c 0 0
        !            53:        mknod drum              c 3 0   ; chmod 640 drum ; chgrp kmem drum
        !            54:        mknod kmem              c 2 1   ; chmod 640 kmem ; chgrp kmem kmem
        !            55:        mknod mem               c 2 0   ; chmod 640 mem ; chgrp kmem mem
        !            56:        mknod null              c 2 2   ; chmod 666 null
        !            57:        mknod tty               c 1 0   ; chmod 666 tty
        !            58:        mknod klog              c 6 0   ; chmod 600 klog
        !            59:        mknod stdin             c 53 0  ; chmod 666 stdin
        !            60:        mknod stdout            c 53 1  ; chmod 666 stdout
        !            61:        mknod stderr            c 53 2  ; chmod 666 stderr
        !            62:        mkdir fd > /dev/null 2>&1
        !            63:        (cd fd && eval `echo "" | awk ' BEGIN { \
        !            64:                for (i = 0; i < 64; i++) \
        !            65:                        printf("mknod %d c 53 %d;", i, i)}'`)
        !            66:        chown -R bin.bin fd
        !            67:        chmod 555 fd
        !            68:        chmod 666 fd/*
        !            69:        ;;
        !            70: 
        !            71: ct*)
        !            72:        umask 0 ; unit=`expr $i : '..\(.*\)'`
        !            73:        case $i in
        !            74:        ct*) blk=0; chr=7;;
        !            75:        esac
        !            76:        case $unit in
        !            77:        0|1|2|3|4|5|6|7)
        !            78:                four=`expr $unit + 4` ; eight=`expr $unit + 8`
        !            79:                twelve=`expr $unit + 12`; twenty=`expr $unit + 20`
        !            80:                #
        !            81:                # block devices don't work so don't make them
        !            82:                #mknod ct$unit  b $blk $unit
        !            83:                #mknod ct$four  b $blk $four
        !            84:                #mknod ct$eight b $blk $eight
        !            85:                #mknod ct$twelve        b $blk $twelve
        !            86:                #mknod nct$unit b $blk $four ;: sanity w/pdp11 v7
        !            87:                #mknod nct$eight        b $blk $twelve ;: ditto
        !            88:                #
        !            89:                mknod rct$unit  c $chr $unit
        !            90:                mknod rct$four  c $chr $four
        !            91:                mknod rct$eight c $chr $eight
        !            92:                mknod rct$twelve        c $chr $twelve
        !            93:                ln rct$four nrct$unit ;: sanity w/pdp11 v7
        !            94:                ln rct$twelve nrct$eight ;: ditto
        !            95:                ;;
        !            96:        *)
        !            97:                echo bad unit for tape in: $1
        !            98:                ;;
        !            99:        esac
        !           100:        umask 77
        !           101:        ;;
        !           102: 
        !           103: cd*|fd*|rd*|sd*)
        !           104:        umask 2 ; unit=`expr $i : '..\(.*\)'`
        !           105:        case $i in
        !           106:        rd*) name=rd; blk=2; chr=9;;
        !           107:        sd*) name=sd; blk=4; chr=8;;
        !           108:        cd*) name=cd; blk=5; chr=17;;
        !           109:        vnd*) name=vnd; blk=6; chr=19;;
        !           110:        esac
        !           111:        case $unit in
        !           112:        0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|\
        !           113:        17|18|19|20|21|22|23|24|25|26|27|28|29|30|31)
        !           114:                mknod ${name}${unit}c   b $blk `expr $unit '*' 8 + 2`
        !           115:                mknod r${name}${unit}c  c $chr `expr $unit '*' 8 + 2`
        !           116:                if [ $name != cd -a $name != vnd ]
        !           117:                then
        !           118:                mknod ${name}${unit}a   b $blk `expr $unit '*' 8 + 0`
        !           119:                mknod ${name}${unit}b   b $blk `expr $unit '*' 8 + 1`
        !           120:                mknod ${name}${unit}d   b $blk `expr $unit '*' 8 + 3`
        !           121:                mknod ${name}${unit}e   b $blk `expr $unit '*' 8 + 4`
        !           122:                mknod ${name}${unit}f   b $blk `expr $unit '*' 8 + 5`
        !           123:                mknod ${name}${unit}g   b $blk `expr $unit '*' 8 + 6`
        !           124:                mknod ${name}${unit}h   b $blk `expr $unit '*' 8 + 7`
        !           125:                mknod r${name}${unit}a  c $chr `expr $unit '*' 8 + 0`
        !           126:                mknod r${name}${unit}b  c $chr `expr $unit '*' 8 + 1`
        !           127:                mknod r${name}${unit}d  c $chr `expr $unit '*' 8 + 3`
        !           128:                mknod r${name}${unit}e  c $chr `expr $unit '*' 8 + 4`
        !           129:                mknod r${name}${unit}f  c $chr `expr $unit '*' 8 + 5`
        !           130:                mknod r${name}${unit}g  c $chr `expr $unit '*' 8 + 6`
        !           131:                mknod r${name}${unit}h  c $chr `expr $unit '*' 8 + 7`
        !           132:                fi
        !           133:                chgrp operator ${name}${unit}[a-h] r${name}${unit}[a-h]
        !           134:                chmod 640 ${name}${unit}[a-h] r${name}${unit}[a-h]
        !           135:                ;;
        !           136:        *)
        !           137:                echo bad unit for disk in: $i
        !           138:                ;;
        !           139:        esac
        !           140:        umask 77
        !           141:        ;;
        !           142: 
        !           143: dca*)
        !           144:        unit=`expr $i : 'dca\(.*\)'`
        !           145:        case $unit in
        !           146:        0)
        !           147:                mknod tty0 c 12 0
        !           148:                ;;
        !           149:        *)
        !           150:                echo bad unit for dca in: $i
        !           151:                ;;
        !           152:        esac
        !           153:        ;;
        !           154: 
        !           155: dcm*)
        !           156:        unit=`expr $i : 'dcm\(.*\)'`
        !           157:        case $unit in
        !           158:        0|1|2|3)
        !           159:                eval `echo $unit | awk ' { unit = $1; u = 4 * $1 } END {
        !           160:                for (i = 0; i < 4; i++)
        !           161:                 printf("mknod tty0%x c 15 %d; ",u+i,u+i); }'`
        !           162:         ;;
        !           163:        *)
        !           164:                echo bad unit for dcm in: $i
        !           165:                ;;
        !           166:        esac
        !           167:        ;;
        !           168: 
        !           169: ite*)
        !           170:        unit=`expr $i : 'ite\(.*\)'`
        !           171:        case $unit in
        !           172:        0|1|2|3)
        !           173:                mknod ttye${unit} c 13 ${unit}
        !           174:                ;;
        !           175:        *)
        !           176:                echo bad unit for ite in: $i
        !           177:                ;;
        !           178:        esac
        !           179:        ;;
        !           180: 
        !           181: grf*)
        !           182:        unit=`expr $i : 'grf\(.*\)'`
        !           183:        case $unit in
        !           184:        0|1|2|3)
        !           185:                mknod grf${unit} c 10 ${unit}; chmod 666 grf${unit}
        !           186:                echo "grf${unit}: use MAKEDEV.hpux to make HP-UX names for device"
        !           187:                ;;
        !           188:        *)
        !           189:                echo bad unit for grf in: $i
        !           190:                ;;
        !           191:        esac
        !           192:        ;;
        !           193: 
        !           194: hil)
        !           195:        for unit in 0 1 2 3 4 5 6 7
        !           196:        do
        !           197:                mknod hil${unit} c 14 ${unit}
        !           198:                if [ -f /usr/local/hilinfo ]
        !           199:                then
        !           200:                        case `/usr/local/hilinfo -t hil${unit}` in
        !           201:                        mouse)
        !           202:                                if [ ! -f locator ]
        !           203:                                then
        !           204:                                        ln hil${unit} locator
        !           205:                                fi
        !           206:                                ;;
        !           207:                        keyboard)
        !           208:                                if [ ! -f keyboard ]
        !           209:                                then
        !           210:                                        ln hil${unit} keyboard
        !           211:                                fi
        !           212:                                ;;
        !           213:                        *)
        !           214:                                ;;
        !           215:                        esac
        !           216:                fi
        !           217:        done
        !           218:        if [ ! -f /usr/local/hilinfo ]
        !           219:        then
        !           220:                ln hil1 keyboard
        !           221:                ln hil3 locator
        !           222:        fi
        !           223:        chmod 666 hil*
        !           224:        echo "hil: use MAKEDEV.hpux to make HP-UX names for devices"
        !           225:        ;;
        !           226: 
        !           227: pty*)
        !           228:        class=`expr $i : 'pty\(.*\)'`
        !           229:        case $class in
        !           230:        0) offset=0 name=p;;
        !           231:        1) offset=16 name=q;;
        !           232:        2) offset=32 name=r;;
        !           233:        3) offset=48 name=s;;
        !           234: # Note that telnetd, rlogind, and xterm (at least) only look at p-s.
        !           235:        4) offset=64 name=t;;
        !           236:        *) echo bad unit for pty in: $i;;
        !           237:        esac
        !           238:        case $class in
        !           239:        0|1|2|3|4)
        !           240:                umask 0
        !           241:                eval `echo $offset $name | awk ' { b=$1; n=$2 } END {
        !           242:                        for (i = 0; i < 16; i++)
        !           243:                                printf("mknod tty%s%x c 4 %d; \
        !           244:                                        mknod pty%s%x c 5 %d; ", \
        !           245:                                        n, i, b+i, n, i, b+i); }'`
        !           246:                umask 77
        !           247:                if [ $class = 1 ]; then
        !           248:                        mv ttyqf ttyv0; mv ptyqf ptyv0
        !           249:                fi
        !           250:                ;;
        !           251:        esac
        !           252:        ;;
        !           253: 
        !           254: local)
        !           255:        umask 0
        !           256:        sh MAKEDEV.local
        !           257:        ;;
        !           258: 
        !           259: esac
        !           260: done

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.