|
|
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
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.