102 lines · 2.2 KB · Text
RawDownload
#!/bin/rc# this file is run if service=cpu date > /env/boottime for(i in m i P S t u '$')	bind -a '#'^$i /dev >/dev/null >[2=1] mount -qb /srv/cons /dev # mount pointsmntgen -s slashn && chmod 666 /srv/slashnmntgen -s slashmnt /mnt && chmod 666 /srv/slashmntmntgen -s mntexport /mnt/exportfs && chmod 666 /srv/mntexport # move factotum from /mnt to /mnt/factotummount /srv/factotum /mnt/tempunmount /srv/factotum /mntbind /mnt/temp/factotum /mnt/factotumunmount /mnt/temp # usb listenernusbrc # name translation, cs sets /dev/sysnamendb/cssysname=`{cat /dev/sysname} # site-specific startupif(test -e /rc/bin/cpurc.local)	. /rc/bin/cpurc.local if (~ $#sysname 0 || ~ $sysname ''){	sysname=cirno			# default	echo -n $sysname >/dev/sysname}prompt=($sysname^'# ' '	') # parallelism for mkNPROC=`{wc -l </dev/sysstat} # cpu-specific startupif(test -e /cfg/$sysname/cpurc)	. /cfg/$sysname/cpurc # automatic ip address setupif(test -r /net/ipselftab){	if(! grep u /net/ipselftab | grep -sv 127.0.0.1){		ether=`{ndb/query sys $sysname ether}		if(~ $#ether 1){			# try /lib/ndb first, then do dhcp			ip/ipconfig -N >[2]/dev/null || ip/ipconfig -h $sysname		}		rm -f /env/ether	}} if(! test -e /net/dns)	ndb/dns -r if(! ps|grep -s timesync){	if(~ $#ntp 0)		. <{ndb/ipquery sys $sysname ntp | sed 's, +,\n,g'}	if(~ $#ntp 0)		ntp=pool.ntp.org	aux/timesync -n $ntp	sleep 2} myip=`{cat /net/ipselftab}myip=$myip(13) if(~ $#auth 0){	auth=`{ndb/query sys $sysname auth}	. <{ndb/ipquery sys $sysname auth | sed 's, +,\n,g'}}switch($auth){case `{	echo $sysname; ndb/query sys $sysname dom	if(test -r /net/ipselftab){	for(i in `{awk '/u\ *$/{print $1}' /net/ipselftab}){		echo $i; ndb/ipquery ip $i dom; ndb/ipquery ip $i sys	} | sed 's,[^ ]+=,,g'}} 	# cpu+auth server	auth/keyfs -wp -m /mnt/keys /adm/keys	srv $registry registry	mount /srv/registry /mnt/registry	gridlisten -q -t /rc/bin/service tcp	gridlisten -q -t /rc/bin/service.auth tcpcase *	# cpu server 	srv $registry registry	mount /srv/registry /mnt/registry	gridlisten -q -t /rc/bin/service tcp} if(test -f /dev/apm)	aux/apm if(test -e /cfg/$sysname/cpustart)	. /cfg/$sysname/cpustart