3 TIMESYNCARGS=(-rLa1000000)
5 # bind all likely devices
6 for(i in S f k t m i v L P u U A '$' Σ κ)
7 bind -a '#'^$i /dev >/dev/null >[2=1]
10 mount -qb /srv/cons /dev
13 mntgen -s slashn && chmod 666 /srv/slashn
14 mntgen -s slashmnt /mnt && chmod 666 /srv/slashmnt
15 mntgen -s mntexport /mnt/exportfs && chmod 666 /srv/mntexport
17 # move factotum from /mnt to /mnt/factotum
18 mount /srv/factotum /mnt/temp
19 unmount /srv/factotum /mnt
20 bind /mnt/temp/factotum /mnt/factotum
26 # set up any partitions
29 # start up local swapping
30 disk=`{ls /dev/sd*/swap >[2]/dev/null}
32 swap $disk(1) >/dev/null >[2=1]
37 sysname=`{cat /dev/sysname}
38 if(~ $#sysname 0 || ~ $sysname ''){
39 sysname=cirno # default
40 echo -n $sysname >/dev/sysname
44 NPROC=`{wc -l </dev/sysstat}
46 # machine specific startup (e.g., for devices not probed)
47 if(test -e /cfg/$sysname/termrc)
48 . /cfg/$sysname/termrc
50 # automatic ip address setup
51 if(test -r /net/ipselftab){
52 if(! grep u /net/ipselftab | grep -sv 127.0.0.1){
53 ether=`{ndb/query sys $sysname ether}
55 # try /lib/ndb first, then do dhcp
56 ip/ipconfig -N >[2]/dev/null || ip/ipconfig -h $sysname
62 if(! test -e /net/dns)
65 if(! ~ $terminal *vx32*){
66 # start timesync if it isn't running and we weren't told not to
67 if(! ps|grep -s timesync)
68 if(! ~ $TIMESYNCARGS '')
69 aux/timesync $TIMESYNCARGS
90 ask vgasize ' is (text, 640x480x8, 1024x768x16, ...)' 1024x768x16
91 if(! ~ $"vgasize '' text none){
92 ask monitor ' is (vesa, xga, lcd, ...)' vesa
94 if(test -f /dev/mousectl)
95 ask mouseport ' is (ps2, ps2intellimouse, 0, 1, 2)' ps2
105 case ps2 ps2intellimouse 0 1 2
108 pipefile -dr /bin/aux/accupoint /dev/mouse
117 dontkill '^(ipconfig|factotum|mntgen|kfs|cfs|cwfs.*|9660srv|dossrv|paqfs|cs|dns|listen|reboot|usbd|kb|disk|ether)$'