home *** CD-ROM | disk | FTP | other *** search
/ OpenStep 3.3J / os33j.iso / usr / etc / MAKEDEV < prev    next >
Text File  |  1995-05-03  |  6KB  |  265 lines

  1. #!/bin/sh -
  2. umask 77
  3. PATH=/bin:/usr/bin:/usr/etc:/etc:/usr/ucb:$PATH
  4. export PATH
  5. for i
  6. do
  7. case $i in
  8.  
  9. NeXT)
  10.     $0 std hd0 hd1 oc od0 od1 sd0 sd1 sd2 sd3 sd4 sd5 sd6 sd7 sd8 sd9 sd10 sd11 sd12 sd13 sd14 sd15 sc sg0 sg1 sg2 sg3 st0 st1 fd0 fd1 fc vol pty0 pty1 vid0 ev0 evs0 np0 nps0 pp
  11.     ;;
  12.  
  13. std)
  14.     mknod console    c 0 0    ; chmod 622 console
  15.     mknod drum    c 7 0    ; chmod 640 drum ; chgrp kmem drum
  16.     mknod mem    c 3 0    ; chmod 640 mem ; chgrp kmem mem
  17.     mknod kmem    c 3 1    ; chmod 640 kmem ; chgrp kmem kmem
  18.     mknod null    c 3 2    ; chmod 666 null
  19.     mknod dsp    c 3 3    ; chmod 666 dsp
  20.     mknod tty    c 2 0    ; chmod 666 tty
  21.     mknod ttya    c 11 0    ; chmod 666 ttya
  22.     mknod ttyb    c 11 1    ; chmod 666 ttyb
  23.     mknod ttyfa    c 11 32    ; chmod 666 ttyfa
  24.     mknod ttyfb    c 11 33    ; chmod 666 ttyfb
  25.     mknod ttyda    c 11 64    ; chmod 666 ttyda
  26.     mknod ttydb    c 11 65    ; chmod 666 ttydb
  27.     mknod ttydfa    c 11 96    ; chmod 666 ttydfa
  28.     mknod ttydfb    c 11 97    ; chmod 666 ttydfb
  29.     mknod cua    c 11 192; chmod 600 cua ; chown uucp cua
  30.     mknod cub    c 11 193; chmod 600 cub ; chown uucp cub
  31.     mknod cufa    c 11 224; chmod 600 cufa ; chown uucp cufa
  32.     mknod cufb    c 11 225; chmod 600 cufb ; chown uucp cufb
  33.     mknod klog    c 6 0    ; chmod 600 klog
  34.     mknod sound    c 36 0    ; chmod 600 sound
  35.     mknod dialup0    c 16 0  ; chmod 600 dialup0
  36.     mknod dialup1    c 16 1    ; chmod 600 dialup1
  37.     ;;
  38.  
  39. od*|rd*|sd*|hd*)
  40.     umask 2 ; unit=`expr $i : '..\(.*\)'`
  41.     case $i in
  42.     od*) name=od; blk=2; chr=9;;
  43.     rd*) name=rd; blk=5; chr=15;;
  44.     sd*) name=sd; blk=6; chr=14;;
  45.     hd*) name=hd; blk=3; chr=15;;
  46.     esac
  47.     case $unit in
  48.     0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|\
  49.     17|18|19|20|21|22|23|24|25|26|27|28|29|30|31)
  50.         mknod ${name}${unit}a    b $blk `expr $unit '*' 8 + 0`
  51.         mknod ${name}${unit}b    b $blk `expr $unit '*' 8 + 1`
  52.         mknod ${name}${unit}c    b $blk `expr $unit '*' 8 + 2`
  53.         mknod ${name}${unit}g    b $blk `expr $unit '*' 8 + 6`
  54.         mknod r${name}${unit}a    c $chr `expr $unit '*' 8 + 0`
  55.         mknod r${name}${unit}b    c $chr `expr $unit '*' 8 + 1`
  56.         mknod r${name}${unit}c    c $chr `expr $unit '*' 8 + 2`
  57.         mknod r${name}${unit}g    c $chr `expr $unit '*' 8 + 6`
  58.         mknod ${name}${unit}d    b $blk `expr $unit '*' 8 + 3`
  59.         mknod ${name}${unit}e    b $blk `expr $unit '*' 8 + 4`
  60.         mknod ${name}${unit}f    b $blk `expr $unit '*' 8 + 5`
  61.         mknod ${name}${unit}h    b $blk `expr $unit '*' 8 + 7`
  62.         mknod r${name}${unit}d    c $chr `expr $unit '*' 8 + 3`
  63.         mknod r${name}${unit}e    c $chr `expr $unit '*' 8 + 4`
  64.         mknod r${name}${unit}f    c $chr `expr $unit '*' 8 + 5`
  65.         mknod r${name}${unit}h    c $chr `expr $unit '*' 8 + 7`
  66.         chgrp operator ${name}${unit}[a-h] r${name}${unit}[a-h]
  67.         chmod 640 ${name}${unit}[a-h] r${name}${unit}[a-h]
  68.         ;;
  69.     *)
  70.         echo bad unit for disk in: $i
  71.         ;;
  72.     esac
  73.     umask 77
  74.     ;;
  75.  
  76. fd*)
  77.     umask 2 ; unit=`expr $i : '..\(.*\)'`
  78.     name=fd; blk=1; chr=41;
  79.     case $unit in
  80.     0|1|2|3|4|5|6|7)
  81.         mknod ${name}${unit}a    b $blk `expr $unit '*' 8 + 0`
  82.         mknod r${name}${unit}a    c $chr `expr $unit '*' 8 + 0`
  83.         mknod r${name}${unit}b    c $chr `expr $unit '*' 8 + 1`
  84.         chgrp operator ${name}${unit}[a-b] r${name}${unit}[a-b]
  85.         chmod 660 ${name}${unit}[a-b] r${name}${unit}[a-b]
  86.         ;;
  87.     *)
  88.         echo bad unit for disk in: $i
  89.         ;;
  90.     esac
  91.     umask 77
  92.     ;;
  93.     
  94. oc)
  95.     mknod odc0    c 9 255        ; chmod 644 odc0
  96.     ;;
  97.  
  98. fc)
  99.     mknod fdc0    c 41 64        ; chmod 644 fdc0
  100.     ;;
  101.  
  102. sc)
  103.     mknod sdc0    c 14 128    ; chmod 644 sdc0
  104.     ;;
  105.  
  106. vol)
  107.     mknod vol0    c 42 0        ; chmod 644 vol0
  108.     ;;
  109.  
  110. pp)
  111.     mknod pp0    c 40 0        ; chmod 666 pp0
  112.     ;;
  113.  
  114.  
  115. sg*)
  116.     umask 2 ; unit=`expr $i : '..\(.*\)'`
  117.     case $i in
  118.     sg*) chr=33;;
  119.     esac
  120.     case $unit in
  121.     0|1|2|3)
  122.         mknod $i    c $chr $unit
  123.         chgrp operator $i
  124.         chmod 666 $i 
  125.         ;;
  126.     *)
  127.         echo bad unit for device in: $i
  128.         ;;
  129.     esac
  130.     umask 77
  131.     ;;
  132.  
  133. st*)
  134.     umask 2 ; unit=`expr $i : '..\(.*\)'`
  135.     case $i in
  136.     st*) chr=34;;
  137.     esac
  138.     case $unit in
  139.     0|1)
  140.         one=`expr $unit '*' 8 + 1`
  141.         two=`expr $unit '*' 8 + 2`
  142.         three=`expr $unit '*' 8 + 3`
  143.         mknod rst$unit    c $chr `expr $unit '*' 8`
  144.         mknod nrst$unit    c $chr $one
  145.         mknod rxt$unit    c $chr $two
  146.         mknod nrxt$unit    c $chr $three
  147.         chgrp operator rst$unit
  148.         chgrp operator nrst$unit
  149.         chgrp operator rxt$unit
  150.         chgrp operator nrxt$unit
  151.         chmod 666 rst$unit 
  152.         chmod 666 nrst$unit 
  153.         chmod 666 rxt$unit 
  154.         chmod 666 nrxt$unit 
  155.         ;;
  156.     *)
  157.         echo bad unit for device in: $i
  158.         ;;
  159.     esac
  160.     umask 77
  161.     ;;
  162.  
  163. pty*)
  164.     class=`expr $i : 'pty\(.*\)'`
  165.     case $class in
  166.     0) offset=0 name=p;;
  167.     1) offset=16 name=q;;
  168.     2) offset=32 name=r;;
  169.     3) offset=48 name=s;;
  170.     4) offset=64 name=t;;
  171.     5) offset=80 name=u;;
  172.     *) echo bad unit for pty in: $i;;
  173.     esac
  174.     case $class in
  175.     0|1|2|3|4|5)
  176.         umask 0
  177.         eval `echo $offset $name | awk ' { b=$1; n=$2 } END {
  178.             for (i = 0; i < 16; i++)
  179.                 printf("mknod tty%s%x c 4 %d; \
  180.                     mknod pty%s%x c 5 %d; ", \
  181.                     n, i, b+i, n, i, b+i); }'`
  182.         umask 77
  183.         ;;
  184.     esac
  185.     ;;
  186.  
  187. vid*)
  188.     name=vid; chr=13;
  189.     unit=`expr $i : 'vid\(.*\)'`
  190.     case $unit in
  191.  
  192.     0|1|2|3|4|5|6|7)
  193.         umask 0
  194.         mknod ${name}${unit} c ${chr} ${unit}
  195.         chmod 600 vid${unit}
  196.         umask 77
  197.         ;;
  198.     *)
  199.         echo bad unit for ${name} in: $i
  200.         ;;
  201.     esac
  202.     ;;
  203.  
  204. ev*|evs*|np*|nps*|midi*|ipl*)
  205.     case $i in
  206.     nps*)
  207.         name=nps; chr=39;
  208.         unit=`expr $i : 'nps\(.*\)'`
  209.         ;;
  210.     np*)
  211.         name=np; chr=8;
  212.         unit=`expr $i : 'np\(.*\)'`
  213.         ;;
  214.     ev?)
  215.         name=ev; chr=10;
  216.         unit=`expr $i : 'ev\(.*\)'`
  217.         ;;
  218.     evs?)
  219.         name=evs; chr=40;
  220.         unit=`expr $i : 'evs\(.*\)'`
  221.         ;;
  222.     ipl*)
  223.         name=ipl; chr=35;
  224.         unit=`expr $i : 'ipl\(.*\)'`
  225.         ;;
  226.     esac
  227.     case $unit in
  228.  
  229.     0|1|2|3|4|5|6|7)
  230.         umask 0
  231.         mknod ${name}${unit} c ${chr} ${unit}
  232.         umask 77
  233.         ;;
  234.     *)
  235.         echo bad unit for ${name} in: $i
  236.         ;;
  237.     esac
  238.     ;;
  239.  
  240. tty?)
  241.     case $i in
  242.     tty?)
  243.         name=tty; chr=11;
  244.         unit=`expr $i : 'tty\(.*\)'`
  245.         ;;
  246.     esac
  247.     case $unit in
  248.     a|b)
  249.         numunit=`echo $unit | tr ab 01`
  250.         umask 0
  251.         mknod ${name}${unit} c ${chr} ${numunit}
  252.         umask 77
  253.         ;;
  254.     *)
  255.         echo bad unit for ${name} in: $i
  256.         ;;
  257.     esac
  258.     ;;
  259.  
  260. local)
  261.     sh /private/dev/MAKEDEV.local
  262.     ;;
  263. esac
  264. done
  265.