ref: 81e6b7e9c958bd5da3c93e204fff59e6868bd0fc
dir: /sys/src/9/bitsy/paqfiles/cpurc/
#!/bin/rc
debug=0
#set service to terminal (necessary for factotum, handy for everything else)
service=terminal
echo -n terminal > /env/service
echo -n plan9 > /env/site
echo -n astro > /env/facedom
echo -n emelie > /env/fs
bind -a '#y' /dev
bind -a '#F' /dev
bind -a '#I' /net
bind -a '#D' /net
# parallelism for mk
NPROC=1
sysname=`{cat /dev/sysname}
if (~ $sysname ''){
sysname=bitsy
echo $sysname>/dev/sysname
}
prompt=($sysname^'# ' ' ')
# flavor
fileserver=emelie
cpu=olive
# user defined flash partitions
echo -n add fs 0x0800000 0x1000000 > /dev/flash/flashctl
# so we can see things
light 0
# set variables
if(~ $debug 1) echo ramfs
ramfs
if(~ $debug 1) echo pencal
params -f
if(! grep -s '^calibrate=' /tmp/tmpparams)
pencal >>/tmp/tmpparams
if not {
eval `{grep '^calibrate=' /tmp/tmpparams}
echo calibrate $calibrate > '#m/mousectl'
}
prompter /tmp/tmpparams
params
if(~ $debug 1) {
echo tmpparams:
cat /tmp/tmpparams
}
. /tmp/tmpparams
if(~ $debug 1) echo set user
# set userid
if(test -e /env/user){
echo -n $user > /dev/hostowner
}
if(~ $debug 1) echo start flashfs
# bind in read/write file system
if (aux/flashfs) {
if (~ $debug 1) echo flashfs started
mount /srv/brzr /n/tmp
bind -a /n /n/tmp/n
bind -a /sys/lib /n/tmp/sys/lib
bind -a /sys /n/tmp/sys
bind -a /arm/bin/auth /n/tmp/arm/bin/auth
bind -a /arm/bin/ndb /n/tmp/arm/bin/ndb
bind -a /arm/bin/ip /n/tmp/arm/bin/ip
bind -a /arm/bin/aux /n/tmp/arm/bin/aux
bind -a /arm/bin /n/tmp/arm/bin
bind -a /arm /n/tmp/arm
bind -a /lib/ndb /n/tmp/lib/ndb
bind -a /lib/font /n/tmp/lib/font
bind -a /lib /n/tmp/lib
bind -a / /n/tmp
bind /n/tmp /
unmount /n/tmp
} >[2] /dev/null
# start network
if(grep -s WaveLAN/IEEE /dev/pcm0ctl){
if (~ $debug 1) echo 'configure #l0 wavelan'
echo -n 'configure #l0 wavelan'>/dev/pcm0ctl
bind -a '#l0' /net
switch($wvkey1){
case ''
;
case *
echo -n 'key1 '^$wvkey1 >/net/ether0/clone
}
switch($wvkey2){
case ''
;
case *
echo -n 'key2 '^$wvkey2 >/net/ether0/clone
}
switch($wvkey3){
case ''
;
case *
echo -n 'key3 '^$wvkey3 >/net/ether0/clone
}
switch($wvtxkey){
case ''
;
case *
echo -n 'txkey '^$wvtxkey >/net/ether0/clone
}
switch($wvmode){
case ''
;
case *
echo -n 'mode '^$wvmode >/net/ether0/clone
}
switch($wvibss){
case ''
;
case *
echo -n 'ibss '^$wvibss >/net/ether0/clone
}
switch($wvessid){
case ''
;
case *
echo -n 'essid '^$wvessid >/net/ether0/clone
}
switch($wvcrypt){
case ''
;
case *
echo -n 'crypt '^$wvcrypt >/net/ether0/clone
}
if (~ $debug 1) echo ip/ipconfig ether /net/ether0 $ipaddr $ipmask
ip/ipconfig ether /net/ether0 $ipaddr $ipmask
if(test -e /env/auth)
echo ' auth='^$auth >>/net/ndb
if(test -e /env/dns)
echo ' dns='^$dns >>/net/ndb
if(test -e /env/dnsdomain)
echo ' dnsdomain='^$dnsdomain >>/net/ndb
if(test -e /env/authdom)
echo ' authdom='^$authdom >>/net/ndb
if (~ $debug 1) echo ndb/cs
ndb/cs
ndb/dns -r
}
auth/factotum -n -s factotum -a $auth
if(! test -e /env/font)
font=/lib/font/bit/lucidasans/unicode.6.font
if(! test -e /env/tabstop)
tabstop=2
if (test -d /usr/$user) {
home=/usr/$user
cd $home
if (test -r lib/profile) {
. lib/profile
exec /bin/rc
}
if (test -r lib/windows) {
if (~ $debug 1) echo 'exec rio -sk ''/bin/keyboard -l'' -i '$home'/lib/windows'
exec rio -sk '/bin/keyboard -l -w' -i $home/lib/windows
}
}
# bind in read/write file system
if (~ $debug 1) echo 'exec rio -sk ''/bin/keyboard -l'''
exec rio -sk '/bin/keyboard -l -w'