1*9a747e4fSDavid du Colombier#!/bin/rc 2*9a747e4fSDavid du Colombierboottime=`{date} 3*9a747e4fSDavid du Colombierboottime=$"boottime 4*9a747e4fSDavid du Colombiersite=plan9 5*9a747e4fSDavid du Colombierfileserver=emelie 6*9a747e4fSDavid du Colombierfacedom=astro 7*9a747e4fSDavid du Colombier 8*9a747e4fSDavid du Colombierbind -a '#f' /dev 9*9a747e4fSDavid du Colombierbind -a '#t' /dev 10*9a747e4fSDavid du Colombierbind -a '#S' /dev 11*9a747e4fSDavid du Colombierbind -a '#m' /dev 12*9a747e4fSDavid du Colombier 13*9a747e4fSDavid du Colombierecho 'dma on' > /dev/sdC0/ctl 14*9a747e4fSDavid du Colombierswap /dev/sdC0/swap 15*9a747e4fSDavid du Colombier 16*9a747e4fSDavid du Colombier# start internal network 17*9a747e4fSDavid du Colombierif(test -e /net/ipifc/clone){ 18*9a747e4fSDavid du Colombier ip/ipconfig -g 135.104.9.1 ether /net/ether0 135.104.9.11 255.255.255.0 19*9a747e4fSDavid du Colombier ip/ipconfig ether /net/ether0 add 135.104.9.114 255.255.255.0 20*9a747e4fSDavid du Colombier} 21*9a747e4fSDavid du Colombier 22*9a747e4fSDavid du Colombier# cs sets /dev/sysname 23*9a747e4fSDavid du Colombiersysname=boundary 24*9a747e4fSDavid du Colombierndb/cs 25*9a747e4fSDavid du Colombiersysname=`{cat /dev/sysname} 26*9a747e4fSDavid du Colombierswitch($sysname){ 27*9a747e4fSDavid du Colombiercase achille lookout boundary 28*9a747e4fSDavid du Colombier ndb/dns -s 29*9a747e4fSDavid du Colombiercase * 30*9a747e4fSDavid du Colombier ndb/dns -r 31*9a747e4fSDavid du Colombier} 32*9a747e4fSDavid du Colombier 33*9a747e4fSDavid du Colombier# parallelism for mk 34*9a747e4fSDavid du ColombierNPROC=2 35*9a747e4fSDavid du Colombier 36*9a747e4fSDavid du Colombierprompt=($sysname^'# ' ' ') 37*9a747e4fSDavid du Colombier 38*9a747e4fSDavid du Colombier# auth server 39*9a747e4fSDavid du Colombier# auth/keyfs -wp -m/mnt/keys /adm/keys # > /dev/null >[2=1] 40*9a747e4fSDavid du Colombier# auth/keyfs -wn -m/mnt/netkeys /adm/netkeys # > /dev/null >[2=1] 41*9a747e4fSDavid du Colombier 42*9a747e4fSDavid du Colombier# internal network services 43*9a747e4fSDavid du Colombierchmod 600 /srv/kfs.cmd 44*9a747e4fSDavid du Colombieraux/listen -q -t /bin/service.auth -d /bin/service il 45*9a747e4fSDavid du Colombieraux/listen -q -t /bin/service.auth -d /bin/service tcp 46*9a747e4fSDavid du Colombier# ip/dhcpd 47*9a747e4fSDavid du Colombier# ip/tftpd 48*9a747e4fSDavid du Colombier 49*9a747e4fSDavid du Colombier# start external network 50*9a747e4fSDavid du Colombierip/ipconfig -x /net.alt -g 204.178.31.1 ether /net.alt/ether1 204.178.31.4 255.255.255.0 51*9a747e4fSDavid du Colombier 52*9a747e4fSDavid du Colombier# external network services 53*9a747e4fSDavid du Colombierndb/cs -x /net.alt -f /lib/ndb/external 54*9a747e4fSDavid du Colombierndb/dns -sx /net.alt -f /lib/ndb/external 55*9a747e4fSDavid du Colombier#aux/listen -d /rc/bin/service.alt -t /rc/bin/service.alt.auth /net.alt/tcp 56*9a747e4fSDavid du Colombier#aux/listen -d /rc/bin/service.alt /net.alt/il 57*9a747e4fSDavid du Colombier 58*9a747e4fSDavid du Colombier# don't allow anyone to start an external vnc server 59*9a747e4fSDavid du Colombierip/hogports /net.alt/tcp!*!5900-5950 60*9a747e4fSDavid du Colombier 61*9a747e4fSDavid du Colombier# what time is it? 62*9a747e4fSDavid du Colombieraux/timesync -s /net -nl -s /net.alt -d /sys/log/timesync.d oncore 63*9a747e4fSDavid du Colombier 64*9a747e4fSDavid du Colombier# serial line services 65*9a747e4fSDavid du Colombieraux/consolefs 66*9a747e4fSDavid du Colombier{ 67*9a747e4fSDavid du Colombier # give consolefs time to start up 68*9a747e4fSDavid du Colombier # then log some of the more important consoles 69*9a747e4fSDavid du Colombier sleep 5 70*9a747e4fSDavid du Colombier mk -f /sys/log/mkfile startclog 71*9a747e4fSDavid du Colombier} & 72*9a747e4fSDavid du Colombier 73*9a747e4fSDavid du Colombier# make sure cron is alive 74*9a747e4fSDavid du Colombier# { 75*9a747e4fSDavid du Colombier# while(test true){ 76*9a747e4fSDavid du Colombier# switch(`{ps|grep cron}){ 77*9a747e4fSDavid du Colombier# case *cron 78*9a747e4fSDavid du Colombier# ; 79*9a747e4fSDavid du Colombier# case * 80*9a747e4fSDavid du Colombier# rm -fr /srv/$fileserver 81*9a747e4fSDavid du Colombier# srv $fileserver && mount -c /srv/$fileserver /n/$fileserver && 82*9a747e4fSDavid du Colombier# { 83*9a747e4fSDavid du Colombier# bind -c /n/$fileserver/cron /cron 84*9a747e4fSDavid du Colombier# auth/cron >> /sys/log/cron >[2=1] & 85*9a747e4fSDavid du Colombier# } 86*9a747e4fSDavid du Colombier# } 87*9a747e4fSDavid du Colombier# sleep 300 88*9a747e4fSDavid du Colombier# } 89*9a747e4fSDavid du Colombier# } & 90*9a747e4fSDavid du Colombier 91*9a747e4fSDavid du Colombierif(test -f /dev/mousectl){ 92*9a747e4fSDavid du Colombier switch($mouseport){ 93*9a747e4fSDavid du Colombier case ps2 0 1 2 94*9a747e4fSDavid du Colombier if(aux/mouse $mouseport && ! ~ $monitor ''){ 95*9a747e4fSDavid du Colombier echo accelerated > /dev/mousectl 96*9a747e4fSDavid du Colombier echo 'res 3' > /dev/mousectl 97*9a747e4fSDavid du Colombier aux/vga -l $vgasize 98*9a747e4fSDavid du Colombier echo -n ctlpoff > /dev/consctl 99*9a747e4fSDavid du Colombier font=/lib/font/bit/pelm/euro.9.font 100*9a747e4fSDavid du Colombier #rio -s 101*9a747e4fSDavid du Colombier } 102*9a747e4fSDavid du Colombier } 103*9a747e4fSDavid du Colombier} 104