#!/bin/rc # mkcpu: turn standalone terminal into cpu/auth/file server # run as hostowner # only hjfs is supported rfork e authdom=() user2=() ini=/n/9fat/plan9.ini ndb=/lib/ndb/local fn fatal{ echo $* >[1=2] exit $"* } switch($#*){ case 1 authdom=$1 case 2 authdom=$1 user2=$2 case * echo 'usage: mkcpu authdom [user2]' >[1=2] exit usage } if(! test -f /srv/hjfs.cmd) fatal /srv/hjfs.cmd not found if(! test -f $ini){ bind -b '#S' /dev 9fs 9fat } if(grep -s '^service=cpu' $ini){ echo $ini already configured } if not{ echo configuring $ini cp $ini $ini.bak sed ' /^bootargs=/ { p s/^bootargs/nobootprompt/ s/$/ -A/ } $ a\ service=cpu ' <$ini.bak >$ini diff -c $ini.bak $ini } if(grep -s '^sys='$sysname' .*authdom='$authdom $ndb){ echo $ndb already configured } if not{ echo configuring $ndb cp $ndb $ndb.bak sed ' /^sys='$sysname' / { s/$/ auth='$sysname' authdom='$authdom'/ } ' <$ndb.bak >$ndb diff -c $ndb.bak $ndb } if(~ $#user2 1){ echo newuser $user2 echo newuser $user2 >>/srv/hjfs.cmd } cat <