]> git.lizzy.rs Git - plan9front.git/blobdiff - rc/bin/cpurc
asaudit: check factotum key ; netaudit: mention asaudit
[plan9front.git] / rc / bin / cpurc
index 3838256eb155f6c3e8503af6507511d9c29e294b..38d6745fbe99e3a28bca58eed3b0d70d62f5da5c 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/rc
-# the pccpuf kernel runs this file
+# this file is run if service=cpu
 
 date > /env/boottime
 
@@ -8,18 +8,28 @@ for(i in m i P S t u '$')
 
 mount -qb /srv/cons /dev
 
+# mount points (if not done by bootrc already)
+>[2]/dev/null {
+mntgen -s slashn /n && chmod 666 /srv/slashn
+mntgen -s slashmnt /mnt && chmod 666 /srv/slashmnt
+mntgen -s mntexport /mnt/exportfs && chmod 666 /srv/mntexport}
+
+# move factotum from /mnt to /mnt/factotum
+mount /srv/factotum /mnt/temp
+unmount /srv/factotum /mnt
+bind /mnt/temp/factotum /mnt/factotum
+unmount /mnt/temp
+
 # usb listener
 nusbrc
 
-# mount points
-mntgen -s slashn && chmod 666 /srv/slashn
-
 # name translation, cs sets /dev/sysname
 ndb/cs
 sysname=`{cat /dev/sysname}
 
-# parallelism for mk
-NPROC = `{wc -l </dev/sysstat}
+# site-specific startup
+if(test -e /rc/bin/cpurc.local)
+       . /rc/bin/cpurc.local
 
 if (~ $#sysname 0 || ~ $sysname ''){
        sysname=cirno                   # default
@@ -27,21 +37,26 @@ if (~ $#sysname 0 || ~ $sysname ''){
 }
 prompt=($sysname^'# ' '        ')
 
+# parallelism for mk
+NPROC=`{wc -l </dev/sysstat}
+
 # cpu-specific startup
 if(test -e /cfg/$sysname/cpurc)
        . /cfg/$sysname/cpurc
 
 # automatic ip address setup
-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
+if(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
        }
-       rm -f /env/ether
 }
 
-if(! test -e /srv/dns)
+if(! test -e /net/dns)
        ndb/dns -r
 
 if(! ps|grep -s timesync){
@@ -59,9 +74,11 @@ if(~ $#auth 0){
 }
 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'}
+       } | sed 's,[^ ]+=,,g'}}
+
        # cpu+auth server
        auth/keyfs -wp -m /mnt/keys /adm/keys
        aux/listen -q -t /rc/bin/service.auth -d /rc/bin/service tcp
@@ -78,4 +95,4 @@ if(test -e /cfg/$sysname/cpustart)
 
 # mode of /proc/*/ctl is inherited across rfork, and sets modes on
 # other /proc files, such as note, so let listen be killed.
-dontkill '^(ipconfig|factotum|mntgen|venti|kfs|cfs|cwfs.*|9660srv|dossrv|paqfs|cs|dns|reboot|usbd|kb|disk|ether)$'
+dontkill '^(ipconfig|factotum|mntgen|venti|hjfs|kfs|cfs|cwfs.*|9660srv|dossrv|paqfs|cs|dns|reboot|usbd|kb|disk|ether|wpa)$'