#!/bin/rc# terminal startupTIMESYNCARGS=(-rLa1000000)NDBFILE=/lib/ndb/localmntgen -s slashn /n && chmod 666 /srv/slashnmntgen -s slashmnt /mnt && chmod 666 /srv/slashmnt# bind all likely devices (#S was bound in boot)for(i in f t m v L P u U '$' Σ κ) /bin/bind -a '#'^$i /dev >/dev/null >[2=1]# set up any partitionsdiskparts# start up local swappingdisk=`{ls /dev/sd*/swap >[2]/dev/null}if (! ~ $#disk 0) swap $disk(1) >/dev/null >[2=1]rm /env/disk# we do this before we have a name. we may need to do network# setup so that we can get a name.if(test -e /rc/bin/termrc.local) . /rc/bin/termrc.local# cs sets sysname (termrc.local may already have started it so check)if(! test -e /srv/cs && ! test -e /net/cs) ndb/cs -f $NDBFILEsysname=`{cat /dev/sysname}if (~ $#sysname 0 || ~ $sysname '') { sysname = gnot # default echo -n $sysname >/dev/sysname}# machine specific startup (e.g., for devices not probed)if(test -e /cfg/$sysname/termrc) . /cfg/$sysname/termrc# start IP on the LAN, if not already configured. diskless terminals# are already configured by now. It's commented out to avoid a long timeout# on startup waiting for DHCP.## If your site provides DHCP service,##if(! test -e /net/ipifc/0/ctl)# ip/ipconfig## Otherwise, see /cfg/$sysname/termrc (/cfg/example/termrc is an example).# start dns if we have an internetif(test -e /net/ipifc/0/ctl && ! test -e /srv/dns) ndb/dns -rif(! ~ $terminal *vx32*){ # start timesync if it isn't running and we weren't told not to if(! ps|grep -s timesync) if(! ~ $TIMESYNCARGS '') aux/timesync $TIMESYNCARGS # add the loop-back medium if(! grep -s 127.0.0.1 /net/ipselftab) ip/ipconfig loopback /dev/null 127.1 # set things up for vmware if(! ~ `{cat /dev/user} none) if(test -e /bin/aux/vmware) aux/vmware}# query user if terminal isn't adequately configured yetif(~ $mouseport ask){ echo -n 'mouseport is (ps2, ps2intellimouse, 0, 1, 2)[ps2]: ' mouseport=`{read} if(~ $#mouseport 0) mouseport=ps2}if(~ $vgasize ask){ echo -n 'vgasize [640x480x8]: ' vgasize=`{read} if(~ $#vgasize 0) vgasize=640x480x8}if(~ $monitor ask){ echo -n 'monitor is [xga]: ' monitor=`{read} if(~ $#monitor 0) monitor=xga}if(test -f /dev/mousectl){ switch($mouseport){ case ps2 ps2intellimouse 0 1 2 aux/mouse $mouseport # parse vgasize into fields vgasize=`{echo $vgasize} if(! ~ $"monitor '' && ! ~ `{cat /dev/user} none) aux/vga -l $vgasize if(~ $accupoint 1) pipefile -dr /bin/aux/accupoint /dev/mouse }}usbstartif (test -f /dev/apm) aux/apmdontkill '^(ipconfig|factotum|mntgen|fossil|cs|dns|listen|reboot)$'
#!/bin/rc
# terminal startup
TIMESYNCARGS=(-rLa1000000)
NDBFILE=/lib/ndb/local
mntgen -s slashn /n && chmod 666 /srv/slashn
mntgen -s slashmnt /mnt && chmod 666 /srv/slashmnt
# bind all likely devices (#S was bound in boot)
for(i in f t m v L P u U '$' Σ κ)
/bin/bind -a '#'^$i /dev >/dev/null >[2=1]
# set up any partitions
diskparts
# start up local swapping
disk=`{ls /dev/sd*/swap >[2]/dev/null}
if (! ~ $#disk 0)
swap $disk(1) >/dev/null >[2=1]
rm /env/disk
# we do this before we have a name. we may need to do network
# setup so that we can get a name.
if(test -e /rc/bin/termrc.local)
. /rc/bin/termrc.local
# cs sets sysname (termrc.local may already have started it so check)
if(! test -e /srv/cs && ! test -e /net/cs)
ndb/cs -f $NDBFILE
sysname=`{cat /dev/sysname}
if (~ $#sysname 0 || ~ $sysname '') {
sysname = gnot # default
echo -n $sysname >/dev/sysname
}
# machine specific startup (e.g., for devices not probed)
if(test -e /cfg/$sysname/termrc)
. /cfg/$sysname/termrc
# start IP on the LAN, if not already configured. diskless terminals
# are already configured by now. It's commented out to avoid a long timeout
# on startup waiting for DHCP.
#
# If your site provides DHCP service,
#
#if(! test -e /net/ipifc/0/ctl)
# ip/ipconfig
#
# Otherwise, see /cfg/$sysname/termrc (/cfg/example/termrc is an example).
# start dns if we have an internet
if(test -e /net/ipifc/0/ctl && ! test -e /srv/dns)
ndb/dns -r
if(! ~ $terminal *vx32*){
# start timesync if it isn't running and we weren't told not to
if(! ps|grep -s timesync)
if(! ~ $TIMESYNCARGS '')
aux/timesync $TIMESYNCARGS
# add the loop-back medium
if(! grep -s 127.0.0.1 /net/ipselftab)
ip/ipconfig loopback /dev/null 127.1
# set things up for vmware
if(! ~ `{cat /dev/user} none)
if(test -e /bin/aux/vmware)
aux/vmware
}
# query user if terminal isn't adequately configured yet
if(~ $mouseport ask){
echo -n 'mouseport is (ps2, ps2intellimouse, 0, 1, 2)[ps2]: '
mouseport=`{read}
if(~ $#mouseport 0)
mouseport=ps2
}
if(~ $vgasize ask){
echo -n 'vgasize [640x480x8]: '
vgasize=`{read}
if(~ $#vgasize 0)
vgasize=640x480x8
}
if(~ $monitor ask){
echo -n 'monitor is [xga]: '
monitor=`{read}
if(~ $#monitor 0)
monitor=xga
}
if(test -f /dev/mousectl){
switch($mouseport){
case ps2 ps2intellimouse 0 1 2
aux/mouse $mouseport
# parse vgasize into fields
vgasize=`{echo $vgasize}
if(! ~ $"monitor '' && ! ~ `{cat /dev/user} none)
aux/vga -l $vgasize
if(~ $accupoint 1)
pipefile -dr /bin/aux/accupoint /dev/mouse
}
}
usbstart
if (test -f /dev/apm)
aux/apm
dontkill '^(ipconfig|factotum|mntgen|fossil|cs|dns|listen|reboot)$'