summaryrefslogtreecommitdiffstats
path: root/etc/etc.alpha
diff options
context:
space:
mode:
authordfr <dfr@FreeBSD.org>1998-08-31 08:57:56 +0000
committerdfr <dfr@FreeBSD.org>1998-08-31 08:57:56 +0000
commit8178cc1c58d7aa76c4920807990bad58c31114cb (patch)
treea5a8e11c6fd8257231efeaad56609cf01f2758e4 /etc/etc.alpha
parent173369820ffebcaea03f21e11551083dda01b0fd (diff)
downloadFreeBSD-src-8178cc1c58d7aa76c4920807990bad58c31114cb.zip
FreeBSD-src-8178cc1c58d7aa76c4920807990bad58c31114cb.tar.gz
Change to use FreeBSD device major numbers and tty definitions.
Diffstat (limited to 'etc/etc.alpha')
-rw-r--r--etc/etc.alpha/MAKEDEV1358
-rw-r--r--etc/etc.alpha/rc.alpha92
-rw-r--r--etc/etc.alpha/ttys329
3 files changed, 1447 insertions, 332 deletions
diff --git a/etc/etc.alpha/MAKEDEV b/etc/etc.alpha/MAKEDEV
index 5cfc4b9..96f72d2 100644
--- a/etc/etc.alpha/MAKEDEV
+++ b/etc/etc.alpha/MAKEDEV
@@ -1,362 +1,1166 @@
#!/bin/sh -
-# $NetBSD: MAKEDEV,v 1.29 1998/04/16 04:38:11 thorpej Exp $
#
# Copyright (c) 1990 The Regents of the University of California.
# 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. 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.
+# Written and contributed by W. Jolitz 12/90
#
-# 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.
+# Redistribution and use in source and binary forms are permitted provided
+# that: (1) source distributions retain this entire copyright notice and
+# comment, and (2) distributions including binaries display the following
+# acknowledgement: ``This product includes software developed by the
+# University of California, Berkeley and its contributors'' in the
+# documentation or other materials provided with the distribution and in
+# all advertising materials mentioning features or use of this software.
+# 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.
+# THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+#
+# @(#)MAKEDEV 5.2 (Berkeley) 6/22/90
#
# Device "make" file. Valid arguments:
-# all makes all known devices, including local devices.
-# Tries to make the 'standard' number of each type.
-# minimal A minimal set of devices for install disks, etc.
+# all makes all known devices, standard number of units (or close)
# std standard devices
# local configuration specific devices
+# mach-4 mach4&lites+devices for Mach's XFree86 distribution
+# (see http://www.cs.hut.fi/lites.html for more info on LITES)
#
# Tapes:
-# st* SCSI tape
+# wt* QIC-interfaced (e.g. not SCSI) 3M cartridge tape
+# st* "NEW type scsi tapes" (old driver uses the
+# block devices of the disks to get access)
+# ft* QIC-40/QIC-80 3M cartridge tape (interfaced
+# via the floppy disk controller)
#
# Disks:
-# ccd* concatenated disk driver
-# cd* SCSI CD-ROM
-# md* "memory disk" pseudo-disks
-# sd* SCSI disks
-# vnd* "file" pseudo-disks
-# wd* IDE disks
-# fd* PC-ish floppy disks
+# wd* "Winchester" disk drives (ST506,IDE,ESDI,RLL,...)
+# wfd* "IDE floppy" disk drives (LS-120)
+# fd* "floppy" disk drives (3 1/2", 5 1/4")
+# sd* "SCSI disks"
+# cd* "SCSI CD-ROM disks"
+# mcd* "Mitsumi CD-ROM disks"
+# scd* "Sony CD-ROM disks"
+# matcd* "Matsushita (Panasonic) CD-ROM disks"
+# wcd* "IDE CD-ROM disks"
+# vn* "vnode disks"
+# od* "optical disks"
+#
+# Console ports:
+# vty* virtual console devices for syscons/pcvt/codrv
+#
+# Pointing devices:
+# mse* Logitech and ATI Inport bus mouse
+# psm* PS/2 mouse
+# sysmouse Mousesystems mouse emulator for syscons
+#
+# Time devices:
+# refclock-* serial ports used by xntpd parse refclocks
#
-# Terminals:
-# ttyB? DEC 3000 ZS8530 ("scc") serial ports
-# ttyC? AlphaStation NS16550 ("com") serial ports
-# ttyE? Workstation console ("wscons") glass-tty emulators
+# Terminal ports:
+# tty* general purpose serial ports
+# cua* dialout serial ports
+# ttyA* Specialix SI/XIO dialin ports ('*' = number of devices)
+# cuaA* Specialix SI/XIO dialout ports
+# ttyD* Digiboard - 16 dialin ports
+# cuaD* Digiboard - 16 dialout ports
+# ttyR* Rocketport dialin ports
+# cuaR* Rocketport dialout ports
#
# Pseudo terminals:
-# pty* set of 16 master and slave pseudo terminals
+# pty* set of 32 master and slave pseudo terminals
+# vty* virtual terminals using syscons/pcvt/codrv console
#
# Printers:
# lpt* stock lp
-# lpa* interruptless lp
+#
+# SCSI devices (other than CD-ROM, tape and disk):
+# ssc The ``super scsi'' device
+# uk* "unknown" device (supports ioctl calls only)
+# worm* WORM driver
+# pt* Processor Type (HP scanner, as one example)
+#
+# PC-CARD (previously called PCMCIA) support
+# card* PC-CARD slots
#
# Special purpose devices:
-# audio audio device
+# apm Advanced Power Management BIOS
# bpf* packet filter
-# ch* SCSI media changer
-# fd file descriptors
-# ipl IP filter
-# kbd keyboard (provides events, for X11)
-# lkm loadable kernel modules interface
-# mouse mouse (provides events, for X11)
-# random Random number generator
-# satlink* PlanetConnect satellite receiver driver
-# speaker PC speaker (IBM BASIC playstring emulation)
-# ss* SCSI scanner
-# tun* network tunnel driver
-# uk* SCSI unknown
-
-PATH=/sbin:/usr/sbin:/bin:/usr/bin
+# speaker pc speaker
+# tw* xten power controller
+# snd* various sound cards
+# pcaudio PCM audio driver
+# socksys iBCS2 socket system driver
+# vat VAT compatibility audio driver (requires snd*)
+# gsc Genius GS-4500 hand scanner
+# joy pc joystick
+# tun* Tunneling IP device
+# snp* tty snoop devices
+# spigot Video Spigot video acquisition card
+# ctx* Cortex-I video acquisition card
+# meteor* Matrox Meteor video acquisition card (pci)
+# bktr* Bt848 based video acquisition card (pci)
+# labpc* National Instrument's Lab-PC and LAB-PC+
+# perfmon CPU performance-monitoring counters
+# pci PCI configuration-space access from user mode
+# ipl ipfilter control devices (ipl, ipnat, ipstate, ipauth)
+#
+# $Id: MAKEDEV,v 1.165 1998/07/03 15:43:20 des Exp $
+#
+
+PATH=/sbin:/bin/:/usr/bin:/usr/sbin:$PATH
umask 77
-for i
-do
+
+# Usage: die exitcode msg
+die() {
+ echo $2
+ exit $1
+}
+
+# Convert integer to partition name
+dkitop() {
+ local p
+
+ case $1 in
+ 0) p=a;; 1) p=b;; 2) p=c;; 3) p=d;; 4) p=e;; 5) p=f;; 6) p=g;; 7) p=h;;
+ *) p="?";;
+ esac
+ echo $p
+}
+
+# Convert integer to slice name
+dkitos() {
+ local s
+
+ case $1 in
+ 0) s="";;
+ 1) s="";;
+ *) s=s$(($1-1));;
+ esac
+ echo $s
+}
+
+# Convert disk (type, unit, slice, partition) to minor number
+dkminor()
+{
+ echo $(($1 << 25 | ($2 / 32) << 21 | ($2 % 32) << 3 | $3 << 16 | $4))
+}
+
+# Override mknod(2) to add extra handling to it.
+mknod() {
+ rm -f "$1" || exit 1
+ /sbin/mknod "$@" || die 2 "/sbin/mknod $@ failed"
+ chown root.wheel "$1" || exit 1
+}
+
+# Convert the last character of a tty name to a minor number.
+ttyminor()
+{
+ case $unit in
+ [0-9]) m=$unit;;
+ a) m=10;; b) m=11;; c) m=12;; d) m=13;; e) m=14;; f) m=15;; g) m=16;;
+ h) m=17;; i) m=18;; j) m=19;; k) m=20;; l) m=21;; m) m=22;; n) m=23;;
+ o) m=24;; p) m=25;; q) m=26;; r) m=27;; s) m=28;; t) m=29;; u) m=30;;
+ v) m=31;;
+ *) m="?";;
+ esac
+ echo $m
+}
+
+# Raw partition for disks
+dkrawpart=2
+
+# Compatibility slice for disks
+dkcompatslice=0
+
+# Raw slice for disks
+dkrawslice=1
+
+# Control bit for SCSI
+scsictl=$((1 << 29))
+
+# Standard umasks
+disk_umask=037 # allow group operator to read disks
+tape_umask=017 # allow group operator to read/write tapes
+
+for i in $*; do
case $i in
all)
- sh $0 std fd sd0 sd1 sd2 sd3 sd4 pty0 pty1
- sh $0 st0 st1 ch0 cd0 cd1 vnd0 vnd1 vnd2 vnd3
- sh $0 ccd0 ccd1 ccd2 ccd3 md0 md1 ss0 ss1 uk0 uk1
- sh $0 bpf0 bpf1 bpf2 bpf3 tun0 tun1 tun2 tun3
- sh $0 ttyB0 ttyB1 ttyC0 ttyC1 ttyE0 ttyE1 lkm
- sh $0 kbd mouse lpa0 lpt0 audio ipl wd0 wd1 fd0 fd1
- sh $0 random satlink0 speaker local
+ sh MAKEDEV std # standard
+ sh MAKEDEV fd0 fd1 # bdev, floppy disk
+ sh MAKEDEV sd0 sd1 sd2 sd3 wd0 wd1 wd2 wd3 # bdev, ordinary disk
+ sh MAKEDEV od0 # bdev, optical disk
+ sh MAKEDEV wfd0 # bdev, LS-120 floppy
+ sh MAKEDEV vn0 # bdev, virtual disk
+ sh MAKEDEV cd0 matcd0 mcd0 scd0 wcd0 # bdev, cdrom
+ sh MAKEDEV ft0 st0 wt0 # bdev, tape
+ sh MAKEDEV vty4 # cdev, virtual tty
+ sh MAKEDEV cuaa0 cuaa1 cuaa2 cuaa3 # cdev, serial tty
+ sh MAKEDEV pty0 # cdev, pseudo tty
+ sh MAKEDEV ttyd0 ttyd1 ttyd2 ttyd3 # cdev, serial tty
+ sh MAKEDEV mse0 psm0 sysmouse # cdev, mouse
+ sh MAKEDEV pcaudio speaker # cdev, noise
+ sh MAKEDEV lpt0 lpt1 lpt2 # cdev, printer
+ sh MAKEDEV bpf0 ipl tun0 # cdev, network
+ sh MAKEDEV ch0 perfmon tw0 # cdev, miscellaneous
+ sh MAKEDEV apm card0 card1 # cdev, laptop
+ ;;
+std)
+ mknod console c 0 0; chmod 600 console
+ mknod drum c 4 0; chmod 640 drum; chgrp kmem drum
+ mknod kmem c 2 1; chmod 640 kmem; chgrp kmem kmem
+ mknod mem c 2 0; chmod 640 mem; chgrp kmem mem
+ mknod null c 2 2; chmod 666 null
+ mknod random c 2 3; chmod 644 random
+ mknod urandom c 2 4; chmod 644 urandom
+ mknod zero c 2 12; chmod 666 zero
+ mknod io c 2 14; chmod 600 io
+ mknod tty c 1 0; chmod 666 tty
+ mknod klog c 7 0; chmod 600 klog
+ mknod stdin c 22 0; chmod 666 stdin
+ mknod stdout c 22 1; chmod 666 stdout
+ mknod stderr c 22 2; chmod 666 stderr
+ mknod lkm c 32 0; chmod 644 lkm
+ mknod pci c 78 0; chmod 644 pci
+ mkdir -p fd
+ (cd fd && eval `echo "" | awk ' BEGIN { \
+ for (i = 0; i < 64; i++) \
+ printf("mknod %d c 22 %d;", i, i)}'`)
+ chown -R bin.bin fd
+ chmod 555 fd
+ chmod 666 fd/*
;;
-minimal)
- sh $0 std
- sh $0 sd0 sd1 sd2 sd3 pty0 st0 ch0 cd0 ccd0 ccd1 md0
- sh $0 wd0 wd1 fd0 fd1
- sh $0 ttyB0 ttyB1 ttyC0 ttyC1 ttyE0 ttyE1 kdb mouse
+mach-4)
+ mknod iopl c 22 0
+ mknod kbd c 23 0
+ mknod mouse c 24 0
+ mknod time c 25 0
+ mknod timezone c 26 0
;;
-std)
- rm -f console drum mem kmem null zero io tty klog stdin stdout stderr
- mknod console c 0 0
- mknod drum c 3 0 ; chmod 640 drum ; chgrp kmem drum
- mknod kmem c 2 1 ; chmod 640 kmem ; chgrp kmem kmem
- mknod mem c 2 0 ; chmod 640 mem ; chgrp kmem mem
- mknod null c 2 2 ; chmod 666 null
- mknod zero c 2 12 ; chmod 666 zero
- mknod tty c 1 0 ; chmod 666 tty
- mknod klog c 6 0 ; chmod 600 klog
- mknod stdin c 10 0 ; chmod 666 stdin
- mknod stdout c 10 1 ; chmod 666 stdout
- mknod stderr c 10 2 ; chmod 666 stderr
- ;;
-
-fd)
- rm -f fd/*
- mkdir fd > /dev/null 2>&1
- n=0
- while [ $n -lt 64 ]; do
- mknod fd/$n c 10 $n
- n=$(($n + 1))
- done
- chown -R root.wheel fd
- chmod 755 fd
- chmod 666 fd/*
+# Create device files for new Archive/Wangtek QIC-02 tape driver (vak)
+wt*)
+ umask $tape_umask
+ u=`expr $i : '..\(.*\)'`
+ if [ x$u = x ]; then u=0; fi
+ mknod rwt${u} c 10 `expr 0 + $u` # default density, 512b blocks
+ mknod nrwt${u} c 10 `expr 4 + $u`
+# mknod rWt${u} c 10 `expr 64 + $u` # default density, 1024b blocks
+# mknod nrWt${u} c 10 `expr 68 + $u`
+ mknod rwt${u}b c 10 `expr 16 + $u` # 60 megabytes
+ mknod nrwt${u}b c 10 `expr 20 + $u`
+ mknod rwt${u}c c 10 `expr 24 + $u` # 120 megabytes
+ mknod nrwt${u}c c 10 `expr 28 + $u`
+ mknod rwt${u}d c 10 `expr 32 + $u` # 150 megabytes
+ mknod nrwt${u}d c 10 `expr 36 + $u`
+# mknod rwt${u}e c 10 `expr 40 + $u` # 300 megabytes?
+# mknod nrwt${u}e c 10 `expr 44 + $u`
+# mknod rwt${u}f c 10 `expr 48 + $u` # 600 megabytes?
+# mknod nrwt${u}f c 10 `expr 52 + $u`
+ chgrp operator r[Ww]t$u nr[Ww]t$u r[Ww]t$u[a-f] nr[Ww]t$u[a-f]
+ umask 77
+ ;;
+
+# Individual slices.
+od*s*|sd*s*|vn*s*|wd*s*|wfd*s*)
+ umask $disk_umask
+ case $i in
+ od*s*) name=od; blk=20; chr=70;;
+ sd*s*) name=sd; blk=4; chr=13;;
+ wd*s*) name=wd; blk=0; chr=3;;
+ vn*s*) name=vn; blk=15; chr=43;;
+ wfd*s*) name=wfd; blk=1; chr=87;;
+ esac
+ case $i in
+ wfd*s*)
+ unit=`expr $i : '...\([0-9]*\)s'`
+ slice=`expr $i : '...[0-9]*s\([0-9]*\)'`
+ part=`expr $i : '...[0-9]*s[0-9]*\(.*\)'`
+ ;;
+ *)
+ unit=`expr $i : '..\([0-9]*\)s'`
+ slice=`expr $i : '..[0-9]*s\([0-9]*\)'`
+ part=`expr $i : '..[0-9]*s[0-9]*\(.*\)'`
+ ;;
+ esac
+ case $unit in
+ [0-9]|[0-9][0-9]|[0-4][0-9][0-9]|50[0-9]|51[0-1])
+ case $slice in
+ [0-9]|[1-2][0-9]|30)
+ oldslice=$slice
+ slice=$(($slice+1))
+ slicename=`dkitos $slice`
+ minor=`dkminor 0 $unit $slice $dkrawpart`
+ mknod $name$unit$slicename b $blk $minor
+ mknod r$name$unit$slicename c $chr $minor
+ case $part in
+ [a-h])
+ case $oldslice in
+ 0) slice=$oldslice ;;
+ esac
+ for part in 0 1 2 3 4 5 6 7
+ do
+ minor=`dkminor 0 $unit $slice $part`
+ partname=`dkitop $part`
+ mknod $name$unit$slicename$partname \
+ b $blk $minor
+ mknod r$name$unit$slicename$partname \
+ c $chr $minor
+ done
+ ;;
+ "")
+ ;;
+ *)
+ echo bad partition for disk in: $i
+ ;;
+ esac
+ chgrp operator $name$unit$slicename* \
+ r$name$unit$slicename*
+ ;;
+ *)
+ echo bad slice for disk in: $i
+ ;;
+ esac
+ ;;
+ *)
+ echo bad unit for disk in: $i "(unit=$unit, slice=$slice, part=$part)"
+ ;;
+ esac
+ umask 77
+ ;;
+
+fd*)
+ umask $disk_umask
+ unit=`expr $i : '..\(.*\)'`
+ name=fd; blk=2; chr=9
+ case $unit in
+ 0|1|2|3)
+ mknod ${name}${unit} b $blk `expr $unit '*' 64`
+ mknod r${name}${unit} c $chr `expr $unit '*' 64`
+ # Fake BSD partitions
+ for i in a b c d e f g h
+ do
+ ln ${name}${unit} ${name}${unit}$i
+ ln r${name}${unit} r${name}${unit}$i
+ done
+ # User-readable and programmer-readable name sets
+
+ mknod ${name}${unit}.1720 b $blk `expr $unit '*' 64 + 1`
+ mknod r${name}${unit}.1720 c $chr `expr $unit '*' 64 + 1`
+ # ln ${name}${unit}.1720 ${name}${unit}135hs21
+ # ln r${name}${unit}.1720 r${name}${unit}135hs21
+
+ mknod ${name}${unit}.1480 b $blk `expr $unit '*' 64 + 2`
+ mknod r${name}${unit}.1480 c $chr `expr $unit '*' 64 + 2`
+ # ln ${name}${unit}.1480 ${name}${unit}135hs18
+ # ln r${name}${unit}.1480 r${name}${unit}135hs18
+ # ln ${name}${unit}.1480 ${name}${unit}96hs18
+ # ln r${name}${unit}.1480 r${name}${unit}96hs18
+
+ mknod ${name}${unit}.1440 b $blk `expr $unit '*' 64 + 3`
+ mknod r${name}${unit}.1440 c $chr `expr $unit '*' 64 + 3`
+ # ln ${name}${unit}.1440 ${name}${unit}135
+ # ln r${name}${unit}.1440 r${name}${unit}135
+ # ln ${name}${unit}.1440 ${name}${unit}135ds18
+ # ln r${name}${unit}.1440 r${name}${unit}135ds18
+ # ln ${name}${unit}.1440 ${name}${unit}96ds18
+ # ln r${name}${unit}.1440 r${name}${unit}96ds18
+
+ mknod ${name}${unit}.1200 b $blk `expr $unit '*' 64 + 4`
+ mknod r${name}${unit}.1200 c $chr `expr $unit '*' 64 + 4`
+ # ln ${name}${unit}.1200 ${name}${unit}96
+ # ln r${name}${unit}.1200 r${name}${unit}96
+ # ln ${name}${unit}.1200 ${name}${unit}96ds15
+ # ln r${name}${unit}.1200 r${name}${unit}96ds15
+ # ln ${name}${unit}.1200 ${name}${unit}135ds15
+ # ln r${name}${unit}.1200 r${name}${unit}135ds15
+
+ mknod ${name}${unit}.820 b $blk `expr $unit '*' 64 + 5`
+ mknod r${name}${unit}.820 c $chr `expr $unit '*' 64 + 5`
+ # ln ${name}${unit}.820 ${name}${unit}96hs10
+ # ln r${name}${unit}.820 r${name}${unit}96hs10
+ # ln ${name}${unit}.820 ${name}${unit}135hs10
+ # ln r${name}${unit}.820 r${name}${unit}135hs10
+
+ mknod ${name}${unit}.800 b $blk `expr $unit '*' 64 + 6`
+ mknod r${name}${unit}.800 c $chr `expr $unit '*' 64 + 6`
+ # ln ${name}${unit}.800 ${name}${unit}96ds10
+ # ln r${name}${unit}.800 r${name}${unit}96ds10
+ # ln ${name}${unit}.800 ${name}${unit}135ds10
+ # ln r${name}${unit}.800 r${name}${unit}135ds10
+
+ mknod ${name}${unit}.720 b $blk `expr $unit '*' 64 + 7`
+ mknod r${name}${unit}.720 c $chr `expr $unit '*' 64 + 7`
+ # ln ${name}${unit}.720 ${name}${unit}96ds9
+ # ln r${name}${unit}.720 r${name}${unit}96ds9
+ # ln ${name}${unit}.720 ${name}${unit}135ds9
+ # ln r${name}${unit}.720 r${name}${unit}135ds9
+
+ mknod ${name}${unit}.360 b $blk `expr $unit '*' 64 + 8`
+ mknod r${name}${unit}.360 c $chr `expr $unit '*' 64 + 8`
+ # ln ${name}${unit}.360 ${name}${unit}48
+ # ln r${name}${unit}.360 r${name}${unit}48
+ # ln ${name}${unit}.360 ${name}${unit}48ds9
+ # ln r${name}${unit}.360 r${name}${unit}48ds9
+
+ chgrp operator ${name}${unit}* r${name}${unit}*
+ ;;
+ *)
+ echo bad unit for disk in: $i
+ ;;
+ esac
+ umask 77
;;
-ccd*|cd*|fd*|md*|sd*|vnd*|wd*)
+ft*)
+ umask $tape_umask
+ unit=`expr $i : '..\(.*\)'`
+ name=ft; blk=2; chr=9
+ case $unit in
+ 0|1|2|3)
+ mknod ${name}${unit} b $blk `expr $unit '*' 64 + 32`
+ mknod r${name}${unit} c $chr `expr $unit '*' 64 + 32`
+ ln ${name}${unit} ${name}${unit}a
+ ln r${name}${unit} r${name}${unit}a
+ chgrp operator ${name}${unit}* r${name}${unit}*
+ ;;
+ *)
+ echo bad unit for tape in: $i
+ ;;
+ esac
+ umask 77
+ ;;
+
+od*|sd*|vn*|wd*|wfd*)
+ umask $disk_umask
case $i in
- ccd*) name=ccd; unit=${i#ccd}; blk=7; chr=27;;
- cd*) name=cd; unit=${i#cd}; blk=3; chr=13;;
- fd*) name=fd; unit=${i#fd}; blk=0; chr=34;;
- md*) name=md; unit=${i#md}; blk=6; chr=28;;
- sd*) name=sd; unit=${i#sd}; blk=8; chr=8;;
- vnd*) name=vnd; unit=${i#vnd}; blk=9; chr=9;;
- wd*) name=wd; unit=${i#wd}; blk=4; chr=36;;
+ od*) name=od; blk=20; chr=70;;
+ sd*) name=sd; blk=4; chr=13;;
+ vn*) name=vn; blk=15; chr=43;;
+ wd*) name=wd; blk=0; chr=3;;
+ wfd*) name=wfd; blk=1; chr=87;;
esac
- rm -f $name$unit? r$name$unit?
- mknod ${name}${unit}a b $blk $(($unit * 8 + 0))
- mknod ${name}${unit}b b $blk $(($unit * 8 + 1))
- mknod ${name}${unit}c b $blk $(($unit * 8 + 2))
- mknod ${name}${unit}d b $blk $(($unit * 8 + 3))
- mknod ${name}${unit}e b $blk $(($unit * 8 + 4))
- mknod ${name}${unit}f b $blk $(($unit * 8 + 5))
- mknod ${name}${unit}g b $blk $(($unit * 8 + 6))
- mknod ${name}${unit}h b $blk $(($unit * 8 + 7))
- mknod r${name}${unit}a c $chr $(($unit * 8 + 0))
- mknod r${name}${unit}b c $chr $(($unit * 8 + 1))
- mknod r${name}${unit}c c $chr $(($unit * 8 + 2))
- mknod r${name}${unit}d c $chr $(($unit * 8 + 3))
- mknod r${name}${unit}e c $chr $(($unit * 8 + 4))
- mknod r${name}${unit}f c $chr $(($unit * 8 + 5))
- mknod r${name}${unit}g c $chr $(($unit * 8 + 6))
- mknod r${name}${unit}h c $chr $(($unit * 8 + 7))
- chgrp operator ${name}${unit}[a-h] r${name}${unit}[a-h]
- chmod 640 ${name}${unit}[a-h] r${name}${unit}[a-h]
- ;;
-
-ttyB*|ttyC*|ttyE*)
case $i in
- ttyB*) name=ttyB; unit=${i#ttyB}; major=15; minor=$(($unit * 2));;
- ttyC*) name=ttyC; unit=${i#ttyC}; major=26; minor=$unit;;
- ttyE*) name=ttyE; unit=${i#ttyE}; major=25; minor=$unit;;
+ wfd*)
+ unit=`expr $i : '...\(.*\)'`
+ ;;
+ *)
+ unit=`expr $i : '..\(.*\)'`
+ ;;
+ esac
+ case $unit in
+ [0-9]|[0-9][0-9]|[0-4][0-9][0-9]|50[0-9]|51[0-1])
+ for slicepartname in s0h s1 s2 s3 s4
+ do
+ sh MAKEDEV $name$unit$slicepartname
+ done
+ case $name in
+ od|sd)
+ minor=`dkminor 0 $unit 0 0`
+ mknod r${name}${unit}.ctl c $chr $(($minor | $scsictl))
+ chmod 600 r${name}${unit}.ctl
+ ;;
+ esac
+ ;;
+ *)
+ echo bad unit for disk in: $i
+ ;;
esac
- rm -f $name$unit
- mknod $name$unit c $major $minor
- chown uucp.wheel $name$unit
- ;;
+ umask 77
+ ;;
+
+ccd*)
+ umask $disk_umask
+ name=ccd
+ blk=21; chr=74
+ unit=`expr $i : '...\(.*\)'`
+ case $unit in
+ [0-9]|[0-9][0-9]|[0-4][0-9][0-9]|50[0-9]|51[0-1])
+ for part in 0 1 2 3 4 5 6 7
+ do
+ minor=`dkminor 0 $unit 0 $part`
+ partname=`dkitop $part`
+ mknod $name$unit$partname b $blk $minor
+ mknod r$name$unit$partname c $chr $minor
+ done
+ chgrp operator ${name}${unit}[a-h] r${name}${unit}[a-h]
+ ;;
+ *)
+ echo bad unit for disk in: $i
+ ;;
+ esac
+ umask 77
+ ;;
+
+ssc*)
+ mknod ssc c 49 0
+ ;;
+
+uk*)
+ unit=`expr $i : 'uk\(.*\)'`
+ mknod uk$unit c 31 $unit
+ ;;
+
+worm*)
+ umask $disk_umask
+ unit=`expr $i : 'worm\(.*\)'`
+ if [ "X${unit}" = "X" ]; then
+ unit=0
+ fi
+ chr=62
+ blk=23
+ name=worm
+ mknod ${name}${unit} b $blk ${unit}
+ mknod r${name}${unit} c $chr ${unit}
+ chgrp operator ${name}${unit} r${name}${unit}
+ umask 077
+ mknod r${name}${unit}.ctl c $chr `expr $unit + $scsictl `
+ ;;
+
+# SCSI processor type driver
+pt[0-9]*)
+ chr=61
+ name=pt
+ unit=`expr $i : 'pt\([0-9][0-9]*\)'`
+ if [ "X${unit}" = "X" ]; then
+ unit=0
+ fi
+ unit=`expr $unit + 1 - 1`
+ mknod ${name}${unit} c $chr $unit
+ mknod ${name}${unit}.ctl c $chr `expr $unit + $scsictl `
+ ;;
pty*)
- class=${i#pty}
+ class=`expr $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;;
- 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 ;;
+ 0) offset=0 name=p;;
+ 1) offset=32 name=q;;
+ 2) offset=64 name=r;;
+ 3) offset=96 name=s;;
+# Note that xterm (at least) only look at p-s.
+ 4) offset=128 name=P;;
+ 5) offset=160 name=Q;;
+ 6) offset=192 name=R;;
+ 7) offset=224 name=S;;
+ # This still leaves [tuTU].
+ *) echo bad unit for pty in: $i;;
+ esac
+ case $class in
+ 0|1|2|3|4|5|6|7)
+ umask 0
+ eval `echo $offset $name | awk ' { b=0+$1; n=$2 } END { \
+ for (i = 0; i < 32; i++) {
+ c = substr("0123456789abcdefghijklmnopqrstuv", i + 1, 1); \
+ printf("mknod tty%s%s c 5 %d; \
+ mknod pty%s%s c 6 %d;", \
+ n, c, b+i, \
+ n, c, b+i); \
+ } \
+ }'`
+ umask 77
+ ;;
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
- 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 4 $unit
- mknod pty$name$j c 5 $unit
- done
- chgrp wheel tty$name? pty$name?
- chmod 666 tty$name? pty$name?
;;
st*)
- case $i in
- st*) name=st; unit=${i#st}; chr=12; blk=2;;
+ umask $tape_umask
+ unit=`expr $i : '..\(.*\)'`
+ chr=14
+
+ case $unit in
+ 0|1|2|3|4|5|6)
+ for mode in 0 1 2 3
+ do
+ mknod rst${unit}.${mode} c $chr `expr $unit '*' 16 + $mode '*' 4 + 0`
+ mknod nrst${unit}.${mode} c $chr `expr $unit '*' 16 + $mode '*' 4 + 1`
+ mknod erst${unit}.${mode} c $chr `expr $unit '*' 16 + $mode '*' 4 + 2`
+ mknod st${unit}ctl.${mode} c $chr `expr $unit '*' 16 + $mode '*' 4 + 3`
+ chgrp operator rst${unit}.${mode}\
+ nrst${unit}.${mode} \
+ erst${unit}.${mode} \
+ st${unit}ctl.${mode}
+ chmod 600 st${unit}ctl.${mode}
+ done
+ mknod rst${unit}.ctl c $chr `expr $unit '*' 16 + $scsictl `
+ chmod 600 rst${unit}.ctl
+
+ ln rst${unit}.0 rst${unit}
+ ln nrst${unit}.0 nrst${unit}
+ ln erst${unit}.0 erst${unit}
+ ;;
+ *)
+ echo bad unit for tape in: $i
+ ;;
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
- mknod ${name}${unit} b $blk $(($unit * 16+ 0))
- mknod n${name}${unit} b $blk $(($unit * 16+ 1))
- mknod e${name}${unit} b $blk $(($unit * 16+ 2))
- mknod en${name}${unit} b $blk $(($unit * 16+ 3))
- mknod r${name}${unit} c $chr $(($unit * 16+ 0))
- mknod nr${name}${unit} c $chr $(($unit * 16+ 1))
- mknod er${name}${unit} c $chr $(($unit * 16+ 2))
- mknod enr${name}${unit} c $chr $(($unit * 16+ 3))
- chgrp 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}
- ;;
-
-ch*|uk*)
+ umask 77
+ ;;
+
+ch*)
+ umask 37
+ unit=`expr $i : '..\(.*\)'`
case $i in
- ch*) name=ch; unit=${i#ch}; chr=14;;
- uk*) name=uk; unit=${i#uk}; chr=33;;
+ ch*) name=ch; chr=17;;
+ esac
+ case $unit in
+ 0|1|2|3|4|5|6)
+ mknod ${name}${unit} c $chr `expr $unit '*' 16 + 0`
+ chgrp operator ${name}${unit}
+ mknod r${name}${unit}.ctl c $chr `expr $unit '*' 16 + $scsictl `
+ chmod 600 r${name}${unit}.ctl
+ ;;
+ *)
+ echo bad unit for media changer in: $i
+ ;;
esac
- rm -f $name$unit
- mknod $name$unit c $chr $unit
- chgrp operator $name$unit
- chmod 640 $name$unit
+ umask 77
;;
-ss*)
+cd*|mcd*|scd*)
+ umask $disk_umask
case $i in
- ss*) name=ss; unit=${i#ss}; chr=32;;
+ cd*) unit=`expr $i : '..\(.*\)'`; name=cd; blk=6; chr=15;;
+ mcd*) unit=`expr $i : '...\(.*\)'`; name=mcd; blk=7; chr=29;;
+ scd*) unit=`expr $i : '...\(.*\)'`; name=scd; blk=16; chr=45;;
esac
- rm -f $name$unit n$name$unit 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 $name$unit n$name$unit en$name$unit
- chmod 640 $name$unit n$name$unit en$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`
+ chgrp operator ${name}${unit}[a-h] r${name}${unit}[a-h]
+ case $name in
+ cd)
+ mknod r${name}${unit}.ctl c $chr `expr $unit '*' 8 + $scsictl `
+ chmod 600 r${name}${unit}.ctl
+ ;;
+ esac
+ ;;
+ *)
+ echo bad unit for disk in: $i
+ ;;
+ esac
+ umask 77
;;
-bpf*|tun*)
+matcd*)
+ umask 2
case $i in
- bpf*) name=bpf; unit=${i#bpf}; chr=11;;
- tun*) name=tun; unit=${i#tun}; chr=7;;
+ matcd*) unit=`expr $i : '.....\(.*\)'`; name=matcd; blk=17; chr=46;;
+ esac
+ case $unit in
+ 0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15)
+ 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`
+ chgrp operator ${name}${unit}[a-h] r${name}${unit}[a-h]
+ chmod 640 ${name}${unit}[a-h] r${name}${unit}[a-h]
+
+ mknod ${name}${unit}la b $blk `expr $unit '*' 8 + 128`
+ mknod ${name}${unit}lc b $blk `expr $unit '*' 8 + 130`
+ mknod r${name}${unit}la c $chr `expr $unit '*' 8 + 128`
+ mknod r${name}${unit}lc c $chr `expr $unit '*' 8 + 130`
+ chgrp operator ${name}${unit}l[a-h] r${name}${unit}l[a-h]
+ chmod 640 ${name}${unit}l[a-h] r${name}${unit}l[a-h]
+ ;;
+ *)
+ echo bad unit for disk in: $i
+ ;;
+ esac
+ umask 77
+ ;;
+
+wcd*)
+ umask 2 ;
+ unit=`expr $i : '...\(.*\)'`
+ blk=19
+ chr=69
+ case $unit in
+ 0|1|2|3)
+ mknod wcd${unit}a b $blk `expr $unit '*' 8 + 0`
+ mknod rwcd${unit}a c $chr `expr $unit '*' 8 + 0`
+ mknod wcd${unit}c b $blk `expr $unit '*' 8 + 2`
+ mknod rwcd${unit}c c $chr `expr $unit '*' 8 + 2`
+ chgrp operator wcd${unit}[a-h] rwcd${unit}[a-h]
+ chmod 640 wcd${unit}[a-h] rwcd${unit}[a-h]
+ ;;
+ *)
+ echo bad unit for disk in: $i
+ ;;
esac
- rm -f $name$unit
- mknod $name$unit c $chr $unit
- chown root.wheel $name$unit
+ umask 77
;;
-lkm)
- rm -f lkm
- mknod lkm c 16 0
- chown root.kmem lkm
- chmod 640 lkm
+lpt*)
+ unit=`expr $i : 'lpt\(.*\)'`
+ mknod lpt$unit c 16 $unit
+ mknod lpctl$unit c 16 `expr $unit + 128`
;;
-kbd)
- rm -f kbd
- mknod kbd c 29 0
- chmod 666 kbd
+tw*)
+ unit=`expr $i : 'tw\(.*\)'`
+ mknod tw$unit c 19 $unit
+ chgrp operator tw$unit
;;
-mouse)
- rm -f mouse
- mknod mouse c 30 0
- chmod 666 mouse
+# Use this to create virtual consoles for syscons, pcvt or codrv
+# ttyv0-b
+# use as MAKEDEV vtyNN to create NN entries
+vty*)
+ chr=12
+ units=`expr $i : 'vty\(.*\)'`
+ eval `echo ${chr} ${units} | awk ' { c=0+$1; n=0+$2 } END {
+ for (i = 0; i < n; i++)
+ printf("mknod ttyv%01x c %d %d;", i, c, i); }'`
+ ln -fs ttyv0 vga # XXX X still needs this pccons relic
;;
-audio*)
- unit=${i#audio}
- audio=audio$unit
- sound=sound$unit
- mixer=mixer$unit
- major=24
- audioctl=audioctl$unit
- if [ "$unit" = "" ]; then unit=0; fi
- rm -f $audio $sound $mixer $audioctl
- mknod $sound c $major $(($unit + 0))
- mknod $audio c $major $(($unit + 128))
- mknod $mixer c $major $(($unit + 16))
- mknod $audioctl c $major $(($unit + 192))
- chown root.wheel $audio $sound $mixer $audioctl
- chmod 666 $audio $sound $mixer $audioctl
+bpf*)
+ unit=`expr $i : 'bpf\(.*\)'`
+ mknod bpf$unit c 23 $unit
;;
-lpt*|lpa*)
+speaker)
+ mknod speaker c 26 0
+ ;;
+
+cuaa?|cua?)
+ umask 7
+ unit=`expr $i : 'cua.*\(.\)$'`
+ m=`ttyminor $unit`
+ mknod cuaa$unit c 28 `expr $m + 128`
+ mknod cuaia$unit c 28 `expr $m + 32 + 128`
+ mknod cuala$unit c 28 `expr $m + 64 + 128`
+ chown uucp.dialer cua*a$unit
+ umask 77
+ ;;
+
+tty0?|ttyd?|tty?)
+ unit=`expr $i : 'tty.*\(.\)$'`
+ m=`ttyminor $unit`
+ mknod ttyd$unit c 28 $m
+ mknod ttyid$unit c 28 `expr $m + 32`
+ mknod ttyld$unit c 28 `expr $m + 64`
+ ;;
+
+cuac?)
+ umask 7
+ portlist="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"
+ major=48
+ card=`expr $i : 'cua.*\(.\)$'`
+ for unit in $portlist
+ do
+ minor=`ttyminor $unit`
+ minor=`expr $card \* 65536 + $minor`
+ name=$card$unit
+ mknod cuac$name c $major `expr $minor + 128`
+ mknod cuaic$name c $major `expr $minor + 32 + 128`
+ mknod cualc$name c $major `expr $minor + 64 + 128`
+ chown uucp.dialer cuac$name cuaic$name cualc$name
+ done
+ umask 77
+ ;;
+
+ttyc?)
+ portlist="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"
+ major=48
+ card=`expr $i : 'tty.*\(.\)$'`
+ for unit in $portlist
+ do
+ minor=`ttyminor $unit`
+ minor=`expr $card \* 65536 + $minor`
+ name=$card$unit
+ mknod ttyc$name c $major $minor
+ mknod ttyic$name c $major `expr $minor + 32`
+ mknod ttylc$name c $major `expr $minor + 64`
+ done
+ ;;
+
+# RISCom8 'rc' driver entries
+
+cuam?)
+ umask 7
+ unit=`expr $i : 'cua.*\(.\)$'`
+ m=`ttyminor $unit`
+ mknod cuam$unit c 63 `expr $m + 128`
+ chown uucp.dialer cuam$unit
+ umask 77
+ ;;
+
+ttym?)
+ unit=`expr $i : 'tty.*\(.\)$'`
+ m=`ttyminor $unit`
+ mknod ttym$unit c 63 $m
+ ;;
+
+# Specialix SI/XIO.
+# Note: these are 'base 1' to match the numbers on the panels, and to match
+# the manual that comes with the system.
+ttyA*)
+ major=68
+ nports=`expr $i : 'ttyA\(.*\)$'`
+ port=1
+ while [ $port -le $nports ]; do
+ minor=`expr $port - 1`
+ name=`expr $port + 1000 | cut -c 3-4`
+ mknod ttyA$name c $major $minor
+ mknod ttyiA$name c $major `expr $minor + 65536`
+ mknod ttylA$name c $major `expr $minor + 131072`
+ port=`expr $port + 1`
+ done
+ # For the user-mode control program, 'sicontrol'
+ mknod si_control c 68 262144
+ ;;
+
+cuaA*)
+ umask 7
+ major=68
+ nports=`expr $i : 'cuaA\(.*\)$'`
+ port=1
+ while [ $port -le $nports ]; do
+ minor=`expr $port - 1`
+ name=`expr $port + 1000 | cut -c 3-4`
+ mknod cuaA$name c $major `expr $minor + 128`
+ mknod cuaiA$name c $major `expr $minor + 128 + 65536`
+ mknod cualA$name c $major `expr $minor + 128 + 131072`
+ chown uucp.dialer cuaA$name cuaiA$name cualA$name
+ port=`expr $port + 1`
+ done
+ umask 77
+ ;;
+
+# Digiboard PC/?? 16 port card.
+# The current scheme of minor numbering is:
+#
+# unused{14} CARD{2} major{8} CALLOUT{1} LOCK{1} INIT{1} PORT{5}
+#
+# CARD bitfield in future versions may be extended to 3 bits.
+#
+# See dgb(4)
+#
+ttyD?)
+ portlist="0 1 2 3 4 5 6 7 8 9 a b c d e f"
+ major=58
+ card=`expr $i : 'tty.*\(.\)$'`
+ for unit in $portlist
+ do
+ minor=`ttyminor $unit`
+ minor=`expr $card \* 65536 + $minor`
+ name=$card$unit
+ mknod ttyD$name c $major $minor
+ mknod ttyiD$name c $major `expr $minor + 32`
+ mknod ttylD$name c $major `expr $minor + 64`
+ done
+ ;;
+
+cuaD?)
+ umask 7
+ portlist="0 1 2 3 4 5 6 7 8 9 a b c d e f"
+ major=58
+ card=`expr $i : 'cua.*\(.\)$'`
+ for unit in $portlist
+ do
+ minor=`ttyminor $unit`
+ minor=`expr $card \* 65536 + $minor`
+ name=$card$unit
+ mknod cuaD$name c $major `expr $minor + 128`
+ mknod cuaiD$name c $major `expr $minor + 32 + 128`
+ mknod cualD$name c $major `expr $minor + 64 + 128`
+ chown uucp.dialer cua*D$name
+ done
+ umask 77
+ ;;
+
+ttyR?)
+ major=81
+ BOARD=1; MINOR=65536; Rnum=0
+ MINOR=`expr $BOARD \* 65536`
+ dmesg | grep ^RocketPort[0-4] > /tmp/rp_list
+ controllers=`awk '{print $1}' < /tmp/rp_list`
+ rm -f /dev/ttyR*; rm -f /dev/ttyiR*; rm -f /dev/ttylR*
+ for i in $controllers;do
+ ndevices=`grep ^$i /tmp/rp_list | sed -e 's/.* \([0-9]*\) ports/\1/'`
+ echo -n "Creating $ndevices devices for $i: "
+ for dev in `jot $ndevices 0`;do
+ mknod /dev/ttyR$Rnum c $major $MINOR
+ mknod /dev/ttylR$Rnum c $major `expr $MINOR + 32`
+ mknod /dev/ttyiR$Rnum c $major `expr $MINOR + 64`
+ Rnum=`expr $Rnum + 1`
+ MINOR=`expr $MINOR + 1`
+ done
+ BOARD=`expr $BOARD + 1`
+ MINOR=`expr $BOARD \* 65536`
+ echo " "
+ done
+ ;;
+
+cuaR?)
+ major=81
+ BOARD=1; MINOR=65536; Rnum=0
+ MINOR=`expr $BOARD \* 65536`
+ dmesg | grep ^RocketPort[0-4] > /tmp/rp_list
+ controllers=`awk '{print $1}' < /tmp/rp_list`
+ rm -f /dev/cuaR*; rm -f /dev/cuaiR*; rm -f /dev/cualR*
+ for i in $controllers;do
+ ndevices=`grep ^$i /tmp/rp_list | sed -e 's/.* \([0-9]*\) ports/\1/'`
+ echo -n "Creating $ndevices devices for $i: "
+ for dev in `jot $ndevices 0`;do
+ mknod /dev/cuaR$Rnum c $major `expr $MINOR + 128`
+ mknod /dev/cualR$Rnum c $major `expr $MINOR + 128 + 32`
+ mknod /dev/cuaiR$Rnum c $major `expr $MINOR + 128 + 64`
+ Rnum=`expr $Rnum + 1`
+ MINOR=`expr $MINOR + 1`
+ done
+ BOARD=`expr $BOARD + 1`
+ MINOR=`expr $BOARD \* 65536`
+ echo " "
+ done
+ chown uucp.dialer /dev/cuaR*
+ ;;
+
+mse*)
+ unit=`expr $i : 'mse\(.*\)'`
+ chr=27
+ mknod mse$unit c $chr `expr $unit '*' 2 + 1` # non-blocking for X11
+ ;;
+
+psm*)
+ unit=`expr $i : 'psm\(.*\)'`
+ chr=21
+ mknod psm$unit c $chr `expr $unit '*' 2 + 1` # non-blocking for X11
+ ;;
+
+mouse*)
+ name=`expr $i : 'mouse\(.*\)'`
+ if [ ! -c $name ]; then
+ $0 $name # make the appropriate device
+ fi
+ ln -fs $name mouse
+ ;;
+
+pcaudio)
+ mknod pcaudio c 24 0
+ mknod pcaudioctl c 24 128
+ ;;
+
+socksys)
+ mknod socksys c 41 0
+ mknod spx c 41 1
+ ln -fs socksys nfsd
+ chmod 666 socksys nfsd spx
+ ;;
+
+snd*)
+#
+# changes from Linux voxware
+# minor Linux FreeBSD
+# 8 sequencer2 (aka music0) music0
+# 17 patmgr0 sequencer1
+# 33 patmgr1 sequencer2
+#
+
+ unit=`expr $i : 'snd\(.*\)'`
+ chr=30
+
+ # XXX write this less verbosely, like std
+ snd_security_hole=0 # XXX
+ umask $snd_security_hole
+
+ if [ $unit = "0" ] ; then
+ ln -fs mixer$unit mixer
+ ln -fs sequencer$unit sequencer
+ ln -fs dsp$unit dsp
+ ln -fs audio$unit audio
+ ln -fs dspW$unit dspW
+ ln -fs music$unit music
+ ln -fs pss$unit pss
+ fi
+
+ mknod mixer$unit c $chr `expr $unit '*' 16 + 0`
+ mknod sequencer$unit c $chr `expr $unit '*' 16 + 1`
+ mknod midi$unit c $chr `expr $unit '*' 16 + 2`
+ mknod dsp$unit c $chr `expr $unit '*' 16 + 3`
+ mknod audio$unit c $chr `expr $unit '*' 16 + 4`
+ mknod dspW$unit c $chr `expr $unit '*' 16 + 5`
+ mknod sndstat c $chr 6
+ # minor number 7 is unused
+ mknod music$unit c $chr `expr $unit '*' 16 + 8`
+ mknod pss$unit c $chr `expr $unit '*' 16 + 9`
+ # minor numbers 10-15 are unused
+ umask 77
+ ;;
+
+vat)
+ mknod vatio c 25 128
+ chmod 660 vatio
+ ;;
+
+gsc*)
+ unit=`expr $i : 'gsc\(.*\)'`
+ mknod gsc${unit} c 47 $unit
+ mknod gsc${unit}p c 47 $(($unit + 8))
+ mknod gsc${unit}d c 47 $(($unit + 32))
+ mknod gsc${unit}pd c 47 $(($unit + 40))
+ chmod 666 gsc${unit}*
+ ;;
+
+apm*)
+ chr=39
+ mknod apm c $chr 0
+ chgrp operator apm
+ chmod 660 apm
+ ;;
+
+card*)
+ unit=`expr $i : 'card\(.*\)'`
+ chr=50
+ mknod card$unit c $chr $unit
+ chmod 644 card$unit
+ ;;
+
+ttyx?|ttyy?|ttyz?)
case $i in
- lpt*) name=lpt; unit=${i#lpt}; flags=0;;
- lpa*) name=lpa; unit=${i#lpa}; flags=128;;
+ *0) unit=0;; *1) unit=1;; *2) unit=2;; *3) unit=3;;
+ *4) unit=4;; *5) unit=5;; *6) unit=6;; *7) unit=7;;
+ *8) unit=8;; *9) unit=9;; *a) unit=10;; *b) unit=11;;
+ *c) unit=12;; *d) unit=13;; *e) unit=14;; *f) unit=15;;
esac
- rm -f $name$unit
- mknod $name$unit c 31 $(($unit + $flags))
- chown root.wheel $name$unit
+ case $i in
+ ttyy?) unit=`expr $unit \+ 16`;;
+ ttyz?) unit=`expr $unit \+ 32`;;
+ esac
+ mknod $i c 42 $unit
+ chown uucp.wheel $i
;;
-ipl)
- rm -f ipl ipnat ipstate ipauth
- mknod ipl c 35 0
- mknod ipnat c 35 1
- mknod ipstate c 35 2
- mknod ipauth c 35 3
- chown root.wheel ipl ipnat ipstate ipauth
- chmod 600 ipl ipnat ipstate ipauth
+cronyx)
+ mknod cronyx c 42 63
;;
-satlink*)
- unit=${i#satlink};
- rm -f satlink$unit
- mknod satlink$unit c 38 $unit
- chmod 444 satlink$unit
+joy)
+ mknod joy0 c 51 0
+ mknod joy1 c 51 1
+ chgrp operator joy0 joy1
+ chmod 640 joy0 joy1
;;
-speaker)
- rm -f speaker
- mknod speaker c 41 0
- chown root.wheel speaker
+spigot)
+ mknod spigot c 11 0
+ chmod 444 spigot
+ ;;
+
+ctx?)
+ unit=`expr $i : 'ctx\(.*\)'`
+ mknod ctx$unit c 40 $unit
+ chmod 444 ctx$unit
+ ;;
+
+meteor?)
+ unit=`expr $i : 'meteor\(.*\)'`
+ mknod meteor$unit c 67 $unit
+ chmod 444 meteor$unit
+ ;;
+
+bktr?)
+ unit=`expr $i : 'bktr\(.*\)'`
+ mknod bktr$unit c 92 $unit
+ mknod tuner$unit c 92 $((16 + $unit ))
+ chmod 444 bktr$unit tuner$unit
+ ;;
+
+tun*)
+ ntun=`expr $i : 'tun\(.*\)$'`
+ unit=0
+ while [ $unit -le $ntun ]; do
+ mknod tun$unit c 52 $unit
+ chown uucp.dialer tun$unit
+ unit=`expr $unit + 1`
+ done
+ ;;
+
+sysmouse)
+ mknod sysmouse c 12 128
+ mknod consolectl c 12 255
+ ;;
+
+snp?)
+ unit=`expr $i : 'snp\(.*\)'`
+ mknod snp$unit c 53 $unit
+ ;;
+
+# dufault@hda.com: If I do much more work on other A-D boards
+# then eventually we'll have a "ad" and "dio" interface and some of these
+# "labpcaio" ones will be gone.
+# labpcaio: D-A and A-D.
+# labpcdio: Digital in and Digital out.
+#
+labpc*)
+ umask 7
+ case $i in
+ labpcaio*)
+ name=labpcaio
+ unit=`expr $i : 'labpcaio\(.*\)'`
+ all="0 1 2 3 4 5 6 7"
+ offset=0
+ ;;
+ labpcdio*)
+ name=labpcdio
+ unit=`expr $i : 'labpcdio\(.*\)'`
+ all="0 1 2 3"
+ offset=8
+ ;;
+ *)
+ die 3 "Don't know LabPC type $i"
+ ;;
+ esac
+ if [ "X${unit}" = "X" ]; then
+ unit=all
+ fi
+ case $unit in
+ 0|1|2|3|4|5|6|7)
+ mknod $name$unit c 66 `expr $offset + $unit `
+ ;;
+ all)
+ for i in $all
+ do
+ mknod $name$i c 66 `expr $offset + $i `
+ done
+ ;;
+ *)
+ echo "No such LabPC unit: $unit"
+ ;;
+ esac
+ umask 77
+ ;;
+
+perfmon)
+ mknod perfmon c 2 32
+ chgrp kmem perfmon
+ chmod 640 perfmon
;;
-random)
- rm -f random urandom
- mknod random c 39 0
- mknod urandom c 39 1
- chown root.wheel random urandom
- chmod 444 random
- chmod 644 urandom
+ipl)
+ mknod ipl c 79 0
+ mknod ipnat c 79 1
+ mknod ipstate c 79 2
+ mknod ipauth c 79 3
;;
local)
- umask 0
- sh $0.local all
+ umask 0 # XXX should be elsewhere
+ sh MAKEDEV.local
umask 77
;;
*)
- echo $i: unknown device
+ echo $i - no such device name
;;
esac
diff --git a/etc/etc.alpha/rc.alpha b/etc/etc.alpha/rc.alpha
index 624cf1e..81bbfaa 100644
--- a/etc/etc.alpha/rc.alpha
+++ b/etc/etc.alpha/rc.alpha
@@ -1,8 +1,98 @@
#!/bin/sh -
#
-# $Id: rc.i386,v 1.34 1998/04/02 15:33:49 ache Exp $
+# $Id: rc.alpha,v 1.1 1998/05/20 03:01:42 jkh Exp $
# Do alpha specific processing
#
echo -n 'Initial rc.alpha initialization:'
echo '.'
+
+##########################################################################
+####### Syscons section ########
+##########################################################################
+
+# stdin must be redirected because it might be for a serial console
+kbddev=/dev/ttyv0
+viddev=/dev/ttyv0
+
+echo -n "rc.alpha configuring syscons:"
+
+# keymap
+if [ "X${keymap}" != X"NO" ]; then
+ echo -n ' keymap'; kbdcontrol <${kbddev} -l ${keymap}
+fi
+
+# keyrate
+if [ "X${keyrate}" != X"NO" ]; then
+ echo -n ' keyrate'; kbdcontrol <${kbddev} -r ${keyrate}
+fi
+
+# keybell
+if [ "X${keybell}" != X"NO" ]; then
+ echo -n ' keybell'; kbdcontrol <${kbddev} -b ${keybell}
+fi
+
+# change function keys
+if [ "X${keychange}" != X"NO" ]; then
+ echo -n " keychange"
+ set - ${keychange}
+ while [ $# -gt 0 ]
+ do
+ kbdcontrol <${kbddev} -f "$1" "$2"
+ shift; shift
+ done
+fi
+
+# cursor type
+if [ "X${cursor}" != X"NO" ]; then
+ echo -n ' cursor'; vidcontrol <${viddev} -c ${cursor}
+fi
+
+# screen mapping
+if [ "X${scrnmap}" != X"NO" ]; then
+ echo -n ' screen_map'; vidcontrol <${viddev} -l ${scrnmap}
+fi
+
+# font 8x16
+if [ "X${font8x16}" != X"NO" ]; then
+ echo -n ' font8x16'; vidcontrol <${viddev} -f 8x16 ${font8x16}
+fi
+
+# font 8x14
+if [ "X${font8x14}" != X"NO" ]; then
+ echo -n ' font8x14'; vidcontrol <${viddev} -f 8x14 ${font8x14}
+fi
+
+# font 8x8
+if [ "X${font8x8}" != X"NO" ]; then
+ echo -n ' font8x8'; vidcontrol <${viddev} -f 8x8 ${font8x8}
+fi
+
+# blank time
+if [ "X${blanktime}" != X"NO" ]; then
+ echo -n ' blank_time'; vidcontrol <${viddev} -t ${blanktime}
+fi
+
+# screen saver
+if [ "X${saver}" != X"NO" ] ; then
+ echo -n ' screensaver'
+ modstat | grep -q _saver || \
+ modload -u -o /tmp/saver_mod -q /lkm/${saver}_saver_mod.o
+fi
+
+# mouse daemon
+if [ "X${moused_enable}" = X"YES" ] ; then
+ echo -n ' moused'
+ moused ${moused_flags} -p ${moused_port} -t ${moused_type}
+ vidcontrol <${viddev} -m on
+fi
+
+# set this mode for all virtual screens
+if [ "X${allscreens_flags}" != X"" ] ; then
+ echo -n ' allscreens'
+ for ttyv in /dev/ttyv*
+ do
+ vidcontrol <$ttyv ${allscreens_flags}
+ done
+fi
+echo '.'
diff --git a/etc/etc.alpha/ttys b/etc/etc.alpha/ttys
index d9ab7aa..1de53e8 100644
--- a/etc/etc.alpha/ttys
+++ b/etc/etc.alpha/ttys
@@ -1,56 +1,277 @@
-# $Id$
-# From NetBSD: ttys,v 1.4 1995/07/30 19:52:13 cgd Exp
+#
+# @(#)ttys 5.1 (Berkeley) 4/17/89
#
# name getty type status comments
-
-# In normal operation, getty on 'console' pseudo-device is disabled, and is
-# enabled for the correct 'real' device (e.g. one of the serial ports).
-
-# console pseudo-device
-console "/usr/libexec/getty std.9600" unknown on secure
-
-# Workstation console (framebuffer) ttys
-ttyE0 "/usr/libexec/getty std.9600" unknown off secure
-ttyE1 "/usr/libexec/getty std.9600" unknown off secure
-
-# DEC 3000 Z8530 ("scc") serial ports
-ttyB0 "/usr/libexec/getty std.9600" unknown off secure
-ttyB1 "/usr/libexec/getty std.9600" unknown off secure
-
-# AlphaStation NS16550 ("com") serial ports
-ttyC0 "/usr/libexec/getty std.9600" unknown off secure
-ttyC1 "/usr/libexec/getty std.9600" unknown off secure
-
-# pseudo-ttys
-ttyp0 none network
-ttyp1 none network
-ttyp2 none network
-ttyp3 none network
-ttyp4 none network
-ttyp5 none network
-ttyp6 none network
-ttyp7 none network
-ttyp8 none network
-ttyp9 none network
-ttypa none network
-ttypb none network
-ttypc none network
-ttypd none network
-ttype none network
-ttypf none network
-ttyq0 none network
-ttyq1 none network
-ttyq2 none network
-ttyq3 none network
-ttyq4 none network
-ttyq5 none network
-ttyq6 none network
-ttyq7 none network
-ttyq8 none network
-ttyq9 none network
-ttyqa none network
-ttyqb none network
-ttyqc none network
-ttyqd none network
-ttyqe none network
-ttyqf none network
+#
+# This entry needed for asking password when init goes to single-user mode
+# If you want to be asked for password, change "secure" to "insecure" here
+console none unknown off secure
+#
+ttyv0 "/usr/libexec/getty Pc" cons25 on secure
+# Virtual terminals
+ttyv1 "/usr/libexec/getty Pc" cons25 on secure
+ttyv2 "/usr/libexec/getty Pc" cons25 on secure
+ttyv3 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure
+# Serial terminals
+# The 'dialup' keyword identifies dialin lines to login, fingerd etc.
+ttyd0 "/usr/libexec/getty std.9600" dialup off secure
+ttyd1 "/usr/libexec/getty std.9600" dialup off secure
+ttyd2 "/usr/libexec/getty std.9600" dialup off secure
+ttyd3 "/usr/libexec/getty std.9600" dialup off secure
+# Pseudo terminals
+ttyp0 none network
+ttyp1 none network
+ttyp2 none network
+ttyp3 none network
+ttyp4 none network
+ttyp5 none network
+ttyp6 none network
+ttyp7 none network
+ttyp8 none network
+ttyp9 none network
+ttypa none network
+ttypb none network
+ttypc none network
+ttypd none network
+ttype none network
+ttypf none network
+ttypg none network
+ttyph none network
+ttypi none network
+ttypj none network
+ttypk none network
+ttypl none network
+ttypm none network
+ttypn none network
+ttypo none network
+ttypp none network
+ttypq none network
+ttypr none network
+ttyps none network
+ttypt none network
+ttypu none network
+ttypv none network
+ttyq0 none network
+ttyq1 none network
+ttyq2 none network
+ttyq3 none network
+ttyq4 none network
+ttyq5 none network
+ttyq6 none network
+ttyq7 none network
+ttyq8 none network
+ttyq9 none network
+ttyqa none network
+ttyqb none network
+ttyqc none network
+ttyqd none network
+ttyqe none network
+ttyqf none network
+ttyqg none network
+ttyqh none network
+ttyqi none network
+ttyqj none network
+ttyqk none network
+ttyql none network
+ttyqm none network
+ttyqn none network
+ttyqo none network
+ttyqp none network
+ttyqq none network
+ttyqr none network
+ttyqs none network
+ttyqt none network
+ttyqu none network
+ttyqv none network
+ttyr0 none network
+ttyr1 none network
+ttyr2 none network
+ttyr3 none network
+ttyr4 none network
+ttyr5 none network
+ttyr6 none network
+ttyr7 none network
+ttyr8 none network
+ttyr9 none network
+ttyra none network
+ttyrb none network
+ttyrc none network
+ttyrd none network
+ttyre none network
+ttyrf none network
+ttyrg none network
+ttyrh none network
+ttyri none network
+ttyrj none network
+ttyrk none network
+ttyrl none network
+ttyrm none network
+ttyrn none network
+ttyro none network
+ttyrp none network
+ttyrq none network
+ttyrr none network
+ttyrs none network
+ttyrt none network
+ttyru none network
+ttyrv none network
+ttys0 none network
+ttys1 none network
+ttys2 none network
+ttys3 none network
+ttys4 none network
+ttys5 none network
+ttys6 none network
+ttys7 none network
+ttys8 none network
+ttys9 none network
+ttysa none network
+ttysb none network
+ttysc none network
+ttysd none network
+ttyse none network
+ttysf none network
+ttysg none network
+ttysh none network
+ttysi none network
+ttysj none network
+ttysk none network
+ttysl none network
+ttysm none network
+ttysn none network
+ttyso none network
+ttysp none network
+ttysq none network
+ttysr none network
+ttyss none network
+ttyst none network
+ttysu none network
+ttysv none network
+ttyP0 none network
+ttyP1 none network
+ttyP2 none network
+ttyP3 none network
+ttyP4 none network
+ttyP5 none network
+ttyP6 none network
+ttyP7 none network
+ttyP8 none network
+ttyP9 none network
+ttyPa none network
+ttyPb none network
+ttyPc none network
+ttyPd none network
+ttyPe none network
+ttyPf none network
+ttyPg none network
+ttyPh none network
+ttyPi none network
+ttyPj none network
+ttyPk none network
+ttyPl none network
+ttyPm none network
+ttyPn none network
+ttyPo none network
+ttyPp none network
+ttyPq none network
+ttyPr none network
+ttyPs none network
+ttyPt none network
+ttyPu none network
+ttyPv none network
+ttyQ0 none network
+ttyQ1 none network
+ttyQ2 none network
+ttyQ3 none network
+ttyQ4 none network
+ttyQ5 none network
+ttyQ6 none network
+ttyQ7 none network
+ttyQ8 none network
+ttyQ9 none network
+ttyQa none network
+ttyQb none network
+ttyQc none network
+ttyQd none network
+ttyQe none network
+ttyQf none network
+ttyQg none network
+ttyQh none network
+ttyQi none network
+ttyQj none network
+ttyQk none network
+ttyQl none network
+ttyQm none network
+ttyQn none network
+ttyQo none network
+ttyQp none network
+ttyQq none network
+ttyQr none network
+ttyQs none network
+ttyQt none network
+ttyQu none network
+ttyQv none network
+ttyR0 none network
+ttyR1 none network
+ttyR2 none network
+ttyR3 none network
+ttyR4 none network
+ttyR5 none network
+ttyR6 none network
+ttyR7 none network
+ttyR8 none network
+ttyR9 none network
+ttyRa none network
+ttyRb none network
+ttyRc none network
+ttyRd none network
+ttyRe none network
+ttyRf none network
+ttyRg none network
+ttyRh none network
+ttyRi none network
+ttyRj none network
+ttyRk none network
+ttyRl none network
+ttyRm none network
+ttyRn none network
+ttyRo none network
+ttyRp none network
+ttyRq none network
+ttyRr none network
+ttyRs none network
+ttyRt none network
+ttyRu none network
+ttyRv none network
+ttyS0 none network
+ttyS1 none network
+ttyS2 none network
+ttyS3 none network
+ttyS4 none network
+ttyS5 none network
+ttyS6 none network
+ttyS7 none network
+ttyS8 none network
+ttyS9 none network
+ttySa none network
+ttySb none network
+ttySc none network
+ttySd none network
+ttySe none network
+ttySf none network
+ttySg none network
+ttySh none network
+ttySi none network
+ttySj none network
+ttySk none network
+ttySl none network
+ttySm none network
+ttySn none network
+ttySo none network
+ttySp none network
+ttySq none network
+ttySr none network
+ttySs none network
+ttySt none network
+ttySu none network
+ttySv none network
OpenPOWER on IntegriCloud