123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- #!/cmd/rc
- # terminal startup
- TIMESYNCARGS=(-rLa1000000)
- NDBFILE=/cfg/ndb/local
- mntgen -s slashn && chmod 666 /srv/slashn
- # bind all likely devices (#S was bound in boot)
- for(i in f t m v L P u U '$' Σ κ)
- /cmd/bind -a '#'^$i /dev >/dev/null >[2=1]
- rm -f /env/i
- # 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 /arch/rc/cmd/termrc.local)
- . /arch/rc/cmd/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 = jehanne # 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 '')
- ip/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 /cmd/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 [1024x768x8]: '
- vgasize=`{read}
- }
- if(~ $#vgasize 0)
- vgasize=1024x768x8
- if(~ $monitor ask){
- echo -n 'monitor is [vesa]: '
- monitor=`{read}
- }
- if(~ $#monitor 0)
- monitor=vesa
- if(test -f /dev/mousectl){
- switch($mouseport){
- case ps2 ps2intellimouse 0 1 2
- hmi/mouse $mouseport
- ms &
- # parse vgasize into fields
- vgasize=`{echo $vgasize}
- if(! ~ $"monitor '' && ! ~ `{cat /dev/user} none) {
- hmi/realemu
- hmi/vga -m $monitor -l $vgasize
- }
- if(~ $accupoint 1)
- pipefile -dr /cmd/aux/accupoint /dev/mouse
- rio -i /lib/riostart
- }
- }
- # usb listener
- /arch/rc/aux/usb/usbrc
- if (test -f /dev/apm)
- aux/apm
- dontkill '^(ipconfig|factotum|mntgen|fossil|cs|dns|listen|reboot)$'
|