107 lines · 2.6 KB · Text
RawDownload
#!/bin/rc# terminal startupTIMESYNCARGS=(-rLa1000000)NDBFILE=/lib/ndb/local mntgen -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 -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 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/apm dontkill '^(ipconfig|factotum|mntgen|fossil|cs|dns|listen|reboot)$'