remove sys/lib/dist.old
This commit is contained in:
parent
4e919b23a1
commit
4875561fdb
81 changed files with 0 additions and 3483 deletions
|
@ -1,24 +0,0 @@
|
||||||
</$objtype/mkfile
|
|
||||||
CPUS=386
|
|
||||||
|
|
||||||
TARG=\
|
|
||||||
bargraph\
|
|
||||||
bflz\
|
|
||||||
cdsh\
|
|
||||||
tailfsrv\
|
|
||||||
touchfs\
|
|
||||||
unbflz\
|
|
||||||
|
|
||||||
OFILES=
|
|
||||||
HFILES=
|
|
||||||
|
|
||||||
BIN=/sys/lib/dist/bin/$objtype
|
|
||||||
</sys/src/cmd/mkmany
|
|
||||||
|
|
||||||
all:V: bzfs!all
|
|
||||||
install:V: bzfs!install
|
|
||||||
clean:V: bzfs!clean
|
|
||||||
|
|
||||||
bzfs!%:V:
|
|
||||||
cd bzfs; mk $stem; cd ..
|
|
||||||
|
|
|
@ -1,15 +0,0 @@
|
||||||
{
|
|
||||||
verb[$4] = $3
|
|
||||||
data[$4] = sprintf("%s %s %s %s %s %s", $5, $6, $7, $8, $9, $10)
|
|
||||||
}
|
|
||||||
|
|
||||||
END{
|
|
||||||
for(i in verb)
|
|
||||||
if(verb[i] != "d")
|
|
||||||
printf("a %s %s\n", i, data[i]) |"sort +1"
|
|
||||||
close("sort +1")
|
|
||||||
for(i in verb)
|
|
||||||
if(verb[i] == "d")
|
|
||||||
printf("d %s %s\n", i, data[i]) |"sort -r +1"
|
|
||||||
close("sort -r +1")
|
|
||||||
}
|
|
|
@ -1,3 +0,0 @@
|
||||||
{
|
|
||||||
printf("%s %d %s\n", t, NR, $0);
|
|
||||||
}
|
|
|
@ -1,221 +0,0 @@
|
||||||
# /sys/lib/dist/mkfile
|
|
||||||
src9=/n/sources/plan9 # what to export
|
|
||||||
dist=/sys/lib/dist.old # where this machinery lives
|
|
||||||
scr=/n/other/dist # scratch space before copying to web.protect
|
|
||||||
# import /sys/lib/dist/web.protect from the outside
|
|
||||||
x=`{setup}
|
|
||||||
|
|
||||||
cd:V: $scr/plan9.iso
|
|
||||||
|
|
||||||
ncd:V: $scr/plan9-new.iso.bz2
|
|
||||||
|
|
||||||
ncd-dist:V: $scr/plan9-new.iso.bz2
|
|
||||||
mk $dist/web.protect/plan9-new.iso.bz2
|
|
||||||
|
|
||||||
cd-dist:V: $scr/plan9.iso.bz2
|
|
||||||
mk $dist/web.protect/plan9.iso.bz2
|
|
||||||
|
|
||||||
contrib-cd:V: $scr/contrib.iso.bz2
|
|
||||||
mk $dist/web.protect/contrib.iso.bz2
|
|
||||||
|
|
||||||
$scr/%.iso:D: $src9/dist/replica/plan9.log
|
|
||||||
@ { cd pc; mk cddisk }
|
|
||||||
rm -f $target
|
|
||||||
bind pc/cddisk cdstub/bootdisk.img
|
|
||||||
if(! test -f $src9/bootdisk.img)
|
|
||||||
bind -a cdstub $src9
|
|
||||||
title=`{date | sed 's/(...) (...) (..) (..:..):.. (...) (....)/Plan 9 - \2 \3 \6 \4/'}
|
|
||||||
title=$"title
|
|
||||||
echo 'CD:' $title
|
|
||||||
disk/mk9660 -9cj -v $title -s $src9 -b bootdisk.img $target
|
|
||||||
|
|
||||||
# copy compressed file from scratch space to the distribution, carefully
|
|
||||||
$dist/web.protect/%.iso.bz2: $scr/%.iso.bz2
|
|
||||||
>>$target.new
|
|
||||||
chmod +t $target.new # waste write buf, not venti store
|
|
||||||
cp $prereq $target.new
|
|
||||||
# replace previous version with a flash cut
|
|
||||||
if (test -e $target)
|
|
||||||
mv $target $target.old # try to not clobber downloads in progress
|
|
||||||
mv $target.new $target
|
|
||||||
|
|
||||||
cd-cleanup:V:
|
|
||||||
rm -f $dist/web.protect/*.iso.bz2.old # remove old versions after a delay
|
|
||||||
|
|
||||||
# generate replica log & db for $src9 only
|
|
||||||
scan:V:
|
|
||||||
test -d $scr # make sure other was mounted above
|
|
||||||
test -d $src9
|
|
||||||
test -d $dist/web.protect
|
|
||||||
lock scan.lock replica/scan $dist/sources.replica
|
|
||||||
chmod +t $src9/dist/replica/*.^(db log)
|
|
||||||
|
|
||||||
# generate replica log & db for all of /n/sources
|
|
||||||
scanall:V:
|
|
||||||
@ {
|
|
||||||
rfork ne
|
|
||||||
d=/n/sources
|
|
||||||
test -d $src9
|
|
||||||
lock scanall.lock replica/scan $dist/sourcesall.replica
|
|
||||||
chmod +t $src9/dist/replica/*.^(db log)
|
|
||||||
}
|
|
||||||
|
|
||||||
compresslog:V:
|
|
||||||
{
|
|
||||||
awk -f logcompress.awk $src9/dist/replica/plan9.log |
|
|
||||||
awk -f logtime.awk -v 't='^`{date -n} >/tmp/plan9.log
|
|
||||||
rm -f $src9/dist/replica/plan9.new.log
|
|
||||||
cp /tmp/plan9.log $src9/dist/replica/plan9.new.log &&
|
|
||||||
mv $src9/dist/replica/plan9.new.log $src9/dist/replica/plan9.log
|
|
||||||
} <scan.lock
|
|
||||||
|
|
||||||
#restart:V:
|
|
||||||
# rm -f $src9/dist/replica/plan9.db
|
|
||||||
# rm -f $src9/dist/replica/plan9.log
|
|
||||||
# chmod 664 $src9/dist/replica/plan9.db >$src9/dist/replica/plan9.db
|
|
||||||
# chmod 664 $src9/dist/replica/plan9.log >$src9/dist/replica/plan9.log
|
|
||||||
# chmod +a $src9/dist/replica/plan9.log
|
|
||||||
# mk scan
|
|
||||||
|
|
||||||
odump:V:
|
|
||||||
disk/dump9660 -9cj -v 'Plan 9 4e Dumps' -s $src9 \
|
|
||||||
-p /sys/lib/sysconfig/proto/allproto $scr/distdump.iso
|
|
||||||
|
|
||||||
cd.install:V:
|
|
||||||
# if(~ $sysname achille){
|
|
||||||
# echo; echo; echo '*** run this on a real machine, like chips.'
|
|
||||||
# exit bad
|
|
||||||
# }
|
|
||||||
bzip2 -9 <$scr/plan9.iso >web.protect/nplan9.iso.bz2
|
|
||||||
|
|
||||||
D.install:V:
|
|
||||||
D=/n/roro/usr/rob/testplan9
|
|
||||||
9fs roro
|
|
||||||
test -d $D
|
|
||||||
cp $D$dist/pc/ndisk $dist/web.protect/ndisk
|
|
||||||
cp $D$dist/pc/9loaddebug $dist/web.protect/n9loaddebug
|
|
||||||
|
|
||||||
reallyinstall:V:
|
|
||||||
if(! ~ $sysname achille){
|
|
||||||
echo; echo; echo '*** this needs to run on achille.'
|
|
||||||
exit bad
|
|
||||||
}
|
|
||||||
cd web.protect
|
|
||||||
for (i in plan9.iso.bz2 disk 9loaddebug vmware.zip)
|
|
||||||
if(test -f n$i){
|
|
||||||
mv $i _$i && { mv n$i $i || mv _$i $i }
|
|
||||||
}
|
|
||||||
rm /srv/ramfs.9down4e
|
|
||||||
$dist/startcache
|
|
||||||
|
|
||||||
dump:V:
|
|
||||||
rm -f /srv/9660.xxx
|
|
||||||
9660srv 9660.xxx
|
|
||||||
mount /srv/9660.xxx /n/kremvax $scr/plan9.iso
|
|
||||||
now=`{mtime $dist/web.protect/plan9.iso.bz2 | awk '{print $1}'}
|
|
||||||
ls -l /rls/plan9/4e.iso
|
|
||||||
disk/dump9660 -9cj -s /n/kremvax -n $now /rls/plan9/4e.iso
|
|
||||||
ls -l /rls/plan9/4e.iso
|
|
||||||
rm /srv/9660.xxx
|
|
||||||
|
|
||||||
reencode:V:
|
|
||||||
rm -f $scr/nplan9.iso
|
|
||||||
rm -f /srv/9660.xxx
|
|
||||||
9660srv 9660.xxx
|
|
||||||
mount /srv/9660.xxx /n/kremvax $scr/plan9.iso
|
|
||||||
disk/mk9660 -9cj -v 'Plan 9 4th Edition' -s /n/kremvax \
|
|
||||||
-b bootdisk.img $scr/nplan9.iso
|
|
||||||
rm /srv/9660.xxx
|
|
||||||
|
|
||||||
# compress a cd image in scratch space
|
|
||||||
$scr/%.iso.bz2:D: $scr/%.iso
|
|
||||||
@ {
|
|
||||||
cd $scr
|
|
||||||
bzip2 -9 <$stem.iso >n$stem.iso.bz2 &&
|
|
||||||
{
|
|
||||||
if (test -e $stem.iso.bz2)
|
|
||||||
mv $stem.iso.bz2 _$stem.iso.bz2
|
|
||||||
mv n$stem.iso.bz2 $stem.iso.bz2
|
|
||||||
}
|
|
||||||
echo `{date} md5 `{md5sum <$stem.iso.bz2} \
|
|
||||||
sha1 `{sha1sum <$stem.iso.bz2} \
|
|
||||||
$stem.iso.bz2 >>/usr/web/plan9checksums.txt
|
|
||||||
}
|
|
||||||
|
|
||||||
$scr/contrib.iso:DV:
|
|
||||||
rm -f $target
|
|
||||||
disk/mk9660 -9cj -v 'Plan 9 Extras' -s /n/sources \
|
|
||||||
-p ./contrib.proto $target
|
|
||||||
|
|
||||||
rebuild:V:
|
|
||||||
chmod +l build.lock >>build.lock
|
|
||||||
rebuild <build.lock
|
|
||||||
|
|
||||||
rebuild-mail:V:
|
|
||||||
chmod +l build.lock >>build.lock
|
|
||||||
rebuild <build.lock
|
|
||||||
datemail 'nightly build errors' 9trouble <buildit.out
|
|
||||||
datemail 'nightly build differences' 9trouble <checkbuild.out
|
|
||||||
status=''
|
|
||||||
|
|
||||||
scansources-mail:V:
|
|
||||||
scansources | datemail 'nightly fs vs. sources scan' 9trouble
|
|
||||||
|
|
||||||
worldwritable-mail:V:
|
|
||||||
test -e $src9
|
|
||||||
@ {cd /n/sources; /usr/rsc/bin/$cputype/lsr -t -d} |
|
|
||||||
awk '$2 ~ /[2367]$/' | grep -vf ok-writable |
|
|
||||||
datemail 'WRITABLE FILES ON SOURCES' 9trouble || status=''
|
|
||||||
status=''
|
|
||||||
@ {
|
|
||||||
cd $src9
|
|
||||||
/usr/rsc/bin/$cputype/lsr -t -d $src9
|
|
||||||
} |
|
|
||||||
awk '$2 ~ /[2367][^2367].$/' |
|
|
||||||
datemail 'non-group-writable files on sources' 9trouble
|
|
||||||
status=''
|
|
||||||
# use /n/boot to avoid walking the archives mounted under
|
|
||||||
# /lib/vac, or other mounts or binds.
|
|
||||||
rfork n
|
|
||||||
9fs boot
|
|
||||||
test -e /n/boot/sys
|
|
||||||
/usr/rsc/bin/$cputype/lsr -t -d /n/boot/sys /n/boot/lib |
|
|
||||||
grep -v '/lib/audio/|/sys/src/cmd/vac/test/' | # give us a break
|
|
||||||
awk '$2 ~ /[2367][^2367].$/' |
|
|
||||||
datemail 'non-group-writable files on fs' 9trouble
|
|
||||||
status=''
|
|
||||||
|
|
||||||
9.tar.gz:V:
|
|
||||||
@{
|
|
||||||
rfork n
|
|
||||||
9fs sources
|
|
||||||
test -e $src9
|
|
||||||
bind -a $src9 $src9/sys/src
|
|
||||||
cd $src9/sys/src
|
|
||||||
tar c LICENSE NOTICE 9
|
|
||||||
} | gzip >$target
|
|
||||||
|
|
||||||
9-export:V: 9.tar.gz
|
|
||||||
9fs sources
|
|
||||||
cp 9.tar.gz /n/sources/extra/9.tgz
|
|
||||||
chmod +t /n/sources/extra/9.tgz
|
|
||||||
|
|
||||||
plan9.tar.bz2:V:
|
|
||||||
@{
|
|
||||||
rfork n
|
|
||||||
9fs sources
|
|
||||||
cd /n/sources
|
|
||||||
test -e $src9
|
|
||||||
bind /n/empty $src9/lib/font
|
|
||||||
bind /n/empty $src9/sys/lib/postscript/font
|
|
||||||
bind /n/empty $src9/sys/lib/ghostscript
|
|
||||||
bind /n/empty $src9/sys/src/cmd/gs
|
|
||||||
tar c plan9/LICENSE* plan9/NOTICE plan9/*/mkfile plan9/*/include \
|
|
||||||
plan9/acme/*/src plan9/acme/bin/source \
|
|
||||||
plan9/^(adm cron lib lp mail rc sys tmp usr)
|
|
||||||
} | bzip2 >$target
|
|
||||||
|
|
||||||
plan9-export:V: plan9.tar.bz2
|
|
||||||
9fs sources
|
|
||||||
chmod +t plan9.tar.bz2
|
|
||||||
mv plan9.tar.bz2 /n/sources/extra/plan9.tar.bz2
|
|
|
@ -1 +0,0 @@
|
||||||
cddisk
|
|
|
@ -1,4 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
window '0 0 100 100' games/clock
|
|
||||||
window '80 80 610 360' /usr/glenda/lib/first.window
|
|
|
@ -1,11 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
echo -n readme > /dev/label
|
|
||||||
echo 'You have completed the Installation Process.'
|
|
||||||
|
|
||||||
cat<<'!'
|
|
||||||
|
|
||||||
Welcome to Plan 9.
|
|
||||||
This is rc.
|
|
||||||
!
|
|
||||||
|
|
||||||
exec rc
|
|
|
@ -1,16 +0,0 @@
|
||||||
if(test -f '#m/mousectl') {
|
|
||||||
echo -n accelerated > '#m/mousectl'
|
|
||||||
echo -n 'res 3' > '#m/mousectl'
|
|
||||||
}
|
|
||||||
user=`{cat /dev/user}
|
|
||||||
home=/usr/$user
|
|
||||||
bind -a $home/bin/rc /bin
|
|
||||||
bind -a $home/bin/$cputype /bin
|
|
||||||
bind -c $home/tmp /tmp
|
|
||||||
rio -si inst/gui
|
|
||||||
echo
|
|
||||||
echo
|
|
||||||
echo 'failed to start rio. you can start a text-based installation by running'
|
|
||||||
echo
|
|
||||||
echo ' inst/textonly'
|
|
||||||
echo
|
|
|
@ -1,47 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
rfork e
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo 'Insert a disk other than your installation boot disk'
|
|
||||||
echo 'into your floppy drive; it will be erased to create'
|
|
||||||
echo 'the boot floppy.'
|
|
||||||
echo
|
|
||||||
echo -n 'Press enter when ready.'
|
|
||||||
read >/dev/null >[2]/dev/null
|
|
||||||
|
|
||||||
if(~ $#adisk 1)
|
|
||||||
; # do nothing
|
|
||||||
if not if(~ $#bootfile 0)
|
|
||||||
adisk=/dev/fd0disk
|
|
||||||
if not {
|
|
||||||
switch($bootfile) {
|
|
||||||
case sd*
|
|
||||||
adisk=`{echo $bootfile | sed 's#(sd..).*#/dev/\1/data#'}
|
|
||||||
case fd*
|
|
||||||
adisk=`{echo $bootfile | sed 's#(fd.).*#/dev/\1disk#'}
|
|
||||||
case *
|
|
||||||
echo 'unknown bootfile '^$bootfile^'; mail 9trouble@plan9.bell-labs.com'
|
|
||||||
exit oops
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(! ~ `{ls -l $adisk | awk '{print $6}'} 1474560){
|
|
||||||
echo 'Will not format non-floppy disk '^$"adisk. >[1=2]
|
|
||||||
exit 'bad adisk'
|
|
||||||
}
|
|
||||||
|
|
||||||
log Formatting boot floppy
|
|
||||||
if (test -e /n/newfs/386/9loadnousb)
|
|
||||||
bind /n/newfs/386/9loadnousb /n/newfs/386/9load # cater to old bioses
|
|
||||||
disk/format -b /386/pbs \
|
|
||||||
-fd $adisk /n/newfs/386/9load /n/newfs/386/9pcdisk.gz \
|
|
||||||
/tmp/plan9ini.bak
|
|
||||||
x=$status
|
|
||||||
|
|
||||||
if(~ $x ''){
|
|
||||||
echo
|
|
||||||
echo 'Done!'
|
|
||||||
echo
|
|
||||||
}
|
|
||||||
exit $x
|
|
|
@ -1,55 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
first=`{ls -p '#S' | sed 1q}
|
|
||||||
if(! ~ $first $disk) {
|
|
||||||
echo 'warning: The plan 9 partition is not on the boot disk,'
|
|
||||||
echo 'so making it the active partition will have no effect.'
|
|
||||||
}
|
|
||||||
|
|
||||||
p9offset=`{grep '^part 9fat ' /dev/$disk/ctl |awk '{print $3}'}
|
|
||||||
if(! ~ $#p9offset 1) {
|
|
||||||
echo 'could not find plan 9 partition.'
|
|
||||||
echo 'cannot happen'
|
|
||||||
exit bad
|
|
||||||
}
|
|
||||||
|
|
||||||
if(test $p9offset -gt 4128695) { # 65536 * 63 - 10
|
|
||||||
echo
|
|
||||||
echo 'Your Plan 9 partition is more than 2GB into your disk,'
|
|
||||||
echo 'and the master boot records used by Windows 9x/ME'
|
|
||||||
echo 'cannot access it (and thus cannot boot it).'
|
|
||||||
echo
|
|
||||||
echo 'You can install the Plan 9 master boot record, which can load'
|
|
||||||
echo 'partitions far into the disk.'
|
|
||||||
echo
|
|
||||||
}
|
|
||||||
|
|
||||||
echo 'If you use the Windows NT/2000/XP master boot record'
|
|
||||||
echo 'or a master boot record from a Unix clone (e.g., LILO or'
|
|
||||||
echo 'FreeBSD bootmgr), it is probably safe to continue using'
|
|
||||||
echo 'that boot record rather than install the Plan 9 boot record.'
|
|
||||||
echo
|
|
||||||
prompt 'Install the Plan 9 master boot record' y n
|
|
||||||
switch($rd) {
|
|
||||||
case n
|
|
||||||
;
|
|
||||||
case y
|
|
||||||
disk/mbr -m /386/mbr /dev/$disk/data
|
|
||||||
}
|
|
||||||
|
|
||||||
log Setting Plan 9 partition active.
|
|
||||||
p9part=`{disk/fdisk /dev/$disk/data >[2]/dev/null </dev/null |
|
|
||||||
grep PLAN9 | sed 1q | sed 's/ *(p.) .*/\1/'}
|
|
||||||
if(~ $#p9part 0){
|
|
||||||
echo 'You have no Plan 9 partitions (How could this happen?)' >[1=2]
|
|
||||||
exit 'no plan 9 partition found'
|
|
||||||
}
|
|
||||||
p9part=$p9part(1)
|
|
||||||
{ echo 'A '^$p9part; echo w } | disk/fdisk /dev/$disk/data >[2]/dev/null >/dev/null
|
|
||||||
x=$status
|
|
||||||
if(~ $x '' '|'){
|
|
||||||
echo
|
|
||||||
echo 'The Plan 9 partition is now marked as active.'
|
|
||||||
exit ''
|
|
||||||
}
|
|
||||||
exit $x
|
|
|
@ -1,125 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
# desc: create a boot floppy or configure hard disk to boot plan 9
|
|
||||||
# prereq: copydist
|
|
||||||
|
|
||||||
switch($1) {
|
|
||||||
case go
|
|
||||||
echo
|
|
||||||
echo 'Initializing Plan 9 FAT configuration partition (9fat)'
|
|
||||||
echo
|
|
||||||
|
|
||||||
fat=(/dev/sd*/9fat)
|
|
||||||
fat=$fat(1)
|
|
||||||
disk=`{echo $fat | sed 's:/dev/::;s:/9fat::'}
|
|
||||||
bootfs=`{echo $fs | sed 's:/dev/(sd..)/(.*):\1!\2:'}
|
|
||||||
bootfat=`{echo $fs | sed 's:/dev/(sd..)/(.*):\1!9fat:'}
|
|
||||||
if(! test -f /dev/$disk/9fat) {
|
|
||||||
echo 'You have no 9fat partition. Can''t setup booting.'
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
|
|
||||||
if(! test -f /tmp/plan9.ini) {
|
|
||||||
{
|
|
||||||
sfs=`{echo $fs | sed 's;/dev;#S;'}
|
|
||||||
if(~ $fstype fossil fossil+venti){
|
|
||||||
echo bootfile'='$bootfat!9pcf
|
|
||||||
echo 'bootargs=local!'^$sfs
|
|
||||||
echo 'bootdisk=local!'^$sfs
|
|
||||||
}
|
|
||||||
if not {
|
|
||||||
echo bootfile'='$bootfs!/386/9pcdisk
|
|
||||||
echo 'bootdisk=local!'^$sfs
|
|
||||||
}
|
|
||||||
if(~ $fstype fossil+venti){
|
|
||||||
venti=`{echo $ventiarena | sed 's;/dev;#S;'}
|
|
||||||
echo venti'='^$venti
|
|
||||||
}
|
|
||||||
# sort -u avoids dups which could otherwise trigger
|
|
||||||
# pointless boot menus.
|
|
||||||
grep -v '(^\[)|menuitem|adisk|bootfile|bootdisk|bootargs|nobootprompt|mouseport|vgasize|monitor|cdboot' /tmp/plan9.orig |
|
|
||||||
sort -u
|
|
||||||
echo 'mouseport='^$mouseport
|
|
||||||
echo 'monitor='^$monitor
|
|
||||||
echo 'vgasize='^$vgasize
|
|
||||||
} >/tmp/plan9.ini
|
|
||||||
}
|
|
||||||
if(! test -f /tmp/plan9ini.bak)
|
|
||||||
cp /tmp/plan9.ini /tmp/plan9ini.bak
|
|
||||||
|
|
||||||
need9fatformat=no
|
|
||||||
if(! isfat /dev/$disk/9fat)
|
|
||||||
need9fatformat=yes
|
|
||||||
if not if(! mount -c /srv/dos /n/9fat /dev/$disk/9fat >[2]/dev/null)
|
|
||||||
need9fatformat=yes
|
|
||||||
if not if(! test -f /n/9fat/plan9.ini)
|
|
||||||
need9fatformat=yes
|
|
||||||
|
|
||||||
if (test -e /n/newfs/386/9loadnousb)
|
|
||||||
bind /n/newfs/386/9loadnousb /n/newfs/386/9load # cater to old bioses
|
|
||||||
if(~ $need9fatformat yes){
|
|
||||||
log Initializing Plan 9 FAT partition.
|
|
||||||
disk/format -r 2 -d -b /386/pbs \
|
|
||||||
/dev/$disk/9fat /n/newfs/386/9load
|
|
||||||
# silently install pbslba if the partition is way into the disk.
|
|
||||||
# it''s our only hope. only need this for >8.5GB into the disk.
|
|
||||||
# but...
|
|
||||||
# there are so few non-LBA bioses out
|
|
||||||
# there anymore that we'll do this even if we're only 2GB into
|
|
||||||
# the disk. it's just not worth the headaches of dealing with
|
|
||||||
# crappy bioses that don't address the whole 8.5GB properly
|
|
||||||
|
|
||||||
9fatoffset=`{grep '^part 9fat ' /dev/$disk/ctl | awk '{print $4}'}
|
|
||||||
if(! ~ $#9fatoffset 1) {
|
|
||||||
echo 'could not find plan 9 partition.'
|
|
||||||
echo 'cannot happen'
|
|
||||||
exit bad
|
|
||||||
}
|
|
||||||
if(test $9fatoffset -gt 2097152) # 2GB
|
|
||||||
disk/format -b /386/pbslba /dev/$disk/9fat
|
|
||||||
|
|
||||||
mount -c /srv/dos /n/9fat /dev/$disk/9fat
|
|
||||||
}
|
|
||||||
|
|
||||||
if(! test -f /n/9fat/4e){
|
|
||||||
logprog cp /n/newfs/386/9load /n/9fat/9load
|
|
||||||
logprog cp /n/newfs/386/9pcf /n/9fat/9pcf
|
|
||||||
if(test -f /n/9fat/plan9.ini && ! test -f /n/9fat/plan9-3e.ini)
|
|
||||||
logprog mv /n/9fat/plan9.ini /n/9fat/plan9-3e.ini
|
|
||||||
if(test -f /n/9fat/9pcdisk && ! test -f /n/9fat/9pc3e)
|
|
||||||
logprog mv /n/9fat/9pcdisk /n/9fat/9pc3e
|
|
||||||
|
|
||||||
awk -f /bin/inst/mkini.awk >/n/9fat/plan9.ini
|
|
||||||
>/n/9fat/4e
|
|
||||||
}
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo 'There are myriad ways to boot a Plan 9 system.'
|
|
||||||
echo 'You can use any of the following.'
|
|
||||||
echo
|
|
||||||
echo ' floppy - create a boot floppy'
|
|
||||||
echo ' plan9 - make the plan 9 disk partition the default for booting'
|
|
||||||
echo ' win9x - add a plan 9 option to windows 9x boot menu'
|
|
||||||
echo ' winnt - add a plan 9 option to windows nt/2000/xp boot manager'
|
|
||||||
echo
|
|
||||||
echo 'If you are upgrading an extant third edition installation and booting'
|
|
||||||
echo 'from something other than a floppy, you needn''t run anything here.'
|
|
||||||
echo 'Just type ctl-d.'
|
|
||||||
|
|
||||||
oldbootsetup=$didbootsetup
|
|
||||||
didbootsetup=1
|
|
||||||
export didbootsetup
|
|
||||||
prompt 'Enable boot method' floppy plan9 win9x winnt
|
|
||||||
|
|
||||||
if(! boot$rd){
|
|
||||||
didbootsetup=$oldbootsetup
|
|
||||||
export didbootsetup
|
|
||||||
}
|
|
||||||
|
|
||||||
case checkdone
|
|
||||||
xxxfat=(/dev/sd*/9fat)
|
|
||||||
if(! isfat $xxxfat(1) || ! ~ $didbootsetup 1){
|
|
||||||
bootsetup=ready
|
|
||||||
export bootsetup
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,117 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
dosdisk=`{ls /dev/sd??/dos >[2]/dev/null | sed 1q | sed 's!.*/(.*)/dos!\1!'}
|
|
||||||
if(~ $#dosdisk 0 || ! c: || ! test -f /n/c:/autoexec.bat || ! test -f /n/c:/config.sys) {
|
|
||||||
echo 'Could not find autoexec.bat or config.sys on the first FAT disk.'
|
|
||||||
exit bad
|
|
||||||
}
|
|
||||||
|
|
||||||
for (i in autoexec config msdos)
|
|
||||||
if(test -f /n/c:/$i.p9) {
|
|
||||||
echo 'A Plan 9 backup already exists; will not edit system files again.'
|
|
||||||
exit bad
|
|
||||||
}
|
|
||||||
|
|
||||||
for (i in autoexec.bat config.sys msdos.sys)
|
|
||||||
if(! cp /n/c:/$i /n/c:/^`{echo $i | sed 's/\.(bat|sys)$/.p9/'}) {
|
|
||||||
echo 'Could not back up '^$i^'; will not continue.'
|
|
||||||
exit bad
|
|
||||||
}
|
|
||||||
|
|
||||||
if(! test -d /n/c:/plan9 && ! mkdir /n/c:/plan9) {
|
|
||||||
echo 'Could not create directory /n/c:/plan9.'
|
|
||||||
exit bad
|
|
||||||
}
|
|
||||||
|
|
||||||
if(! cp /n/newfs/386/^(9load ld.com 9pcdisk) /tmp/plan9ini.bak /n/c:/plan9) {
|
|
||||||
echo 'Could not copy Plan 9 boot files into /n/c:/plan9.'
|
|
||||||
exit bad
|
|
||||||
}
|
|
||||||
|
|
||||||
chmod +w /n/c:/autoexec.bat /n/c:/config.sys /n/c:/msdos.sys
|
|
||||||
|
|
||||||
if(grep -si 'Plan ?9' /n/c:/config.sys || grep -si 'Plan ?9' /n/c:/autoexec.bat) {
|
|
||||||
echo 'Plan 9 entries already in config.sys or autoexec.bat.'
|
|
||||||
echo 'Not changing them; refer to Plan 9 install documentation'
|
|
||||||
echo 'to configure manually.'
|
|
||||||
exit bad
|
|
||||||
}
|
|
||||||
|
|
||||||
if(! grep -si '\[menu\]' /n/c:/config.sys) {
|
|
||||||
{
|
|
||||||
echo 1
|
|
||||||
echo i
|
|
||||||
echo '[menu]
'
|
|
||||||
echo 'menuitem=windows, Windows
'
|
|
||||||
echo 'menudefault=windows
'
|
|
||||||
echo '
'
|
|
||||||
echo '[common]
'
|
|
||||||
echo '
'
|
|
||||||
echo '[windows]
'
|
|
||||||
echo .
|
|
||||||
echo w
|
|
||||||
echo q
|
|
||||||
} | ed /n/c:/config.sys >/dev/null >[2]/dev/null
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
|
||||||
echo 1
|
|
||||||
echo '/\[[Mm][Ee][Nn][Uu]\]'
|
|
||||||
echo '?^[Mm][Ee][Nn][Uu][Ii][Tt][Ee][Mm]='
|
|
||||||
echo a
|
|
||||||
echo 'menuitem=plan9, Plan 9 from Bell Labs
'
|
|
||||||
echo .
|
|
||||||
echo '$'
|
|
||||||
echo a
|
|
||||||
echo '
'
|
|
||||||
echo '[plan9]
'
|
|
||||||
echo '
'
|
|
||||||
echo .
|
|
||||||
echo w
|
|
||||||
echo q
|
|
||||||
} | ed /n/c:/config.sys >/dev/null>[2]/dev/null
|
|
||||||
|
|
||||||
{
|
|
||||||
echo 1
|
|
||||||
echo i
|
|
||||||
echo '@echo off
'
|
|
||||||
echo 'if %config%==plan9 goto plan9
'
|
|
||||||
echo 'goto notplan9
'
|
|
||||||
echo ':plan9
'
|
|
||||||
echo 'plan9\ld '^$dosdisk^'!dos!plan9/9load
'
|
|
||||||
echo ':notplan9
'
|
|
||||||
echo .
|
|
||||||
echo w
|
|
||||||
echo q
|
|
||||||
} | ed /n/c:/autoexec.bat >/dev/null>[2]/dev/null
|
|
||||||
|
|
||||||
fn zeroopt {
|
|
||||||
if(grep -s '^'^$1^'=1' /n/c:/msdos.sys) {
|
|
||||||
{
|
|
||||||
echo '/^'^$1^'=1/s/=1/=0/'
|
|
||||||
echo w
|
|
||||||
echo q
|
|
||||||
} | ed /n/c:/msdos.sys>/dev/null>[2]/dev/null
|
|
||||||
}
|
|
||||||
if not if (grep -s '^'^$1^'=0' /n/c:/msdos.sys)
|
|
||||||
;
|
|
||||||
if not {
|
|
||||||
{
|
|
||||||
echo 1
|
|
||||||
echo i
|
|
||||||
echo '[Options]
'
|
|
||||||
echo 'Logo=0
'
|
|
||||||
echo .
|
|
||||||
echo w
|
|
||||||
echo q
|
|
||||||
} | ed /n/c:/msdos.sys>/dev/null>[2]/dev/null
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(grep -si '^\[paths\]' /n/c:/msdos.sys){ # Windows 9x rather than DOS
|
|
||||||
zeroopt Logo
|
|
||||||
# zeroopt BootGUI
|
|
||||||
}
|
|
||||||
|
|
||||||
echo 'Plan 9 added to Windows 9X boot menu.'
|
|
||||||
exit ''
|
|
|
@ -1,47 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
if(! c: || ! test -f /n/c:/boot.ini) {
|
|
||||||
echo 'Could not find NT''s boot.ini on the first FAT disk.'
|
|
||||||
exit bad
|
|
||||||
}
|
|
||||||
|
|
||||||
if(test -f /n/c:/boot.p9) {
|
|
||||||
echo 'A Plan 9 backup already exists; will not edit boot.ini again.'
|
|
||||||
exit bad
|
|
||||||
}
|
|
||||||
|
|
||||||
if(! cp /n/c:/boot.ini /n/c:/boot.p9) {
|
|
||||||
echo 'Could not back up boot.ini; will not continue.'
|
|
||||||
exit bad
|
|
||||||
}
|
|
||||||
|
|
||||||
chmod +w /n/c:/boot.ini
|
|
||||||
|
|
||||||
if(! grep -si '\[operating systems\]' /n/c:/boot.ini) {
|
|
||||||
echo 'Could not parse boot.ini.'
|
|
||||||
exit bad
|
|
||||||
}
|
|
||||||
|
|
||||||
if(grep -si 'Plan 9' /n/c:/boot.ini) {
|
|
||||||
p9file=`{grep 'Plan 9' /n/c:/boot.ini | sed 1q | sed 's/=.*//'}
|
|
||||||
if(! ~ $p9file [Cc]:'\'*) {
|
|
||||||
echo 'Unexpected Plan 9 entry in boot.ini already; not continuing.'
|
|
||||||
exit bad
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if not {
|
|
||||||
p9file='c:\bootsect.p9'
|
|
||||||
echo 'c:\bootsect.p9 = "Plan 9 from Bell Labs"
' >>/n/c:/boot.ini
|
|
||||||
}
|
|
||||||
|
|
||||||
p9file=/n/^`{echo $p9file | sed 's!\\!/!g'}
|
|
||||||
|
|
||||||
|
|
||||||
if(dd -if /dev/$disk/plan9 -bs 512 -count 1 -of $p9file >/dev/null >[2]/dev/null) {
|
|
||||||
echo 'Plan 9 added to Windows NT boot menu.'
|
|
||||||
exit ''
|
|
||||||
}
|
|
||||||
|
|
||||||
echo 'Error copying Plan 9 boot sector to file.'
|
|
||||||
exit bad
|
|
|
@ -1,40 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
# desc: set source of distribution archives
|
|
||||||
# prereq: mountfs
|
|
||||||
|
|
||||||
switch($1) {
|
|
||||||
case go
|
|
||||||
echo
|
|
||||||
echo 'Will you be using a distribution archive on local media or the internet?'
|
|
||||||
echo
|
|
||||||
|
|
||||||
prompt 'Distribution is from' local internet
|
|
||||||
archmedium=$rd
|
|
||||||
export archmedium
|
|
||||||
|
|
||||||
switch($archmedium) {
|
|
||||||
case local
|
|
||||||
exec configlocal go
|
|
||||||
case internet
|
|
||||||
exec configip go
|
|
||||||
}
|
|
||||||
|
|
||||||
case checkdone
|
|
||||||
switch($#archmedium) {
|
|
||||||
case 1
|
|
||||||
switch($archmedium) {
|
|
||||||
case local
|
|
||||||
exec configlocal checkdone
|
|
||||||
case internet
|
|
||||||
exec configip checkdone
|
|
||||||
case *
|
|
||||||
configarch=notdone
|
|
||||||
export configarch
|
|
||||||
}
|
|
||||||
case *
|
|
||||||
configarch=notdone
|
|
||||||
export configarch
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,22 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
# prereq: mountfs
|
|
||||||
# desc: choose the source of the distribution archive
|
|
||||||
|
|
||||||
switch($1){
|
|
||||||
case checkdone
|
|
||||||
if(! ~ $distisfrom net local){
|
|
||||||
configdist=ready
|
|
||||||
export configdist
|
|
||||||
}
|
|
||||||
|
|
||||||
case go
|
|
||||||
echo 'Are you going to download the distribution'
|
|
||||||
echo 'from the internet or do you have it on local media?'
|
|
||||||
echo
|
|
||||||
prompt -d local 'Distribution is from' local net
|
|
||||||
distisfrom=$rd
|
|
||||||
export distisfrom
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
|
@ -1,53 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
# desc: configure your internet connection via an ethernet card
|
|
||||||
|
|
||||||
switch($1) {
|
|
||||||
case go
|
|
||||||
echo
|
|
||||||
echo 'Please choose a method for configuring your ethernet connection.'
|
|
||||||
echo
|
|
||||||
echo ' manual - specify IP address, network mask, gateway IP address'
|
|
||||||
echo ' dhcp - use DHCP to automatically configure'
|
|
||||||
echo
|
|
||||||
|
|
||||||
prompt 'Configuration method' manual dhcp
|
|
||||||
ethermethod=$rd
|
|
||||||
gwaddr=xxx
|
|
||||||
ipaddr=xxx
|
|
||||||
ipmask=xxx
|
|
||||||
switch($ethermethod){
|
|
||||||
case dhcp
|
|
||||||
echo
|
|
||||||
echo 'Some ISPs, notably @HOME, require a host name passed with DHCP'
|
|
||||||
echo 'requests. An example for @HOME would be "cc1018221-a". If your'
|
|
||||||
echo 'ISP supplied you such a name, enter it.'
|
|
||||||
echo
|
|
||||||
prompt -d none 'host name'; dhcphost=$rd
|
|
||||||
switch($dhcphost){
|
|
||||||
case none
|
|
||||||
dhcphost=();
|
|
||||||
case *
|
|
||||||
dhcphost=(-h $dhcphost)
|
|
||||||
}
|
|
||||||
export dhcphost
|
|
||||||
case manual
|
|
||||||
prompt 'ip address'; ipaddr=$rd
|
|
||||||
prompt 'network mask'; ipmask=$rd
|
|
||||||
prompt 'gateway address'; gwaddr=$rd
|
|
||||||
export ipaddr ipmask gwaddr
|
|
||||||
}
|
|
||||||
|
|
||||||
export ethermethod gwaddr ipaddr ipmask dhcphost
|
|
||||||
exec startether go
|
|
||||||
|
|
||||||
case checkdone
|
|
||||||
if(! ~ $ethermethod manual dhcp) {
|
|
||||||
configether=notdone
|
|
||||||
export configether
|
|
||||||
}
|
|
||||||
if(~ $ethermethod manual && ~ 0 $#ipaddr $#ipmask $#gwaddr) {
|
|
||||||
configether=notdone
|
|
||||||
export configether
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,23 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
# desc: choose the type of file system to install
|
|
||||||
|
|
||||||
switch($1){
|
|
||||||
case checkdone
|
|
||||||
if(! ~ $fstype fossil fossil+venti){
|
|
||||||
configfs=ready
|
|
||||||
export configfs
|
|
||||||
}
|
|
||||||
|
|
||||||
case go
|
|
||||||
echo 'You can install the following types of file systems:'
|
|
||||||
echo
|
|
||||||
echo ' fossil the new Plan9 fileserver'
|
|
||||||
echo ' fossil+venti fossil + a archival dump server'
|
|
||||||
echo
|
|
||||||
prompt -d fossil 'File system' fossil fossil+venti
|
|
||||||
fstype=$rd
|
|
||||||
export fstype
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
|
@ -1,64 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
switch($1) {
|
|
||||||
case go
|
|
||||||
|
|
||||||
devs=''
|
|
||||||
if(test -d '#l/ether0' >[2]/dev/null)
|
|
||||||
devs=$devs^ether
|
|
||||||
if(test -f '#t'/eia? >[2]/dev/null)
|
|
||||||
devs=$devs^ppp
|
|
||||||
|
|
||||||
switch($devs){
|
|
||||||
case ''
|
|
||||||
echo
|
|
||||||
echo 'Could not find ethernet card nor serial port nor modem.'
|
|
||||||
echo 'Please use a local copy of the distribution archive.'
|
|
||||||
echo
|
|
||||||
ifc=none
|
|
||||||
|
|
||||||
case ppp
|
|
||||||
echo
|
|
||||||
echo 'No ethernet card was detected, but there is a serial port or modem.'
|
|
||||||
echo 'We will configure PPP.'
|
|
||||||
echo
|
|
||||||
ifc=ppp
|
|
||||||
|
|
||||||
case ether
|
|
||||||
echo
|
|
||||||
echo 'No serial port or modem detected, but there is an ethernet card.'
|
|
||||||
echo 'We will configure the ethernet.'
|
|
||||||
echo
|
|
||||||
ifc=ether
|
|
||||||
|
|
||||||
case etherppp
|
|
||||||
echo
|
|
||||||
echo 'You can connect to the internet via'
|
|
||||||
echo 'a local ethernet or a dial-up PPP connection.'
|
|
||||||
echo
|
|
||||||
prompt 'Interface to use' ether ppp
|
|
||||||
ifc=$rd
|
|
||||||
}
|
|
||||||
|
|
||||||
ipinterface=$ifc
|
|
||||||
export ipinterface
|
|
||||||
|
|
||||||
switch($ifc) {
|
|
||||||
case ether
|
|
||||||
exec configether go
|
|
||||||
case ppp
|
|
||||||
exec configppp go
|
|
||||||
}
|
|
||||||
|
|
||||||
case checkdone
|
|
||||||
if(~ $#ipinterface 1)
|
|
||||||
switch($ipinterface) {
|
|
||||||
case ether
|
|
||||||
exec configether checkdone
|
|
||||||
case ppp
|
|
||||||
exec configppp checkdone
|
|
||||||
}
|
|
||||||
configarch=notdone
|
|
||||||
export configarch
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,67 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
# prereq: configdist
|
|
||||||
# desc: configure the network to download the distribution
|
|
||||||
|
|
||||||
switch($1){
|
|
||||||
case checkready checkdone
|
|
||||||
if(! ~ $distisfrom net){
|
|
||||||
confignet=notdone
|
|
||||||
export confignet
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
if(~ $distisfrom net && ~ $netisfrom ppp ether){
|
|
||||||
x=config$netisfrom
|
|
||||||
$x=done
|
|
||||||
config$netisfrom checkdone
|
|
||||||
confignet=$$x
|
|
||||||
export confignet
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
confignet=ready
|
|
||||||
export confignet
|
|
||||||
exit
|
|
||||||
|
|
||||||
case go
|
|
||||||
devs=''
|
|
||||||
if(test -d '#l/ether0' >[2]/dev/null)
|
|
||||||
devs=$devs^ether
|
|
||||||
if(test -f '#t'/eia? >[2]/dev/null)
|
|
||||||
devs=$devs^ppp
|
|
||||||
|
|
||||||
switch($devs){
|
|
||||||
case ''
|
|
||||||
echo
|
|
||||||
echo 'Could not find ethernet card nor serial port nor modem.'
|
|
||||||
echo 'Please use a local copy of the distribution archive.'
|
|
||||||
echo
|
|
||||||
netisfrom=none
|
|
||||||
|
|
||||||
case ppp
|
|
||||||
echo
|
|
||||||
echo 'No ethernet card was detected, but there is a serial port or modem.'
|
|
||||||
echo 'We will configure PPP.'
|
|
||||||
echo
|
|
||||||
netisfrom=ppp
|
|
||||||
|
|
||||||
case ether
|
|
||||||
echo
|
|
||||||
echo 'No serial port or modem detected, but there is an ethernet card.'
|
|
||||||
echo 'We will configure the ethernet.'
|
|
||||||
echo
|
|
||||||
netisfrom=ether
|
|
||||||
|
|
||||||
case etherppp
|
|
||||||
echo
|
|
||||||
echo 'You can connect to the internet via'
|
|
||||||
echo 'a local ethernet or a dial-up PPP connection.'
|
|
||||||
echo
|
|
||||||
prompt 'Interface to use' ether ppp
|
|
||||||
netisfrom=$rd
|
|
||||||
}
|
|
||||||
|
|
||||||
export netisfrom
|
|
||||||
if(~ $netisfrom ether ppp)
|
|
||||||
exec config$netisfrom go
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,63 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
# desc: configure your internet connection via ppp over a modem
|
|
||||||
|
|
||||||
switch($1) {
|
|
||||||
case go
|
|
||||||
devs=`{ls -p '#t/'eia? >[2]/dev/null}
|
|
||||||
if(~ $#devs 0) {
|
|
||||||
echo 'No serial port found; this can''t happen.' # because configip checks
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
|
|
||||||
# not going to use the mouse for PPP
|
|
||||||
if(~ eia^$mouseport $devs)
|
|
||||||
devs=`{echo $devs | sed 's/eia'^$mouseport^'//'}
|
|
||||||
|
|
||||||
if(~ $#devs 0) {
|
|
||||||
echo 'The only serial port you have is your mouse.'
|
|
||||||
echo 'Cannot configure PPP.'
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo 'Please choose the serial port or modem to use to connect to your ISP.'
|
|
||||||
echo
|
|
||||||
for(i in $devs) {
|
|
||||||
n=`{echo $i | sed 's/eia//'}
|
|
||||||
n=`{hoc -e 1+$n}
|
|
||||||
echo ' '^$i^'(Windows'' COM'^$n^')'
|
|
||||||
}
|
|
||||||
echo
|
|
||||||
prompt 'Serial device' $devs
|
|
||||||
pppdev=$rd
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo 'Pick a baud rate for the PPP connection.'
|
|
||||||
echo
|
|
||||||
prompt -d 115200 'Baud rate'
|
|
||||||
pppbaud=$rd
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo 'You can specify your dialup phone number, username, and password,'
|
|
||||||
echo 'or you can log in manually by typing the modem commands yourself.'
|
|
||||||
echo
|
|
||||||
prompt 'Dialing method' auto manual
|
|
||||||
pppmethod=$rd
|
|
||||||
|
|
||||||
switch($pppmethod){
|
|
||||||
case auto
|
|
||||||
prompt 'PPP phone number'; pppphone=$rd
|
|
||||||
prompt 'PPP phone username'; pppuser=$rd
|
|
||||||
prompt 'PPP phone password'; ppppasswd=$rd
|
|
||||||
}
|
|
||||||
|
|
||||||
export pppdev pppmethod pppphone ppppasswd pppuser pppbaud
|
|
||||||
exec startppp go
|
|
||||||
|
|
||||||
case checkdone
|
|
||||||
if(! ~ $#pppmethod 1 || ! test -f /dev/$pppdev){
|
|
||||||
configppp=notdone
|
|
||||||
export configppp
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,31 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
# prereq: mountdist
|
|
||||||
# desc: copy the distribution into the file system
|
|
||||||
|
|
||||||
switch($1){
|
|
||||||
case checkready
|
|
||||||
if(! test -d /n/dist/dist/replica){
|
|
||||||
copydist=notdone
|
|
||||||
export copydist
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
if(test -f /n/newfs/dist/replica/didplan9){
|
|
||||||
copydist=done
|
|
||||||
export copydist
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
case go
|
|
||||||
inst/watchfd applylog 0 `{ls -l /n/dist/dist/replica/plan9.log | awk '{print $6}'} 'Installing file system' &
|
|
||||||
replica/pull -c / /rc/bin/inst/replcfg
|
|
||||||
if(~ $status '' *conflicts || test -f /n/newfs/dist/replica/didplan9witherrors)
|
|
||||||
>/n/newfs/dist/replica/didplan9
|
|
||||||
if not
|
|
||||||
>/n/newfs/dist/replica/didplan9witherrors
|
|
||||||
|
|
||||||
case checkdone
|
|
||||||
if(! test -f /n/newfs/dist/replica/didplan9){
|
|
||||||
copydist=notdone
|
|
||||||
export copydist
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,162 +0,0 @@
|
||||||
nl='
|
|
||||||
'
|
|
||||||
tab=' '
|
|
||||||
if(~ $#distname 0)
|
|
||||||
distname=plan9
|
|
||||||
|
|
||||||
wctl=/dev/null
|
|
||||||
if(test -w /dev/wctl)
|
|
||||||
wctl=/dev/wctl
|
|
||||||
|
|
||||||
fn log {
|
|
||||||
echo $* >>/srv/log
|
|
||||||
}
|
|
||||||
|
|
||||||
fn logprog {
|
|
||||||
echo '% '^$"* >>/srv/log
|
|
||||||
$* >[2=1] >>/srv/log
|
|
||||||
}
|
|
||||||
|
|
||||||
fn sigint {
|
|
||||||
# nothing happens
|
|
||||||
}
|
|
||||||
|
|
||||||
fn prompt {
|
|
||||||
def=()
|
|
||||||
what=()
|
|
||||||
if(~ $1 -d && ! ~ $#* 1){
|
|
||||||
def=$2
|
|
||||||
shift
|
|
||||||
shift
|
|
||||||
}
|
|
||||||
|
|
||||||
optstr=()
|
|
||||||
if(~ $1 -w && ! ~ $#* 1){
|
|
||||||
optstr=$2
|
|
||||||
shift
|
|
||||||
shift
|
|
||||||
}
|
|
||||||
|
|
||||||
pr=$1
|
|
||||||
shift
|
|
||||||
|
|
||||||
opts=($*)
|
|
||||||
if(~ $#opts 0) {
|
|
||||||
suf=' '
|
|
||||||
}
|
|
||||||
if not if(! ~ $#optstr 0) {
|
|
||||||
if(~ $optstr '')
|
|
||||||
suf=' '
|
|
||||||
if not {
|
|
||||||
pr=$pr^' ('^$"optstr^')'
|
|
||||||
suf=''
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if not {
|
|
||||||
pr=$pr^' ('^$1
|
|
||||||
shift
|
|
||||||
for(i)
|
|
||||||
pr=$pr^', '^$i
|
|
||||||
pr=$pr^')'
|
|
||||||
suf=''
|
|
||||||
}
|
|
||||||
|
|
||||||
if(~ $#def 1)
|
|
||||||
pr=$pr^$suf^'['^$def^']'
|
|
||||||
if not
|
|
||||||
pr=$pr^$suf^'[no default]'
|
|
||||||
|
|
||||||
pr=$pr^': '
|
|
||||||
|
|
||||||
|
|
||||||
okay=no
|
|
||||||
while(~ $okay no) {
|
|
||||||
echo -n current >$wctl
|
|
||||||
echo -n top >$wctl
|
|
||||||
echo -n $pr >[1=2]
|
|
||||||
ifs='' {rd=`{read}}
|
|
||||||
if(~ $#rd 0)
|
|
||||||
exit notdone
|
|
||||||
if(~ $rd !*){
|
|
||||||
ifs='' {rd=`{echo $rd | sed 's/!//'}}
|
|
||||||
echo $rd
|
|
||||||
rc -c $rd
|
|
||||||
echo !$status
|
|
||||||
}
|
|
||||||
if not{
|
|
||||||
rd=`{echo $rd}
|
|
||||||
if(~ $#rd 0 || ~ $rd '')
|
|
||||||
rd=$def
|
|
||||||
|
|
||||||
switch($#opts){
|
|
||||||
case 0
|
|
||||||
if(! ~ $rd '')
|
|
||||||
okay=yes
|
|
||||||
case *
|
|
||||||
if(~ $rd $opts)
|
|
||||||
okay=yes
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
echo -n $rd >/env/rd # just in case
|
|
||||||
}
|
|
||||||
|
|
||||||
fn desc {
|
|
||||||
echo -n ' '^$1^' - '
|
|
||||||
grep '^# desc: ' $1 | sed 's/# desc: //'
|
|
||||||
}
|
|
||||||
|
|
||||||
fn prereq {
|
|
||||||
grep '^# prereq:' $1 | sed 's/# prereq://'
|
|
||||||
}
|
|
||||||
|
|
||||||
fn mustdo {
|
|
||||||
echo You must `{grep '^# mustdo:' $1 | sed 's/# mustdo://'}
|
|
||||||
}
|
|
||||||
|
|
||||||
# there's no easy way to pass shell variables
|
|
||||||
# up from children to parents; the parents have
|
|
||||||
# to be coerced into noticing that the environment
|
|
||||||
# changed, even when in the same environment group.
|
|
||||||
#
|
|
||||||
# instead, we explicitly export the variables we want
|
|
||||||
# to percolate, and the parent calls coherence to reread
|
|
||||||
# the variables.
|
|
||||||
#
|
|
||||||
# we just append to the vars file, so that later exports
|
|
||||||
# override earlier ones; when we call coherence,
|
|
||||||
# the duplicates are thrown out.
|
|
||||||
|
|
||||||
fn export {
|
|
||||||
null=()
|
|
||||||
nonnull=()
|
|
||||||
for(i in $*){
|
|
||||||
if(~ $#$i 0)
|
|
||||||
null=($null $i)
|
|
||||||
if not
|
|
||||||
nonnull=($nonnull $i)
|
|
||||||
}
|
|
||||||
if(! ~ $#nonnull 0)
|
|
||||||
whatis $nonnull |grep -v '^\./' >>/tmp/vars >[2]/dev/null
|
|
||||||
for(i in $null)
|
|
||||||
echo $i^'=()' >>/tmp/vars
|
|
||||||
}
|
|
||||||
|
|
||||||
fn coherence {
|
|
||||||
if(test -f /tmp/vars) {
|
|
||||||
grep '^[a-z]*=' /tmp/vars >/tmp/vars2
|
|
||||||
v=`{sed 's/^([a-z]*)=.*/\1/' /tmp/vars2 | sort -u}
|
|
||||||
. /tmp/vars2
|
|
||||||
rm /tmp/vars2
|
|
||||||
rm /tmp/vars
|
|
||||||
export $v
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# ip device stats
|
|
||||||
|
|
||||||
fn isipdevup {
|
|
||||||
grep -s $1 /net/ipifc/*/status >[2]/dev/null
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
|
@ -1,56 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
# prereq: mountfs
|
|
||||||
# desc: download or continue to download the distribution archives
|
|
||||||
|
|
||||||
switch($1) {
|
|
||||||
case checkready
|
|
||||||
devs=(`{cat /net/ipifc/*/status >[2]/dev/null |
|
|
||||||
grep -v '127\.0\.0\.1' |
|
|
||||||
sed 's/ .*//'})
|
|
||||||
if(~ $#devs 0) {
|
|
||||||
download=notdone
|
|
||||||
export download
|
|
||||||
}
|
|
||||||
if(~ $mountdist done){
|
|
||||||
download=notdone
|
|
||||||
export download
|
|
||||||
}
|
|
||||||
|
|
||||||
case go
|
|
||||||
if(! test -f /srv/cs) {
|
|
||||||
log starting cs, dns
|
|
||||||
logprog ndb/cs >>/srv/log >[2=1]
|
|
||||||
logprog ndb/dns -r >>/srv/log >[2=1]
|
|
||||||
}
|
|
||||||
if(! test -f /net/cs) {
|
|
||||||
logprog mount -a /srv/cs /net
|
|
||||||
logprog mount -a /srv/dns /net
|
|
||||||
}
|
|
||||||
|
|
||||||
# BUG make restartable
|
|
||||||
echo 'Downloading distribution package...'
|
|
||||||
baropt='-w 145,129,445,168'
|
|
||||||
if(~ $textinst 1)
|
|
||||||
baropt=-t
|
|
||||||
if(! hget -vo /n/newfs/dist/_plan9.iso.bz2 $installurl/plan9.iso.bz2 |[2] bargraph $baropt 'downloading '^plan9.iso.bz2)
|
|
||||||
exit
|
|
||||||
mv /n/newfs/dist/_plan9.iso.bz2 /n/newfs/dist/plan9.iso.bz2
|
|
||||||
if(~ $fstype fossil){
|
|
||||||
echo fsys main sync >>/srv/fscons
|
|
||||||
}
|
|
||||||
|
|
||||||
echo 'The distribution is downloaded.'
|
|
||||||
|
|
||||||
srvmedia=()
|
|
||||||
mountmedia=(mount /srv/fossil /n/distmedia)
|
|
||||||
distmediadir=/dist
|
|
||||||
export distmediadir mountmedia distmedia
|
|
||||||
|
|
||||||
case checkdone
|
|
||||||
if(! test -f /n/newfs/dist/plan9.iso.bz2) {
|
|
||||||
download=notdone
|
|
||||||
export download
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
# desc: finish the installation and reboot
|
|
||||||
# prereq: bootsetup
|
|
||||||
# mustdo:
|
|
||||||
|
|
||||||
switch($1) {
|
|
||||||
case checkdone
|
|
||||||
finish=ready
|
|
||||||
export finish
|
|
||||||
|
|
||||||
case go
|
|
||||||
if(~ $cdboot yes){
|
|
||||||
echo 'Congratulations; you''ve completed the install.'
|
|
||||||
echo
|
|
||||||
halt
|
|
||||||
}
|
|
||||||
stop go finished
|
|
||||||
}
|
|
|
@ -1,91 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
# desc: initialize disks for a fossil server
|
|
||||||
# prereq: configfs
|
|
||||||
|
|
||||||
switch($1){
|
|
||||||
case checkready checkdone
|
|
||||||
if(! ~ $fstype fossil+venti fossil){
|
|
||||||
fmtfossil=notdone
|
|
||||||
export fmtfossil
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
ff=`{ls /dev/sd*/fossil* /dev/fs/fossil* >[2]/dev/null}
|
|
||||||
if(~ $#ff 0){
|
|
||||||
fmtfossil=notdone
|
|
||||||
export fmtfossil
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
gg=()
|
|
||||||
for(f in $ff)
|
|
||||||
if(isfossil $f)
|
|
||||||
gg=($gg $f)
|
|
||||||
if(~ $#gg 0){
|
|
||||||
fmtfossil=ready
|
|
||||||
export fmtfossil
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
fmtfossil=done
|
|
||||||
export fmtfossil
|
|
||||||
exit
|
|
||||||
|
|
||||||
case go
|
|
||||||
ff=`{ls /dev/sd*/fossil* /dev/fs/fossil* >[2]/dev/null}
|
|
||||||
if(~ $#ff 0){
|
|
||||||
echo 'You need to create a partition or partitions to hold the Fossil write cache.'
|
|
||||||
echo 'The partition name must begin with "fossil".'
|
|
||||||
echo
|
|
||||||
fmtfossil=notdone
|
|
||||||
export fmtfossil
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
default=()
|
|
||||||
if(~ $#ff 1){
|
|
||||||
default=(-d $ff)
|
|
||||||
}
|
|
||||||
echo You have the following fossil partitions.
|
|
||||||
echo
|
|
||||||
prompt $default 'Fossil partition to format' $ff
|
|
||||||
f=$rd
|
|
||||||
|
|
||||||
do=yes
|
|
||||||
if(isfossil $f){
|
|
||||||
echo $f appears to already be formatted as Fossil file system.
|
|
||||||
echo Do you really want to reformat it?
|
|
||||||
echo
|
|
||||||
prompt -d no 'Reformat '$f yes no
|
|
||||||
do=$rd
|
|
||||||
}
|
|
||||||
if(~ $do yes){
|
|
||||||
fossil/flfmt -y $f
|
|
||||||
n=`{cat /dev/swap | grep ' user' | sed 's/^[0-9]+\/([0-9]+) .*/\1/'}
|
|
||||||
if(test $n -gt 32768)
|
|
||||||
m=3000 # if have at least 128 user MB, use 24MB for fossil
|
|
||||||
if not if(test $n -gt 16384)
|
|
||||||
m=1500 # 64 user MB => 12MB for fossil
|
|
||||||
if not if(test $n -gt 8192)
|
|
||||||
m=750 # 32 user MB => 6MB for fossil
|
|
||||||
if not
|
|
||||||
m=256 # 2MB for fossil (this will be slow)
|
|
||||||
|
|
||||||
# if we're using a venti in the back, take hourly snapshots
|
|
||||||
# that retire after three days, in addition to the daily dumps at 5am
|
|
||||||
if(~ $fstype fossil+venti){
|
|
||||||
v=''
|
|
||||||
snap='fsys main snaptime -s 60 -a 0500 -t 2880'
|
|
||||||
}
|
|
||||||
# otherwise, take the daily dumps but nothing else --
|
|
||||||
# we can't retire snapshots unless dumps are being archived
|
|
||||||
if not{
|
|
||||||
v='-V'
|
|
||||||
snap=''
|
|
||||||
}
|
|
||||||
echo \
|
|
||||||
'fsys main config '^$f^'
|
|
||||||
fsys main open '^$v^' -c '^$m^'
|
|
||||||
'^$snap^'
|
|
||||||
' | fossil/conf -w $f
|
|
||||||
}
|
|
||||||
|
|
||||||
echo Done.
|
|
||||||
}
|
|
|
@ -1,190 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
# desc: initialize disks for a venti server
|
|
||||||
# prereq: mountdist
|
|
||||||
|
|
||||||
switch($1){
|
|
||||||
case checkready checkdone
|
|
||||||
if(! ~ $fstype fossil+venti){
|
|
||||||
fmtventi=notdone
|
|
||||||
export fmtventi
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
if(! test -e /bin/venti/fmtarenas || ! test -e /bin/venti/fmtisect || ! test -e /bin/venti/fmtindex){
|
|
||||||
bind -a /n/dist/386/bin/venti /bin/venti
|
|
||||||
if(! test -e /bin/venti/fmtarenas || ! test -e /bin/venti/fmtisect || ! test -e /bin/venti/fmtindex){
|
|
||||||
fmtventi=notdone
|
|
||||||
export fmtventi
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
}
|
|
||||||
ff=`{ls /dev/sd*/arenas* /dev/fs/arenas* >[2]/dev/null}
|
|
||||||
if(~ $#ff 0){
|
|
||||||
fmtventi=notdone
|
|
||||||
export fmtventi
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
gg=()
|
|
||||||
for(f in $ff)
|
|
||||||
if(isventi $f)
|
|
||||||
gg=($gg $f)
|
|
||||||
if(~ $#gg 0){
|
|
||||||
fmtventi=ready
|
|
||||||
export fmtventi
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
|
|
||||||
ventiarena=$gg(1)
|
|
||||||
export ventiarena
|
|
||||||
|
|
||||||
fmtventi=done
|
|
||||||
export fmtventi
|
|
||||||
exit
|
|
||||||
|
|
||||||
case go
|
|
||||||
ff=`{ls /dev/sd*/arenas* /dev/fs/arenas* >[2]/dev/null}
|
|
||||||
if(~ $#ff 0){
|
|
||||||
echo 'You need to create a partition or partitions to hold the Venti arenas.'
|
|
||||||
echo 'The arena partition names must begin with "arenas".'
|
|
||||||
echo
|
|
||||||
fmtventi=notdone
|
|
||||||
export fmtventi
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
default=(-d $"ff)
|
|
||||||
if(! ~ $#ventiarena 0){
|
|
||||||
default=(-d $"ventiarena)
|
|
||||||
}
|
|
||||||
echo You have the following Venti arena partitions.
|
|
||||||
ls -l $ff
|
|
||||||
echo
|
|
||||||
|
|
||||||
prompt $default 'Venti arena partitions to use'
|
|
||||||
aa=`{echo $rd}
|
|
||||||
bad=no
|
|
||||||
for(a in $aa){
|
|
||||||
if(! ~ $a $ff){
|
|
||||||
echo 'Bad venti arena partition' $a
|
|
||||||
fmtventi=notdone
|
|
||||||
export fmtventi
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
}
|
|
||||||
ventiarena=$aa
|
|
||||||
export ventiarena
|
|
||||||
|
|
||||||
gg=`{ls /dev/sd*/isect* /dev/fs/isect* >[2]/dev/null}
|
|
||||||
if(~ $#gg 0){
|
|
||||||
echo 'You need to create a partition or partitions to hold the Venti indices.'
|
|
||||||
echo 'The index partition names must begin with "isect".'
|
|
||||||
echo
|
|
||||||
fmtventi=notdone
|
|
||||||
export fmtventi
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
default=(-d $"gg)
|
|
||||||
if(! ~ $#ventiindex 0){
|
|
||||||
default=(-d $"ventiindex)
|
|
||||||
}
|
|
||||||
|
|
||||||
echo You have the following Venti index partitions.
|
|
||||||
ls -l $gg
|
|
||||||
echo
|
|
||||||
|
|
||||||
prompt $default 'Venti index partitions to use'
|
|
||||||
aa=`{echo $rd}
|
|
||||||
bad=no
|
|
||||||
for(a in $aa){
|
|
||||||
if(! ~ $a $gg){
|
|
||||||
echo 'Bad venti index partition' $a
|
|
||||||
fmtventi=notdone
|
|
||||||
export fmtventi
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
}
|
|
||||||
ventiindex=$aa
|
|
||||||
export ventiindex
|
|
||||||
|
|
||||||
n=-1
|
|
||||||
fmta=()
|
|
||||||
for(a in $ventiarena){
|
|
||||||
do=yes
|
|
||||||
n=`{hoc -e 1+$n}
|
|
||||||
if(isventiarenas $a){
|
|
||||||
echo File $a is already formatted as a Venti arenas partition.
|
|
||||||
prompt -d no 'Reformat '$a yes no
|
|
||||||
do=$rd
|
|
||||||
}
|
|
||||||
if(~ $do yes)
|
|
||||||
fmta=($fmta arenas$n:$a)
|
|
||||||
}
|
|
||||||
|
|
||||||
n=-1
|
|
||||||
fmti=()
|
|
||||||
for(a in $ventiindex){
|
|
||||||
do=yes
|
|
||||||
n=`{hoc -e 1+$n}
|
|
||||||
if(isventiisect $a){
|
|
||||||
echo File $a is already formatted as a Venti index section.
|
|
||||||
prompt -d no 'Reformat '$a yes no
|
|
||||||
do=$rd
|
|
||||||
}
|
|
||||||
if(~ $do yes)
|
|
||||||
fmti=($fmti isect$n:$a)
|
|
||||||
}
|
|
||||||
|
|
||||||
echo Formatting Venti arenas and indices (this takes a while).
|
|
||||||
# do each disk in parallel
|
|
||||||
echo good >/tmp/fmt
|
|
||||||
dd=()
|
|
||||||
for(a in $fmta $fmti){
|
|
||||||
d=`{echo $a | sed 's!.*:(/.*/).*!\1!'}
|
|
||||||
if(! ~ $d $dd)
|
|
||||||
dd=($dd $d)
|
|
||||||
}
|
|
||||||
for(d in $dd){
|
|
||||||
{
|
|
||||||
for(a in $fmta){
|
|
||||||
i=`{echo $a | sed 's!(.*):(/.*/)(.*)!\1 \2 \2\3!'}
|
|
||||||
if(~ $i(2) $d){
|
|
||||||
echo $i(3) ...
|
|
||||||
venti/fmtarenas $i(1) $i(3) || echo bad >/tmp/fmt
|
|
||||||
echo done with $i(3)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for(a in $fmti){
|
|
||||||
i=`{echo $a | sed 's!(.*):(/.*/)(.*)!\1 \2 \2\3!'}
|
|
||||||
if(~ $i(2) $d){
|
|
||||||
echo $i(3) ...
|
|
||||||
venti/fmtisect $i(1) $i(3) || echo bad >/tmp/fmt
|
|
||||||
echo done with $i(3)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} &
|
|
||||||
}
|
|
||||||
wait
|
|
||||||
if(~ bad `{cat /tmp/fmt}){
|
|
||||||
echo There were errors formatting the indices and arenas.
|
|
||||||
fmtventi=ready
|
|
||||||
export fmtventi
|
|
||||||
exit errors
|
|
||||||
}
|
|
||||||
|
|
||||||
echo Done formatting Venti arenas and indices.
|
|
||||||
|
|
||||||
v=$ventiarena(1)
|
|
||||||
echo Storing Venti config on $v...
|
|
||||||
{
|
|
||||||
echo index main
|
|
||||||
for(i in $ventiindex)
|
|
||||||
echo isect $i
|
|
||||||
for(a in $ventiarena)
|
|
||||||
echo arenas $a
|
|
||||||
} | venti/conf -w $v
|
|
||||||
|
|
||||||
echo Initializing index...
|
|
||||||
venti/fmtindex $v
|
|
||||||
|
|
||||||
echo Done with Venti!
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,7 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
cd /bin/inst
|
|
||||||
echo blanktime 0 >/dev/vgactl
|
|
||||||
. defs
|
|
||||||
|
|
||||||
startwin 640 480
|
|
|
@ -1,18 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
echo -n 'Halting file systems...'
|
|
||||||
|
|
||||||
if(ps | grep -s ' venti$')
|
|
||||||
venti/sync -h tcp!127.0.0.1!17034
|
|
||||||
if(ps | grep -s ' fossil$'){
|
|
||||||
echo fsys all halt >>/srv/fscons
|
|
||||||
slay fossil|rc
|
|
||||||
}
|
|
||||||
|
|
||||||
echo done
|
|
||||||
echo
|
|
||||||
echo Remember to take the install disk out of the drive.
|
|
||||||
echo Feel free to turn off your computer.
|
|
||||||
while()
|
|
||||||
sleep 3600
|
|
||||||
|
|
|
@ -1,12 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
if(! ~ $#* 1) {
|
|
||||||
echo 'usage: hasmbr /dev/sdC0/part' >[1=2]
|
|
||||||
exit usage
|
|
||||||
}
|
|
||||||
|
|
||||||
x=`{xd -b $1 | sed -n '32p;32q'}
|
|
||||||
if(~ $x(16) 55 && ~ $x(17) aa)
|
|
||||||
exit ''
|
|
||||||
exit nope
|
|
||||||
|
|
|
@ -1,7 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
if(! ~ $#* 1) {
|
|
||||||
echo 'usage: hdrs file.9gz' >[1=2]
|
|
||||||
exit usage
|
|
||||||
}
|
|
||||||
gunzip < $1 | disk/mkext -h
|
|
|
@ -1,12 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
# 0000000 01 C D 0 0 1 01 00 P L A N 9
|
|
||||||
|
|
||||||
if(! ~ $#* 1) {
|
|
||||||
echo 'usage: is9660 /dev/sdC0/part' >[1=2]
|
|
||||||
exit usage
|
|
||||||
}
|
|
||||||
|
|
||||||
ifs=$nl {id=`{dd -if $1 -bs 2048 -skip 16>[2]/dev/null | xd -c | sed 1q | sed 's/.........(....................).*/\1/'}}
|
|
||||||
~ $id '01 C D 0 0 1 01'
|
|
||||||
exit $status
|
|
|
@ -1,11 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
if(! ~ $#* 1) {
|
|
||||||
echo 'usage: isext2 /dev/sdC0/part' >[1=2]
|
|
||||||
exit usage
|
|
||||||
}
|
|
||||||
|
|
||||||
cmp -s <{dd -if $1 -bs 1 -count 2 -skip 1080 >[2]/dev/null | xd -b |sed 1q} \
|
|
||||||
<{echo '0000000 53 ef'}
|
|
||||||
|
|
||||||
exit $status
|
|
|
@ -1,22 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
rfork e
|
|
||||||
|
|
||||||
# 0000000 eb 3c 90 P l a n 9 . 0 0 00 02 04 02 00
|
|
||||||
# 0000010 02 00 02 02 P f8 14 00 ? 00 ff 00 ~ 04 } 00
|
|
||||||
# 0000020 02 P 00 00 80 00 ) a8 04 } 00 C Y L I N
|
|
||||||
# 0000030 D R I C A L F A T 1 6 fa 8c
|
|
||||||
|
|
||||||
if(! ~ $#* 1) {
|
|
||||||
echo 'usage: isfat /dev/sdC0/part' >[1=2]
|
|
||||||
exit usage
|
|
||||||
}
|
|
||||||
|
|
||||||
arg=$1
|
|
||||||
fn fat {
|
|
||||||
cmp -s <{dd -if $arg -bs 1 -count 3 -skip $1 >[2]/dev/null} <{echo -n FAT}
|
|
||||||
}
|
|
||||||
|
|
||||||
fat 54 || fat 82
|
|
||||||
exit $status
|
|
||||||
|
|
|
@ -1,16 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
if(! ~ $#* 1){
|
|
||||||
echo 'usage: isfossil /dev/sdC0/part' >[1=2]
|
|
||||||
exit usage
|
|
||||||
}
|
|
||||||
|
|
||||||
arg=$1
|
|
||||||
if(! cmp -s <{dd -quiet 1 -if $arg -bs 1024 -iseek 127 |
|
|
||||||
dd -quiet 1 -bs 14 -count 1} <{echo 'fossil config'})
|
|
||||||
exit noconfig
|
|
||||||
if(! cmp -s <{dd -quiet 1 -if $arg -bs 1024 -iseek 128 |
|
|
||||||
dd -quiet 1 -bs 4 -count 1 | xd -b | sed 1q} <{echo '0000000 37 76 ae 89'})
|
|
||||||
exit notwritebuffer
|
|
||||||
exit 0
|
|
||||||
|
|
|
@ -1,13 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
if(! ~ $#* 1){
|
|
||||||
echo 'usage: isventi /dev/sdC0/part' >[1=2]
|
|
||||||
exit usage
|
|
||||||
}
|
|
||||||
|
|
||||||
arg=$1
|
|
||||||
if(! cmp -s <{dd -quiet 1 -if $arg -bs 1024 -iseek 248 |
|
|
||||||
dd -quiet 1 -bs 13 -count 1} <{echo 'venti config'})
|
|
||||||
exit noconfig
|
|
||||||
exit 0
|
|
||||||
|
|
|
@ -1,13 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
if(! ~ $#* 1){
|
|
||||||
echo 'usage: isventiarenas /dev/sdC0/part' >[1=2]
|
|
||||||
exit usage
|
|
||||||
}
|
|
||||||
|
|
||||||
arg=$1
|
|
||||||
if(! cmp -s <{dd -quiet 1 -if $arg -bs 1024 -iseek 256 |
|
|
||||||
dd -quiet 1 -bs 4 -count 1 | xd -b | sed 1q} <{echo '0000000 a9 e4 a5 e7'})
|
|
||||||
exit notarenas
|
|
||||||
exit 0
|
|
||||||
|
|
|
@ -1,13 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
if(! ~ $#* 1){
|
|
||||||
echo 'usage: isventiisect /dev/sdC0/part' >[1=2]
|
|
||||||
exit usage
|
|
||||||
}
|
|
||||||
|
|
||||||
arg=$1
|
|
||||||
if(! cmp -s <{dd -quiet 1 -if $arg -bs 1024 -iseek 256 |
|
|
||||||
dd -quiet 1 -bs 4 -count 1 | xd -b | sed 1q} <{echo '0000000 d1 5c 5e c7'})
|
|
||||||
exit notisect
|
|
||||||
exit 0
|
|
||||||
|
|
|
@ -1,115 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
. defs
|
|
||||||
|
|
||||||
while()
|
|
||||||
{
|
|
||||||
div=--------------------------------------
|
|
||||||
echo
|
|
||||||
echo $div
|
|
||||||
echo
|
|
||||||
echo -n 'Preparing menu...'
|
|
||||||
|
|
||||||
# must be topologically sorted (by prereq)
|
|
||||||
tasks=(\
|
|
||||||
configfs\
|
|
||||||
partdisk prepdisk\
|
|
||||||
fmtfossil\
|
|
||||||
mountfs\
|
|
||||||
configdist\
|
|
||||||
confignet\
|
|
||||||
mountdist\
|
|
||||||
fmtventi\
|
|
||||||
download\
|
|
||||||
copydist\
|
|
||||||
bootsetup finish stop\
|
|
||||||
stopether stopppp\
|
|
||||||
)
|
|
||||||
# startether startppp stopether stopppp download\
|
|
||||||
|
|
||||||
# these don't show up in the menu but still matter
|
|
||||||
pseudotasks=(configip havefiles etherup etherdown pppup pppdown)
|
|
||||||
|
|
||||||
for(i in $tasks $pseudotasks)
|
|
||||||
$i=notdone
|
|
||||||
|
|
||||||
coherence
|
|
||||||
|
|
||||||
for(i in $tasks $pseudotasks)
|
|
||||||
if(~ $#$i 0)
|
|
||||||
$i=notdone
|
|
||||||
|
|
||||||
#
|
|
||||||
# we believe the environment about what is done
|
|
||||||
# only if we've confirmed it. since the tasks list is sorted so that
|
|
||||||
# prereqs of xxx come before xxx, it's okay to assume xxx
|
|
||||||
# is done until proven otherwise -- either a prereq or checkdone
|
|
||||||
# will say so.
|
|
||||||
#
|
|
||||||
|
|
||||||
done=()
|
|
||||||
ready=()
|
|
||||||
rm /env/done
|
|
||||||
rm /env/ready
|
|
||||||
for(i in $tasks) {
|
|
||||||
$i=done
|
|
||||||
for(j in `{prereq $i})
|
|
||||||
if(! ~ $$j done)
|
|
||||||
$i=notdone
|
|
||||||
if(~ $$i done) {
|
|
||||||
export $i
|
|
||||||
$i checkdone
|
|
||||||
$i=`{grep '^'$i^'=' /tmp/vars | sed -n '$p' | sed 's/.*=//'}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(~ $$i notdone ready) {
|
|
||||||
okay=yes
|
|
||||||
for(j in `{prereq $i})
|
|
||||||
if(! ~ $$j done)
|
|
||||||
okay=no
|
|
||||||
switch($okay){
|
|
||||||
case yes
|
|
||||||
$i=ready
|
|
||||||
export $i
|
|
||||||
$i checkready
|
|
||||||
$i=`{grep '^'$i^'=' /tmp/vars | sed -n '$p' | sed 's/.*=//'}
|
|
||||||
case no
|
|
||||||
$i=notdone
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(~ $$i done ready)
|
|
||||||
$$i=($$$i $i) # rc can be just as complicated as perl!
|
|
||||||
}
|
|
||||||
|
|
||||||
export $tasks $pseudotasks done ready
|
|
||||||
coherence
|
|
||||||
echo
|
|
||||||
|
|
||||||
if(! ~ $#done 0) {
|
|
||||||
echo 'The following tasks are done: '
|
|
||||||
for(i in $done)
|
|
||||||
desc $i
|
|
||||||
echo
|
|
||||||
}
|
|
||||||
|
|
||||||
echo 'The following unfinished tasks are ready to be done:'
|
|
||||||
for(i in $ready)
|
|
||||||
desc $i
|
|
||||||
echo
|
|
||||||
|
|
||||||
if(~ $#ready 0) {
|
|
||||||
echo hey you finished everything! not supposed to happen.
|
|
||||||
sleep 100
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
|
|
||||||
prompt -d $ready(1) -w '' 'Task to do' $done $ready
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo $div
|
|
||||||
|
|
||||||
$rd go
|
|
||||||
$rd=done # if it's not, the check will figure that out
|
|
||||||
export $rd
|
|
||||||
}
|
|
|
@ -1,23 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
sleep 86400 &
|
|
||||||
cd /bin/inst
|
|
||||||
. defs
|
|
||||||
fn sigint { }
|
|
||||||
|
|
||||||
coherence
|
|
||||||
|
|
||||||
disks=`{ls /dev/sd*/data >[2]/dev/null | sed 's!/dev/(sd..)/data!\1!'}
|
|
||||||
for (i in /dev/sd*/data)
|
|
||||||
if(test -f $i)
|
|
||||||
disk/fdisk -p $i>`{basename -d $i}^/ctl >[2]/dev/null
|
|
||||||
for(i in /dev/sd*/plan9*)
|
|
||||||
if(test -f $i)
|
|
||||||
disk/prep -p $i >`{basename -d $i}^/ctl >[2]/dev/null
|
|
||||||
|
|
||||||
# we run this while() here so that ctl-d won''t exit from us -- it''ll only exit main!
|
|
||||||
# main contains a while() loop too, to avoid the hit of
|
|
||||||
# continually reexecing from here.
|
|
||||||
|
|
||||||
while()
|
|
||||||
main
|
|
|
@ -1,59 +0,0 @@
|
||||||
BEGIN{
|
|
||||||
m = "common"
|
|
||||||
haveold = 0;
|
|
||||||
while(getline <"/n/9fat/plan9-3e.ini" > 0){
|
|
||||||
haveold = 1
|
|
||||||
if($0 ~ /\[.*\]/){
|
|
||||||
m = substr($0, 2, length($0)-2)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
if(m=="menu" && $0 ~ /^menuitem=4e,/)
|
|
||||||
continue
|
|
||||||
a[m] = a[m] $0 "\n"
|
|
||||||
}
|
|
||||||
|
|
||||||
a["4e"] = ""
|
|
||||||
while(getline <"/tmp/plan9.ini" > 0)
|
|
||||||
a["4e"] = a["4e"] $0 "\n"
|
|
||||||
|
|
||||||
if(a["menu"] == "" && haveold){
|
|
||||||
a["menu"] = "menuitem=3e, Plan 9 Third Edition\n"
|
|
||||||
a["3e"] = ""
|
|
||||||
}
|
|
||||||
|
|
||||||
if(a["common"] != ""){
|
|
||||||
for(i in a)
|
|
||||||
if(i != "4e" && i != "common" && i != "menu")
|
|
||||||
a[i] = a["common"] a[i]
|
|
||||||
delete a["common"]
|
|
||||||
}
|
|
||||||
|
|
||||||
bootdisk4e=ENVIRON["fs"]
|
|
||||||
gsub("/dev/", "boot(args|disk|file)=local!#S/", bootdisk4e)
|
|
||||||
|
|
||||||
if(!haveold)
|
|
||||||
print a["4e"]
|
|
||||||
else{
|
|
||||||
print "[menu]"
|
|
||||||
print "menuitem=4e, Plan 9 Fourth Edition"
|
|
||||||
print a["menu"]
|
|
||||||
print ""
|
|
||||||
delete a["menu"]
|
|
||||||
|
|
||||||
print "[4e]"
|
|
||||||
print a["4e"]
|
|
||||||
print ""
|
|
||||||
delete a["4e"]
|
|
||||||
|
|
||||||
for(i in a){
|
|
||||||
# BUG: if rootdir is already there we should rewrite it
|
|
||||||
# sometimes into /3e/whatwasthere
|
|
||||||
if(a[i] ~ bootdisk4e && !(a[i] ~ /rootdir=/))
|
|
||||||
a[i] = "rootdir=/root/3e\n" a[i]
|
|
||||||
print "[" i "]"
|
|
||||||
gsub(/9fat!9pcdisk/, "9fat!9pc3e", a[i])
|
|
||||||
print a[i]
|
|
||||||
print ""
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,222 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
# prereq: mountfs configdist
|
|
||||||
# desc: locate and mount the distribution
|
|
||||||
|
|
||||||
fn domount{
|
|
||||||
if(! test -e $mountmedia(2))
|
|
||||||
logprog $srvmedia
|
|
||||||
unmount /n/distmedia >[2]/dev/null
|
|
||||||
logprog $mountmedia
|
|
||||||
}
|
|
||||||
|
|
||||||
fn exitifdone{
|
|
||||||
if(test -f /n/dist/dist/replica/plan9.db)
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
|
|
||||||
fn trycdimage{
|
|
||||||
if(test -f $1){
|
|
||||||
rm -f /srv/9660.dist
|
|
||||||
unmount /n/dist
|
|
||||||
9660srv 9660.dist >[2]/dev/null
|
|
||||||
logprog mount /srv/9660.dist /n/dist $1
|
|
||||||
exitifdone
|
|
||||||
mountdist=notdone
|
|
||||||
export mountdist
|
|
||||||
exit notdone
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fn trycdimagebz2 {
|
|
||||||
if(test -f $1){
|
|
||||||
echo -n 'bunzip2 < '^$1^' >/n/newfs/dist/plan9.iso'
|
|
||||||
bunzip2 < $1 >/n/newfs/dist/_plan9.iso &&
|
|
||||||
mv /n/newfs/dist/_plan9.iso /n/newfs/dist/plan9.iso
|
|
||||||
echo
|
|
||||||
trycdimage /n/newfs/dist/plan9.iso
|
|
||||||
mountdist=notdone
|
|
||||||
export mountdist
|
|
||||||
exit notdone
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fn havedist {
|
|
||||||
test -f $1/dist/replica/plan9.db ||
|
|
||||||
test -f $1/plan9.iso ||
|
|
||||||
test -f $1/plan9.iso.bz2
|
|
||||||
}
|
|
||||||
|
|
||||||
switch($1){
|
|
||||||
case checkready
|
|
||||||
if(! ~ $distisfrom local && ! ~ $download done){
|
|
||||||
mountdist=notdone
|
|
||||||
export mountdist
|
|
||||||
}
|
|
||||||
if(! ~ $#mountmedia 0 1){
|
|
||||||
if(domount){
|
|
||||||
mountdist=done
|
|
||||||
export mountdist
|
|
||||||
if(mountdist checkdone)
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
srvmedia=()
|
|
||||||
mountmedia=()
|
|
||||||
mountdist=ready
|
|
||||||
export srvmedia mountmedia mountdist
|
|
||||||
}
|
|
||||||
|
|
||||||
case go
|
|
||||||
fat=()
|
|
||||||
ext2=()
|
|
||||||
x9660=()
|
|
||||||
fossil=()
|
|
||||||
|
|
||||||
echo Please wait... Scanning storage devices...
|
|
||||||
|
|
||||||
parts=`{ls /dev/sd??/* >[2]/dev/null | grep -v '/(plan9.*|ctl|log|raw)$'}
|
|
||||||
for (i in $parts) {
|
|
||||||
echo -n ' '^$i
|
|
||||||
n=`{echo $i | sed 's;/;_;g'}
|
|
||||||
if(! test -f /tmp/localpart.$n)
|
|
||||||
dd -if $i -bs 2048 -count 32 -of /tmp/localpart.$n >[2]/dev/null
|
|
||||||
if(isfat /tmp/localpart.$n)
|
|
||||||
fat=($fat $i)
|
|
||||||
if(isext2 /tmp/localpart.$n)
|
|
||||||
ext2=($ext2 $i)
|
|
||||||
if(is9660 /tmp/localpart.$n)
|
|
||||||
x9660=($x9660 $i)
|
|
||||||
if(isfossil $i)
|
|
||||||
fossil=($fossil $i)
|
|
||||||
echo
|
|
||||||
}
|
|
||||||
echo
|
|
||||||
echo The following storage media were detected.
|
|
||||||
echo Choose the one containing the distribution.
|
|
||||||
echo
|
|
||||||
for(i in $parts){
|
|
||||||
switch($i){
|
|
||||||
case $fat
|
|
||||||
echo ' '^$i^' (microsoft fat)'
|
|
||||||
case $ext2
|
|
||||||
echo ' '^$i^' (linux ext2)'
|
|
||||||
case $x9660
|
|
||||||
echo ' '^$i^' (iso9660 cdrom)'
|
|
||||||
case $fossil
|
|
||||||
echo ' '^$i^' (plan9 fossil)'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
echo
|
|
||||||
|
|
||||||
mountstatus=x
|
|
||||||
while(! ~ $mountstatus ''){
|
|
||||||
prompt -w '' 'Distribution disk' $fat $x9660 $fossil
|
|
||||||
disk=$rd
|
|
||||||
|
|
||||||
srvmedia=()
|
|
||||||
mountmedia=()
|
|
||||||
switch($disk){
|
|
||||||
case $fs
|
|
||||||
mountmedia=(bind /n/newfs /n/distmedia)
|
|
||||||
case $fat
|
|
||||||
srvmedia=(dossrv)
|
|
||||||
mountmedia=(mount /srv/dos /n/distmedia $disk)
|
|
||||||
case $ext2
|
|
||||||
srvmedia=(ext2srv -r)
|
|
||||||
mountmedia=(mount /srv/ext2 /n/distmedia $disk)
|
|
||||||
case $x9660
|
|
||||||
srvmedia=(9660srv)
|
|
||||||
mountmedia=(mount /srv/9660 /n/distmedia $disk)
|
|
||||||
case $fossil
|
|
||||||
echo 'srv fossil.mountdist' > /tmp/fossi.conf
|
|
||||||
echo 'fsys main config '^$disk >> /tmp/fossil.conf
|
|
||||||
echo 'fsys main open -AWVP' >> /tmp/fossil.conf
|
|
||||||
echo 'fsys main' >> /tmp/fossil.conf
|
|
||||||
srvmedia=(fossil/fossil -c '. /tmp/fossil.conf')
|
|
||||||
mountmedia=(mount /srv/fossil.mountdist /n/distmedia)
|
|
||||||
case *
|
|
||||||
echo Unknown disk type '(cannot happen)'
|
|
||||||
exit oops
|
|
||||||
}
|
|
||||||
export srvmedia mountmedia
|
|
||||||
domount
|
|
||||||
mountstatus=$status
|
|
||||||
}
|
|
||||||
|
|
||||||
first=yes
|
|
||||||
dir=/
|
|
||||||
while(~ $first yes || ! havedist /n/distmedia/$dir){
|
|
||||||
if(~ $first yes){
|
|
||||||
echo
|
|
||||||
echo Which directory contains the distribution?
|
|
||||||
echo 'Any of the following will suffice (in order of preference):'
|
|
||||||
echo ' - the root directory of the cd image'
|
|
||||||
echo ' - the directory containing plan9.iso'
|
|
||||||
echo ' - the directory containing plan9.iso.bz2'
|
|
||||||
echo 'Typing `browse'' will put you in a shell that you can use to'
|
|
||||||
echo 'look for the directory.'
|
|
||||||
echo
|
|
||||||
first=no
|
|
||||||
}
|
|
||||||
|
|
||||||
prompt -d browse 'Location of archives'
|
|
||||||
dir=$rd
|
|
||||||
if(~ $dir browse){
|
|
||||||
echo This is a simple shell. Commands are:
|
|
||||||
echo ' cd directory - change to directory'
|
|
||||||
echo ' lc - list contents of current directory'
|
|
||||||
echo ' exit - exit shell'
|
|
||||||
echo
|
|
||||||
echo 'Move to the directory containing the distribution'
|
|
||||||
echo 'and then exit.'
|
|
||||||
echo
|
|
||||||
oifs=$ifs
|
|
||||||
ifs=$nl
|
|
||||||
dir=`{cdsh -r /n/distmedia}
|
|
||||||
ifs=$oifs
|
|
||||||
}
|
|
||||||
if(~ $#dir 0)
|
|
||||||
dir=safdsfdsfdsf
|
|
||||||
if(! ~ $#dir 1)
|
|
||||||
dir=$"dir
|
|
||||||
if(! havedist /n/distmedia/$dir)
|
|
||||||
echo 'No distribution found in '^`{cleanname /$dir}
|
|
||||||
}
|
|
||||||
|
|
||||||
distmediadir=$dir
|
|
||||||
export distmediadir
|
|
||||||
|
|
||||||
case checkdone
|
|
||||||
if(! ~ $#distmediadir 1){
|
|
||||||
mountdist=notdone
|
|
||||||
export mountdist
|
|
||||||
exit notdone
|
|
||||||
}
|
|
||||||
if(! havedist /n/distmedia/$distmediadir && ! havedist /n/newfs/dist){
|
|
||||||
mountdist=notdone
|
|
||||||
export mountdist
|
|
||||||
exit notdone
|
|
||||||
}
|
|
||||||
|
|
||||||
exitifdone
|
|
||||||
|
|
||||||
if(test -f /n/distmedia/$distmediadir/dist/replica/plan9.db){
|
|
||||||
bind /n/distmedia/$distmediadir /n/dist
|
|
||||||
bind -a /n/dist/386/bin /bin
|
|
||||||
bind -a /n/dist/rc/bin /bin
|
|
||||||
exitifdone
|
|
||||||
mountdist=notdone
|
|
||||||
export mountdist
|
|
||||||
exit notdone
|
|
||||||
}
|
|
||||||
|
|
||||||
trycdimage /n/distmedia/$distmediadir/plan9.iso
|
|
||||||
trycdimage /n/newfs/dist/plan9.iso
|
|
||||||
|
|
||||||
trycdimagebz2 /n/distmedia/$distmediadir/plan9.iso.bz2
|
|
||||||
trycdimagebz2 /n/newfs/dist/plan9.iso.bz2
|
|
||||||
|
|
||||||
mountdist=notdone
|
|
||||||
export mountdist
|
|
||||||
exit notdone
|
|
||||||
}
|
|
|
@ -1,104 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
switch($1){
|
|
||||||
case checkready checkdone
|
|
||||||
if(! ~ $fmtfossil done){
|
|
||||||
mountfs=notdone
|
|
||||||
export mountfs
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
if(! test -f /dev/sd*/fossil* && ! test -f /dev/fs/fossil*){
|
|
||||||
mountfs=notdone
|
|
||||||
export mountfs
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
if(! ~ $#fossil 1 || ! test -f $fossil){
|
|
||||||
mountfs=ready
|
|
||||||
export mountfs
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
if(! ps | grep -s ' fossil$'){
|
|
||||||
echo 'srv -p fscons' > /env/fossilconf
|
|
||||||
echo 'srv -AP fossil' >> /env/fossilconf
|
|
||||||
fossil/conf $fossil | sed 's/^fsys main open .*/& -AWVP/' |
|
|
||||||
sed 's/^fsys main snaptime .*//' >> /env/fossilconf
|
|
||||||
if(! logprog fossil/fossil -c .' /env/fossilconf'>>[2]/srv/log){
|
|
||||||
echo 'fossil: '^$status
|
|
||||||
mountfs=ready
|
|
||||||
export mountfs
|
|
||||||
exit oops
|
|
||||||
}
|
|
||||||
if(! test -f /srv/fossil){
|
|
||||||
echo 'fossil did not create /srv/fossil'
|
|
||||||
mountfs=ready
|
|
||||||
exit oops
|
|
||||||
}
|
|
||||||
cat /srv/fscons >>/srv/log &
|
|
||||||
if(! logprog mount -c /srv/fossil /n/newfs){
|
|
||||||
echo 'mount: '^$status
|
|
||||||
mountfs=ready
|
|
||||||
export mountfs
|
|
||||||
exit oops
|
|
||||||
}
|
|
||||||
fs=$fossil
|
|
||||||
export fs
|
|
||||||
}
|
|
||||||
if(! test -s /n/newfs/adm/users){
|
|
||||||
echo fsys main create /active/adm adm sys d775 >>/srv/fscons
|
|
||||||
echo fsys main create /active/adm/users adm sys 664 >>/srv/fscons
|
|
||||||
echo uname upas :upas >>/srv/fscons
|
|
||||||
echo users -w >>/srv/fscons
|
|
||||||
sleep 2
|
|
||||||
}
|
|
||||||
if(! test -s /n/newfs/adm/users){
|
|
||||||
echo 'could not create /adm/users'
|
|
||||||
mountfs=ready
|
|
||||||
export mountfs
|
|
||||||
exit oops
|
|
||||||
}
|
|
||||||
for(i in dist dist/replica dist/replica/client){
|
|
||||||
if(! test -d /n/newfs/$i)
|
|
||||||
echo fsys main create /active/$i sys sys d775 >>/srv/fscons
|
|
||||||
sleep 2
|
|
||||||
}
|
|
||||||
if(! test -d /n/newfs/dist/replica/client){
|
|
||||||
echo 'could not create /dist/replica/client'
|
|
||||||
mountfs=ready
|
|
||||||
export mountfs
|
|
||||||
exit oops
|
|
||||||
}
|
|
||||||
if(! test -e /n/newfs/dist/replica/client/plan9.db){
|
|
||||||
echo fsys main create /active/dist/replica/client/plan9.db sys sys 664 >>/srv/fscons
|
|
||||||
echo fsys main create /active/dist/replica/client/plan9.log sys sys a664 >>/srv/fscons
|
|
||||||
}
|
|
||||||
if(test -d /n/newfs/dist/replica/client && test -f /n/newfs/adm/users){
|
|
||||||
mountfs=done
|
|
||||||
export mountfs
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
mountfs=ready
|
|
||||||
export mountfs
|
|
||||||
exit
|
|
||||||
|
|
||||||
case go
|
|
||||||
echo 'The following partitions named fossil* were found.'
|
|
||||||
echo
|
|
||||||
echo 'Please choose one to use as the installation file system'
|
|
||||||
echo 'for your Plan 9 installation.'
|
|
||||||
echo
|
|
||||||
files=(`{ls /dev/sd*/fossil* /dev/fs/fossil* >[2]/dev/null})
|
|
||||||
ls -l $files
|
|
||||||
echo
|
|
||||||
if(~ $#fossil 1 && ~ $fossil $files)
|
|
||||||
default=(-d $fossil)
|
|
||||||
if not if(~ $#files 1)
|
|
||||||
default=(-d $files)
|
|
||||||
if not
|
|
||||||
default=()
|
|
||||||
prompt $default 'Fossil partition' $files
|
|
||||||
slay fossil|rc
|
|
||||||
fossil=$rd
|
|
||||||
export fossil
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
# desc: choose and mount file system partition
|
|
||||||
# prereq: configfs
|
|
||||||
|
|
||||||
switch($fstype){
|
|
||||||
case fossil fossil+venti
|
|
||||||
exec mountfossil $*
|
|
||||||
case *
|
|
||||||
mountfs=notdone
|
|
||||||
export mountfs
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,72 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
# desc: move an old third edition plan 9 file system out of the way
|
|
||||||
# prereq: mountfs
|
|
||||||
|
|
||||||
rootfiles=(\
|
|
||||||
386\
|
|
||||||
68000\
|
|
||||||
68020\
|
|
||||||
LICENSE\
|
|
||||||
NOTICE\
|
|
||||||
acme\
|
|
||||||
adm\
|
|
||||||
alpha\
|
|
||||||
arm\
|
|
||||||
cron\
|
|
||||||
dist\
|
|
||||||
fd\
|
|
||||||
lib\
|
|
||||||
lp\
|
|
||||||
mail\
|
|
||||||
mips\
|
|
||||||
mnt\
|
|
||||||
n\
|
|
||||||
power\
|
|
||||||
rc\
|
|
||||||
sparc\
|
|
||||||
sys\
|
|
||||||
tmp\
|
|
||||||
usr/glenda\
|
|
||||||
wrap\
|
|
||||||
)
|
|
||||||
|
|
||||||
switch($1){
|
|
||||||
case checkready
|
|
||||||
if(! test -d /n/kfs/wrap){
|
|
||||||
moveoldfs=done
|
|
||||||
export moveoldfs
|
|
||||||
}
|
|
||||||
|
|
||||||
case go
|
|
||||||
if(test -d /n/kfs/wrap){
|
|
||||||
echo 'You have a Third Edition Plan 9 installation on '^$fs^'.'
|
|
||||||
echo 'We need to move the old file system out of the way (into /3e)'
|
|
||||||
echo 'in order to continue.'
|
|
||||||
echo
|
|
||||||
prompt 'Move old file system' y n
|
|
||||||
switch($rd){
|
|
||||||
case y
|
|
||||||
kname=`{kfsname $fs}
|
|
||||||
log Moving old Plan 9 installation into /3e on kfs
|
|
||||||
logprog disk/kfscmd -n$kname 'create /3e sys sys 555 d' >>[2]/srv/log
|
|
||||||
logprog disk/kfscmd -n$kname 'create /3e/usr sys sys 555 d' >>[2]/srv/log
|
|
||||||
for(i in $rootfiles)
|
|
||||||
if(test -e /n/kfs/$i)
|
|
||||||
logprog disk/kfscmd -n$kname 'rename /'^$i^' /3e/'^$i
|
|
||||||
# copy extant /adm/users in case there have been modifications
|
|
||||||
logprog disk/kfscmd -n$kname 'create /adm adm adm 555 d' >>[2]/srv/log
|
|
||||||
logprog cp /n/kfs/3e/adm/users /n/kfs/adm/users >>[2]/srv/log
|
|
||||||
|
|
||||||
case n
|
|
||||||
echo 'Okay, but we can''t continue.'
|
|
||||||
echo
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
case checkdone
|
|
||||||
if(test -d /n/kfs/wrap){
|
|
||||||
moveoldfs=notdone
|
|
||||||
export moveoldfs
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,73 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
# desc: edit partition tables (e.g., to create a plan 9 partition)
|
|
||||||
# prereq: configfs
|
|
||||||
|
|
||||||
switch($1){
|
|
||||||
case go
|
|
||||||
disks=`{ls /dev/sd*/data >[2]/dev/null | sed 's!/dev/(sd..)/data!\1!'}
|
|
||||||
if(~ $#disks 0) {
|
|
||||||
echo 'No disk devices were found on your system.'
|
|
||||||
echo 'The installation process cannot continue.'
|
|
||||||
exit giveup
|
|
||||||
}
|
|
||||||
|
|
||||||
echo 'The following disk devices were found.'
|
|
||||||
echo
|
|
||||||
for(i in $disks) {
|
|
||||||
desc=`{cat /dev/$i/ctl | sed 1q | sed 's/inquiry //'}
|
|
||||||
echo $i '-' $desc
|
|
||||||
echo e | disk/fdisk -r /dev/$i/data >[2]/dev/null | grep -v '^ mbr'
|
|
||||||
echo
|
|
||||||
}
|
|
||||||
|
|
||||||
okay=no
|
|
||||||
defdisk=$disks(1)
|
|
||||||
|
|
||||||
if(~ $#disks 1)
|
|
||||||
default=(-d $disks)
|
|
||||||
if not
|
|
||||||
default=()
|
|
||||||
prompt $default 'Disk to partition' $disks
|
|
||||||
disk=$rd
|
|
||||||
|
|
||||||
if(! hasmbr /dev/$disk/data) {
|
|
||||||
echo 'The disk you selected HAS NO master boot record on its first sector.'
|
|
||||||
echo '(Perhaps it is a completely blank disk.)'
|
|
||||||
echo 'You need a master boot record to use the disk.'
|
|
||||||
echo 'Should we install a default master boot record?'
|
|
||||||
echo
|
|
||||||
prompt 'Install mbr' y n
|
|
||||||
switch($rd) {
|
|
||||||
case y
|
|
||||||
disk/mbr -m /386/mbr /dev/$disk/data
|
|
||||||
pickdisk=done
|
|
||||||
}
|
|
||||||
}
|
|
||||||
echo
|
|
||||||
echo 'This is disk/fdisk; use it to create a Plan 9 partition.'
|
|
||||||
echo 'If there is enough room, a Plan 9 partition will be'
|
|
||||||
echo 'suggested; you can probably just type ''w'' and then ''q''.'
|
|
||||||
echo
|
|
||||||
disk/fdisk -a /dev/$disk/data
|
|
||||||
disk/fdisk -p /dev/$disk/data >/dev/$disk/ctl >[2]/dev/null
|
|
||||||
for(i in /dev/sd*/plan9*){
|
|
||||||
if(test -f $i){
|
|
||||||
d=`{basename -d $i}
|
|
||||||
disk/prep -p $i >$d/ctl >[2]/dev/null
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
case checkdone
|
|
||||||
# we want at least one disk with both an mbr and a plan9 partition
|
|
||||||
mbrandplan9=0
|
|
||||||
disks=`{ls /dev/sd*/plan9 >[2]/dev/null | sed 's!/dev/(sd..)/plan9!\1!'}
|
|
||||||
for(disk in $disks) {
|
|
||||||
if(hasmbr /dev/$disk/data)
|
|
||||||
mbrandplan9=1
|
|
||||||
}
|
|
||||||
if(~ $mbrandplan9 0){
|
|
||||||
partdisk=notdone
|
|
||||||
export partdisk
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,63 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
# desc: subdivide plan 9 disk partition
|
|
||||||
# prereq: partdisk
|
|
||||||
|
|
||||||
fn autotype {
|
|
||||||
if(~ $fstype fossil)
|
|
||||||
echo -a 9fat -a nvram -a fossil -a swap
|
|
||||||
if(~ $fstype fossil+venti)
|
|
||||||
echo -a 9fat -a nvram -a arenas -a isect -a fossil -a swap # -a other
|
|
||||||
}
|
|
||||||
|
|
||||||
switch($1) {
|
|
||||||
case checkready
|
|
||||||
if(! test -f /dev/sd*/plan9*){
|
|
||||||
prepdisk=notdone
|
|
||||||
export prepdisk
|
|
||||||
}
|
|
||||||
|
|
||||||
case go
|
|
||||||
echo 'The following Plan 9 disk partitions were found.'
|
|
||||||
echo
|
|
||||||
disks=(/dev/sd*/plan9*)
|
|
||||||
for (i in $disks){
|
|
||||||
echo $i
|
|
||||||
echo q | disk/prep -r $i >[2]/dev/null
|
|
||||||
echo
|
|
||||||
}
|
|
||||||
if(~ $#disks 1)
|
|
||||||
default=(-d $disks)
|
|
||||||
if not
|
|
||||||
default=()
|
|
||||||
prompt $default 'Plan 9 partition to subdivide' $disks
|
|
||||||
disk=$rd
|
|
||||||
|
|
||||||
echo 'This is disk/prep; use it to subdivide the Plan 9 partition.'
|
|
||||||
echo 'If it is not yet subdivided, a sensible layout will be suggested;'
|
|
||||||
echo 'you can probably just type ''w'' and then ''q''.'
|
|
||||||
echo
|
|
||||||
disk/prep `{autotype} $disk
|
|
||||||
disk/prep -p $disk >`{basename -d $disk}^/ctl >[2]/dev/null
|
|
||||||
|
|
||||||
case checkdone
|
|
||||||
if(! test -f /dev/sd*/9fat)
|
|
||||||
prepdisk=ready
|
|
||||||
|
|
||||||
if(! ~ $prepdisk ready){
|
|
||||||
prepdisk=done
|
|
||||||
switch($fstype){
|
|
||||||
case fossil
|
|
||||||
if(! test -f /dev/sd*/fossil* && ! test -f /dev/fs/fossil*)
|
|
||||||
prepdisk=ready
|
|
||||||
case fossil+venti
|
|
||||||
if(! test -f /dev/sd*/fossil* && ! test -f /dev/fs/fossil*)
|
|
||||||
prepdisk=ready
|
|
||||||
if(! test -f /dev/sd*/arenas && ! test -f /dev/fs/arenas*)
|
|
||||||
prepdisk=ready
|
|
||||||
if(! test -f /dev/sd*/isect && ! test -f /dev/fs/isect*)
|
|
||||||
prepdisk=ready
|
|
||||||
}
|
|
||||||
}
|
|
||||||
export prepdisk
|
|
||||||
}
|
|
|
@ -1,18 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
s=/n/dist/dist/replica
|
|
||||||
serverroot=/n/dist
|
|
||||||
serverlog=$s/plan9.log
|
|
||||||
serverproto=$s/plan9.proto
|
|
||||||
fn servermount { status='' }
|
|
||||||
fn serverupdate { status='' }
|
|
||||||
|
|
||||||
fn clientmount { status='' }
|
|
||||||
c=/n/newfs/dist/replica
|
|
||||||
clientroot=/n/newfs
|
|
||||||
clientproto=$c/plan9.proto
|
|
||||||
clientdb=$c/client/plan9.db
|
|
||||||
clientexclude=(dist/replica/client)
|
|
||||||
clientlog=$c/client/plan9.log
|
|
||||||
|
|
||||||
applyopt=(-t -u -T$c/client/plan9.time)
|
|
|
@ -1,30 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
# desc: activate ethernet card
|
|
||||||
# prereq: configether
|
|
||||||
|
|
||||||
switch($1) {
|
|
||||||
case checkready
|
|
||||||
if(isipdevup /net/ether0) {
|
|
||||||
startether=done
|
|
||||||
export startether
|
|
||||||
}
|
|
||||||
|
|
||||||
case go
|
|
||||||
if(isipdevup /net/ether0)
|
|
||||||
exit
|
|
||||||
|
|
||||||
log starting ethernet $ethermethod config
|
|
||||||
switch($ethermethod) {
|
|
||||||
case manual
|
|
||||||
ip/ipconfig -g $gwaddr ether /net/ether0 $ipaddr $ipmask >>[2]/srv/log
|
|
||||||
case dhcp
|
|
||||||
ip/ipconfig $dhcphost -D >>/srv/log >[2=1]
|
|
||||||
}
|
|
||||||
|
|
||||||
case checkdone
|
|
||||||
if(! isipdevup /net/ether0) {
|
|
||||||
startether=notdone
|
|
||||||
export startether
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,30 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
# desc: activate ppp connection
|
|
||||||
# prereq: configppp
|
|
||||||
|
|
||||||
switch($1) {
|
|
||||||
case checkready checkdone
|
|
||||||
if (isipdevup '^pkt[0-9]')
|
|
||||||
startppp=done
|
|
||||||
export startppp
|
|
||||||
|
|
||||||
case go
|
|
||||||
if(isipdevup '^pkt[0-9]')
|
|
||||||
exit
|
|
||||||
|
|
||||||
ctl=$pppdev^ctl
|
|
||||||
echo b115200 >$ctl
|
|
||||||
|
|
||||||
switch($pppmethod) {
|
|
||||||
case manual
|
|
||||||
echo
|
|
||||||
echo 'Please dial the modem, and type ctl-d when PPP has started.'
|
|
||||||
echo 'You may need to type ctl-m to send modem commands.'
|
|
||||||
echo
|
|
||||||
ip/ppp -f -u -b b^$pppbaud -p /dev/^$pppdev
|
|
||||||
|
|
||||||
case auto
|
|
||||||
ip/ppp -f -b b^$pppbaud -p /dev/^$pppdev -s $"pppuser:$"ppppasswd -t 'atdt'^$"pppphone
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,46 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
fn time { date | sed 's/.........$//'}
|
|
||||||
|
|
||||||
rm -f /srv/log
|
|
||||||
|
|
||||||
if(~ $#* 2) {
|
|
||||||
wid=$1
|
|
||||||
ht=$2
|
|
||||||
}
|
|
||||||
if not {
|
|
||||||
scr=(`{cat /dev/draw/new >[2]/dev/null || status=''})
|
|
||||||
wid=$scr(7)
|
|
||||||
ht=$scr(8)
|
|
||||||
}
|
|
||||||
|
|
||||||
if(test $ht -gt 800)
|
|
||||||
ht=800
|
|
||||||
|
|
||||||
if(test $wid -gt 800)
|
|
||||||
wid=800
|
|
||||||
|
|
||||||
statwid=`{hoc -e $wid^'*.2'}
|
|
||||||
if(test $statwid -lt 180)
|
|
||||||
statwid=180
|
|
||||||
if(test $statwid -gt 300)
|
|
||||||
statwid=300
|
|
||||||
|
|
||||||
logwid=`{hoc -e $wid^-$statwid}
|
|
||||||
if(test $logwid -gt 1000)
|
|
||||||
logwid=1000
|
|
||||||
|
|
||||||
loght=`{hoc -e $ht^'*.25'}
|
|
||||||
if(test $loght -lt 130)
|
|
||||||
loght=130
|
|
||||||
|
|
||||||
textht=`{hoc -e $ht^-$loght}
|
|
||||||
|
|
||||||
window 0,$textht,$statwid,$ht stats -lmisce
|
|
||||||
window $statwid,$textht,^`{hoc -e $logwid+$statwid}^,$ht tailfsrv
|
|
||||||
window 0,0,^`{hoc -e $logwid+$statwid}^,$textht inst/mainloop
|
|
||||||
|
|
||||||
while(! test -f /srv/log)
|
|
||||||
sleep 1
|
|
||||||
|
|
||||||
log `{time} Installation process started
|
|
|
@ -1,50 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
# desc: save the current installation state, to be resumed later
|
|
||||||
# prereq:
|
|
||||||
# mustdo:
|
|
||||||
|
|
||||||
switch($1) {
|
|
||||||
case checkdone
|
|
||||||
stop=notdone
|
|
||||||
export stop
|
|
||||||
|
|
||||||
case checkready
|
|
||||||
if(~ $cdboot yes){
|
|
||||||
stop=notdone
|
|
||||||
export stop
|
|
||||||
}
|
|
||||||
|
|
||||||
case go
|
|
||||||
coherence
|
|
||||||
switch($2){
|
|
||||||
case finished
|
|
||||||
echo 'We need to write the state of the current installation to the install floppy,'
|
|
||||||
echo 'so that you can pick up from here if, for example, you want to set up'
|
|
||||||
echo 'more boot methods.'
|
|
||||||
echo
|
|
||||||
case *
|
|
||||||
echo 'We need to write the state of the current installation to the install floppy.'
|
|
||||||
echo 'so that you can pick up from here when you wish to continue.'
|
|
||||||
echo
|
|
||||||
}
|
|
||||||
echo -n 'Please make sure the install floppy is in the floppy drive and press enter.'
|
|
||||||
read >/dev/null >[2]/dev/null
|
|
||||||
|
|
||||||
if(! a:) {
|
|
||||||
echo 'Couldn''t mount the floppy disk; sorry.'
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
|
|
||||||
if(cp /tmp/vars /n/a:/9inst.cnf || cp /tmp/vars /n/a:/9inst.cnf) {
|
|
||||||
echo 'Your install state has been saved to the install floppy.'
|
|
||||||
if(~ $2 finished){
|
|
||||||
echo
|
|
||||||
echo 'Congratulations; you''ve completed the install.'
|
|
||||||
}
|
|
||||||
echo
|
|
||||||
halt
|
|
||||||
}
|
|
||||||
|
|
||||||
echo 'Couldn''t save the state to your install floppy. Sorry.'
|
|
||||||
}
|
|
|
@ -1,20 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
# desc: shut down the ethernet connection
|
|
||||||
# prereq:
|
|
||||||
|
|
||||||
|
|
||||||
switch($1) {
|
|
||||||
case checkready
|
|
||||||
if(! isipdevup /net/ether0) {
|
|
||||||
stopether=notdone
|
|
||||||
export stopether
|
|
||||||
}
|
|
||||||
|
|
||||||
case go
|
|
||||||
ip/ipconfig ether /net/ether0 unbind
|
|
||||||
|
|
||||||
case checkdone
|
|
||||||
stopether=notdone
|
|
||||||
export stopether
|
|
||||||
}
|
|
|
@ -1,19 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
# desc: shut down the ppp connection
|
|
||||||
# prereq:
|
|
||||||
|
|
||||||
switch($1) {
|
|
||||||
case checkready
|
|
||||||
if(! ~ $#pppdev 1 || ! isipdevup '^pkt[0-9]') {
|
|
||||||
stopppp=notdone
|
|
||||||
export stopppp
|
|
||||||
}
|
|
||||||
|
|
||||||
case go
|
|
||||||
kill ppp | rc
|
|
||||||
|
|
||||||
case checkdone
|
|
||||||
stopppp=notdone
|
|
||||||
export stopppp
|
|
||||||
}
|
|
|
@ -1,15 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
# text-only install
|
|
||||||
cd /bin/inst
|
|
||||||
. defs
|
|
||||||
|
|
||||||
textinst=1
|
|
||||||
export textinst
|
|
||||||
|
|
||||||
tailfsrv &
|
|
||||||
while(! test -f /srv/log)
|
|
||||||
sleep 1
|
|
||||||
log `{date} Installation process started
|
|
||||||
inst/mainloop
|
|
||||||
|
|
|
@ -1,17 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
p=`{ps | grep $1 | sed 's/[^ ]* +([^ ]+) .*/\1/' }
|
|
||||||
while(! ~ $#p 1) {
|
|
||||||
sleep 1
|
|
||||||
p=`{ps | grep $1 | sed 's/[^ ]* +([^ ]+) .*/\1/'}
|
|
||||||
}
|
|
||||||
p=$p(1)
|
|
||||||
|
|
||||||
baropt='-w 145,129,445,168'
|
|
||||||
if(~ $textinst 1)
|
|
||||||
baropt=-t
|
|
||||||
|
|
||||||
{
|
|
||||||
while(test -f /proc/$p/fd)
|
|
||||||
grep '^ *'^$2^' ' /proc/$p/fd >[2]/dev/null
|
|
||||||
} | awk '{print $9 " '^$3^'"; fflush("/dev/stdout")}' | bargraph $baropt $4
|
|
|
@ -1,9 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
ip/ipconfig
|
|
||||||
echo ' auth=204.178.31.3
|
|
||||||
authdom=cs.bell-labs.com' >>/net/ndb
|
|
||||||
ndb/cs
|
|
||||||
auth/factotum
|
|
||||||
bind -a /bin/auth /
|
|
||||||
cpu -e clear -h tcp!204.178.31.2
|
|
|
@ -1,100 +0,0 @@
|
||||||
out=outside # outside web server
|
|
||||||
s=/sys/lib/dist/pc
|
|
||||||
x=`{bind -b /sys/lib/dist/bin/$cputype /bin}
|
|
||||||
default:V: ndisk
|
|
||||||
ls -l ndisk
|
|
||||||
|
|
||||||
SUB=`{ls sub inst}
|
|
||||||
boot.raw:Q: proto $SUB
|
|
||||||
rm -rf boot
|
|
||||||
mkdir boot
|
|
||||||
bind /dev/null /sys/log/timesync
|
|
||||||
# make files writable for now.
|
|
||||||
cat proto | sed 's!d000!d775!;s!000!664!;s!555!775!;s!444!664!' >proto.cp
|
|
||||||
disk/mkfs -a proto.cp | disk/mkext -d boot
|
|
||||||
@{
|
|
||||||
cd boot/386
|
|
||||||
strip init
|
|
||||||
cd bin
|
|
||||||
strip * */* >[2]/dev/null || status=''
|
|
||||||
}
|
|
||||||
cat proto | sed 's!/.*!!' >proto.cp
|
|
||||||
disk/mkfs -a -s boot proto.cp | tee >{wc -c >[1=2]} |
|
|
||||||
touchfs 1000000000 >boot.raw
|
|
||||||
|
|
||||||
boot.bz2:Q: boot.raw
|
|
||||||
ls -l boot.raw
|
|
||||||
bflz -n 32 < boot.raw >boot.bflz
|
|
||||||
ls -l boot.bflz
|
|
||||||
bzip2 -9 < boot.bflz >$target
|
|
||||||
ls -l $target
|
|
||||||
|
|
||||||
root.bz2:Q: boot.bz2
|
|
||||||
{
|
|
||||||
echo bzfilesystem
|
|
||||||
cat boot.bz2
|
|
||||||
dd -if /dev/zero -bs 1024 -count 1 >[2]/dev/null
|
|
||||||
} >$target
|
|
||||||
ls -l $target
|
|
||||||
|
|
||||||
/sys/src/9/pc/9pcflop.gz: root.bz2
|
|
||||||
@{
|
|
||||||
rfork n
|
|
||||||
cd /sys/src/9/pc
|
|
||||||
mk 'CONF=pcflop' 9pcflop.gz
|
|
||||||
}
|
|
||||||
|
|
||||||
/sys/src/9/pc/9pccd.gz:
|
|
||||||
@{
|
|
||||||
cd /sys/src/9/pc
|
|
||||||
mk 'CONF=pccd' 9pccd.gz
|
|
||||||
}
|
|
||||||
|
|
||||||
# disk/format apparently uses stat to obtain a file's real name, so
|
|
||||||
# binding 9loadusb onto 9load will store the name 9loadusb in the
|
|
||||||
# generated fat filesystem. the same is true for plan9.ini.cd and plan9.ini.
|
|
||||||
|
|
||||||
9load: /386/9loadlite
|
|
||||||
# cp $prereq $target
|
|
||||||
if (test -e /386/9loadnousb)
|
|
||||||
cp /386/9loadnousb $target # cater to old bioses
|
|
||||||
cp /386/9loadlitedebug 9loaddebug
|
|
||||||
|
|
||||||
ndisk: 9load /sys/src/9/pc/9pcflop.gz plan9.ini /lib/vgadb
|
|
||||||
dd -if /dev/zero -of ndisk -bs 1024 -count 1440 >[2]/dev/null
|
|
||||||
disk/format -f -b /386/pbs -d ndisk \
|
|
||||||
9load /sys/src/9/pc/9pcflop.gz plan9.ini /lib/vgadb
|
|
||||||
ls -l ndisk
|
|
||||||
|
|
||||||
# cannot list both 9pcflop.gz and 9pccd.gz because they cannot be built
|
|
||||||
# in parallel. stupid mk
|
|
||||||
cddisk:DV: 9load /sys/src/9/pc/9pcflop.gz plan9.ini.cd /lib/vgadb
|
|
||||||
mk -a /sys/src/9/pc/9pccd.gz
|
|
||||||
mk -a /sys/src/9/pc/9pcflop.gz
|
|
||||||
rfork n
|
|
||||||
cp -x plan9.ini.cd subst/plan9.ini
|
|
||||||
dd -if /dev/zero -of cddisk -bs 1024 -count 2880 >[2]/dev/null
|
|
||||||
disk/format -t 3½QD -f -b /386/pbs -d cddisk \
|
|
||||||
9load /sys/src/9/pc/^(9pcflop.gz 9pccd.gz) \
|
|
||||||
subst/plan9.ini /lib/vgadb
|
|
||||||
ls -l cddisk
|
|
||||||
|
|
||||||
clean:V:
|
|
||||||
if (! unmount 9load >[2]/dev/null)
|
|
||||||
;
|
|
||||||
rm -rf boot boot.bz2 boot.bflz boot.raw root.bz2 9pcflop ndisk 9load cddisk proto.cp 9loaddebug
|
|
||||||
|
|
||||||
install:V: ndisk 9loaddebug
|
|
||||||
9fs $out
|
|
||||||
dst=/n/$out/sys/lib/dist/web.protect
|
|
||||||
cp 9loaddebug $dst
|
|
||||||
gzip -9 < ndisk > $dst/plan9.flp.gz
|
|
||||||
# mk clean
|
|
||||||
|
|
||||||
test:V: ndisk 9loaddebug
|
|
||||||
cp 9loaddebug ../web.protect2/n9loaddebug
|
|
||||||
cp ndisk ../web.protect2/ndisk
|
|
||||||
|
|
||||||
cd0:D: cddisk
|
|
||||||
rm -f cd0
|
|
||||||
disk/mk9660 -9cj -v 'Plan 9 4th Edition' -s . -p cd0.proto -b cddisk cd0
|
|
|
@ -1,37 +0,0 @@
|
||||||
# config for initial floppy booting
|
|
||||||
|
|
||||||
[menu]
|
|
||||||
menuitem=boot, Boot Plan 9
|
|
||||||
# menuitem=debug, Boot Plan 9 and debug 9load
|
|
||||||
menudefault=boot, 10
|
|
||||||
|
|
||||||
[common]
|
|
||||||
# very cautious settings to get started.
|
|
||||||
# will defeat booting from usb devices.
|
|
||||||
*nomp=1
|
|
||||||
*nobiosload=1
|
|
||||||
# *noahciload=1
|
|
||||||
# *debugload=1
|
|
||||||
*nodumpstack=1
|
|
||||||
# this would disable ether and usb probing.
|
|
||||||
# *nousbprobe=1
|
|
||||||
# *noetherprobe=1
|
|
||||||
distname=plan9
|
|
||||||
partition=new
|
|
||||||
mouseport=ask
|
|
||||||
monitor=ask
|
|
||||||
vgasize=ask
|
|
||||||
dmamode=ask
|
|
||||||
nobootprompt=local!/boot/bzroot
|
|
||||||
installurl=http://plan9.bell-labs.com/plan9/download/plan9.iso.bz2
|
|
||||||
# serial console on COM1
|
|
||||||
#console=0
|
|
||||||
|
|
||||||
[boot]
|
|
||||||
bootargs=local!#S/sdD0/data
|
|
||||||
bootfile=sdD0!cdboot!9pccd.gz
|
|
||||||
|
|
||||||
# [debug]
|
|
||||||
# bootargs=local!#S/sdD0/data
|
|
||||||
# bootfile=sdD0!cdboot!9pccd.gz
|
|
||||||
# *debugload=1
|
|
|
@ -1,10 +0,0 @@
|
||||||
THIS IS A 512 byte BLANK PLAN9.INI
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,40 +0,0 @@
|
||||||
# config for initial cd booting
|
|
||||||
|
|
||||||
[menu]
|
|
||||||
menuitem=install, Install Plan 9 from this CD
|
|
||||||
menuitem=cdboot, Boot Plan 9 from this CD
|
|
||||||
# menuitem=debug, Boot Plan 9 from this CD and debug 9load
|
|
||||||
|
|
||||||
[common]
|
|
||||||
# very cautious settings to get started.
|
|
||||||
# will defeat booting from usb devices.
|
|
||||||
*nomp=1
|
|
||||||
*nobiosload=1
|
|
||||||
# *noahciload=1
|
|
||||||
# *debugload=1
|
|
||||||
*nodumpstack=1
|
|
||||||
# this would disable ether and usb probing.
|
|
||||||
# *nousbprobe=1
|
|
||||||
# *noetherprobe=1
|
|
||||||
partition=new
|
|
||||||
mouseport=ask
|
|
||||||
monitor=ask
|
|
||||||
vgasize=ask
|
|
||||||
dmamode=ask
|
|
||||||
adisk=/dev/sdD0/cdboot
|
|
||||||
cdboot=yes
|
|
||||||
# console=0
|
|
||||||
# baud=9600
|
|
||||||
|
|
||||||
[install]
|
|
||||||
nobootprompt=local!/boot/bzroot
|
|
||||||
bootfile=sdD0!cdboot!9pcflop.gz
|
|
||||||
|
|
||||||
[cdboot]
|
|
||||||
bootargs=local!#S/sdD0/data
|
|
||||||
bootfile=sdD0!cdboot!9pccd.gz
|
|
||||||
|
|
||||||
# [debug]
|
|
||||||
# bootargs=local!#S/sdD0/data
|
|
||||||
# bootfile=sdD0!cdboot!9pccd.gz
|
|
||||||
# *debugload=1
|
|
|
@ -1,20 +0,0 @@
|
||||||
# config for initial vmware booting
|
|
||||||
|
|
||||||
# very cautious settings to get started.
|
|
||||||
# will defeat booting from usb devices.
|
|
||||||
*nomp=1
|
|
||||||
*nobiosload=1
|
|
||||||
# *noahciload=1
|
|
||||||
# *debugload=1
|
|
||||||
# *nodumpstack=1
|
|
||||||
|
|
||||||
partition=new
|
|
||||||
nobootprompt=local!/boot/bzroot
|
|
||||||
bootfile=fd0!9pcflop.gz
|
|
||||||
|
|
||||||
mouseport=ps2
|
|
||||||
monitor=xga
|
|
||||||
vgasize=1024x768x16
|
|
||||||
#adisk=/dev/sdD0/cdboot
|
|
||||||
console=0
|
|
||||||
baud=9600
|
|
|
@ -1,175 +0,0 @@
|
||||||
386 d775 sys sys
|
|
||||||
# 9load 555 sys sys
|
|
||||||
init 555 sys sys
|
|
||||||
# ld.com 555 sys sys
|
|
||||||
mbr 555 sys sys
|
|
||||||
pbs 555 sys sys
|
|
||||||
pbslba 555 sys sys
|
|
||||||
bin d775 sys sys
|
|
||||||
auth d555 sys sys
|
|
||||||
# i think factotum is only needed if we include cpu
|
|
||||||
# factotum 555 sys sys
|
|
||||||
aux d555 sys sys
|
|
||||||
isvmware 555 sys sys
|
|
||||||
mouse 555 sys sys /sys/lib/dist/pc/multi/mouse
|
|
||||||
pcmcia 555 sys sys /sys/lib/dist/pc/multi/pcmcia
|
|
||||||
# stub 555 sys sys
|
|
||||||
vga 555 sys sys /sys/lib/dist/pc/multi/vga
|
|
||||||
vmware 555 sys sys /sys/lib/dist/pc/sub/vmware
|
|
||||||
# vmware 555 sys sys
|
|
||||||
# vmwarefs 555 sys sys
|
|
||||||
# vmmousepoll 555 sys sys
|
|
||||||
zerotrunc 555 sys sys /sys/lib/dist/pc/multi/zerotrunc
|
|
||||||
disk d555 sys sys
|
|
||||||
fdisk 555 sys sys /sys/lib/dist/pc/multi/fdisk
|
|
||||||
format 555 sys sys /sys/lib/dist/pc/multi/format
|
|
||||||
# kfs 555 sys sys
|
|
||||||
# kfscmd 555 sys sys
|
|
||||||
mbr 555 sys sys /sys/lib/dist/pc/multi/mbr
|
|
||||||
prep 555 sys sys /sys/lib/dist/pc/multi/prep
|
|
||||||
fossil d555 sys sys
|
|
||||||
fossil 555 sys sys
|
|
||||||
flfmt 555 sys sys
|
|
||||||
conf 555 sys sys
|
|
||||||
ip d555 sys sys
|
|
||||||
ipconfig 555 sys sys /sys/lib/dist/pc/multi/ipconfig
|
|
||||||
ppp 555 sys sys /sys/lib/dist/pc/multi/ppp
|
|
||||||
ndb d555 sys sys
|
|
||||||
# csquery and dnsquery could go
|
|
||||||
cs 555 sys sys /sys/lib/dist/pc/multi/cs
|
|
||||||
# csquery 555 sys sys
|
|
||||||
dns 555 sys sys /sys/lib/dist/pc/multi/dns
|
|
||||||
# dnsquery 555 sys sys
|
|
||||||
replica d555 sys sys
|
|
||||||
applylog 555 sys sys
|
|
||||||
changes 555 sys sys
|
|
||||||
compactdb 555 sys sys /sys/lib/dist/pc/sub/compactdb
|
|
||||||
pull 555 sys sys
|
|
||||||
venti d555 sys sys
|
|
||||||
# venti 555 sys sys
|
|
||||||
# conf 555 sys sys
|
|
||||||
# fmtarenas 555 sys sys
|
|
||||||
# fmtindex 555 sys sys
|
|
||||||
# fmtisect 555 sys sys
|
|
||||||
9660srv 555 sys sys /sys/lib/dist/pc/multi/9660srv
|
|
||||||
# acme could go
|
|
||||||
# acme 555 sys sys
|
|
||||||
awk 555 sys sys
|
|
||||||
bargraph 555 sys sys /sys/lib/dist/bin/386/bargraph
|
|
||||||
basename 555 sys sys /sys/lib/dist/pc/multi/basename
|
|
||||||
cat 555 sys sys /sys/lib/dist/pc/multi/cat
|
|
||||||
chgrp 555 sys sys /sys/lib/dist/pc/multi/chgrp
|
|
||||||
chmod 555 sys sys /sys/lib/dist/pc/multi/chmod
|
|
||||||
cleanname 555 sys sys /sys/lib/dist/pc/multi/cleanname
|
|
||||||
cmp 555 sys sys /sys/lib/dist/pc/multi/cmp
|
|
||||||
cdsh 555 sys sys /sys/lib/dist/bin/386/cdsh
|
|
||||||
cp 555 sys sys /sys/lib/dist/pc/multi/cp
|
|
||||||
# cpu could go
|
|
||||||
# cpu 555 sys sys
|
|
||||||
date 555 sys sys /sys/lib/dist/pc/multi/date
|
|
||||||
dd 555 sys sys /sys/lib/dist/pc/multi/dd
|
|
||||||
dossrv 555 sys sys /sys/lib/dist/pc/multi/dossrv
|
|
||||||
echo 555 sys sys /sys/lib/dist/pc/multi/echo
|
|
||||||
ed 555 sys sys /sys/lib/dist/pc/multi/ed
|
|
||||||
# if cpu goes, exportfs could go
|
|
||||||
# exportfs 555 sys sys
|
|
||||||
ext2srv 555 sys sys /sys/lib/dist/pc/multi/ext2srv
|
|
||||||
fcp 555 sys sys
|
|
||||||
grep 555 sys sys /sys/lib/dist/pc/multi/grep
|
|
||||||
hget 555 sys sys /sys/lib/dist/pc/multi/hget
|
|
||||||
hoc 555 sys sys /sys/lib/dist/pc/multi/hoc
|
|
||||||
ls 555 sys sys /sys/lib/dist/pc/multi/ls
|
|
||||||
mc 555 sys sys /sys/lib/dist/pc/multi/mc
|
|
||||||
mount 555 sys sys /sys/lib/dist/pc/multi/mount
|
|
||||||
multi 555 sys sys /sys/lib/dist/bin/386/multi
|
|
||||||
mv 555 sys sys /sys/lib/dist/pc/multi/mv
|
|
||||||
# netkey 555 sys sys
|
|
||||||
ps 555 sys sys /sys/lib/dist/pc/multi/ps
|
|
||||||
rc 555 sys sys
|
|
||||||
read 555 sys sys /sys/lib/dist/pc/multi/read
|
|
||||||
rio 555 sys sys
|
|
||||||
rm 555 sys sys /sys/lib/dist/pc/multi/rm
|
|
||||||
sed 555 sys sys /sys/lib/dist/pc/multi/sed
|
|
||||||
# snoopy could go
|
|
||||||
# snoopy 555 sys sys
|
|
||||||
sort 555 sys sys /sys/lib/dist/pc/multi/sort
|
|
||||||
srv 555 sys sys /sys/lib/dist/pc/multi/srv
|
|
||||||
# ssh 555 sys sys
|
|
||||||
stats 555 sys sys
|
|
||||||
syscall 555 sys sys /sys/lib/dist/pc/multi/syscall
|
|
||||||
tail 555 sys sys /sys/lib/dist/pc/multi/tail
|
|
||||||
tailfsrv 555 sys sys /sys/lib/dist/bin/386/tailfsrv
|
|
||||||
tee 555 sys sys /sys/lib/dist/pc/multi/tee
|
|
||||||
# telnet 555 sys sys
|
|
||||||
test 555 sys sys /sys/lib/dist/pc/multi/test
|
|
||||||
wc 555 sys sys /sys/lib/dist/pc/multi/wc
|
|
||||||
xd 555 sys sys /sys/lib/dist/pc/multi/xd
|
|
||||||
adm d555 adm adm
|
|
||||||
timezone d555 sys sys
|
|
||||||
local 555 sys sys
|
|
||||||
lib d777 sys sys
|
|
||||||
font d555 sys sys
|
|
||||||
bit d555 sys sys
|
|
||||||
lucidasans d555 sys sys
|
|
||||||
lstr.12 444 sys sys
|
|
||||||
typelatin1.7.font 444 sys sys
|
|
||||||
# lucm d555 sys sys
|
|
||||||
# latin1.9 444 sys sys
|
|
||||||
# latin1.9.font 444 sys sys
|
|
||||||
namespace 444 sys sys
|
|
||||||
ndb d555 sys sys
|
|
||||||
common 444 sys sys /sys/lib/dist/pc/sub/common
|
|
||||||
local 444 sys sys /sys/lib/dist/pc/sub/local
|
|
||||||
vgadb 666 sys sys /dev/null
|
|
||||||
fd d555 sys sys
|
|
||||||
mnt d777 sys sys
|
|
||||||
arch d000 sys sys
|
|
||||||
temp d000 sys sys
|
|
||||||
vmware d000 sys sys
|
|
||||||
wsys d000 sys sys
|
|
||||||
n d777 sys sys
|
|
||||||
a: d000 sys sys
|
|
||||||
a d000 sys sys
|
|
||||||
c: d000 sys sys
|
|
||||||
c d000 sys sys
|
|
||||||
9fat d000 sys sys
|
|
||||||
kremvax d000 sys sys /sys/lib/dist/pc/empty
|
|
||||||
newfs d000 sys sys
|
|
||||||
dist d000 sys sys /sys/lib/dist/pc/empty
|
|
||||||
distmedia d000 sys sys /sys/lib/dist/pc/empty
|
|
||||||
rc d555 sys sys
|
|
||||||
bin d775 sys sys
|
|
||||||
inst d775 sys sys /sys/lib/dist/pc/empty
|
|
||||||
+ - sys sys /sys/lib/dist/pc/inst
|
|
||||||
9fat: 555 sys sys
|
|
||||||
a: 555 sys sys /sys/lib/dist/pc/sub/a:
|
|
||||||
bind 555 sys sys /sys/lib/dist/pc/sub/bind
|
|
||||||
boota: 555 sys sys /sys/lib/dist/pc/sub/boota:
|
|
||||||
bunzip2 555 sys sys /sys/lib/dist/pc/sub/bunzip2
|
|
||||||
c: 555 sys sys
|
|
||||||
dosmnt 555 sys sys
|
|
||||||
kill 555 sys sys
|
|
||||||
lc 555 sys sys
|
|
||||||
mkdir 555 sys sys /sys/lib/dist/pc/sub/mkdir
|
|
||||||
pci 555 sys sys
|
|
||||||
pwd 555 sys sys /sys/lib/dist/pc/sub/pwd
|
|
||||||
ramfs 555 sys sys /sys/lib/dist/pc/sub/ramfs
|
|
||||||
replica d555 sys sys
|
|
||||||
changes 555 sys sys
|
|
||||||
defs 555 sys sys
|
|
||||||
pull 555 sys sys
|
|
||||||
slay 555 sys sys
|
|
||||||
sleep 555 sys sys /sys/lib/dist/pc/sub/sleep
|
|
||||||
termrc 555 sys sys /sys/lib/dist/pc/sub/termrc
|
|
||||||
unmount 555 sys sys /sys/lib/dist/pc/sub/unmount
|
|
||||||
window 555 sys sys
|
|
||||||
lib d555 sys sys
|
|
||||||
rcmain 444 sys sys
|
|
||||||
sys d555 sys sys
|
|
||||||
log d555 sys sys
|
|
||||||
dns 444 sys sys /sys/lib/dist/pc/emptyfile
|
|
||||||
timesync 444 sys sys /sys/lib/dist/pc/emptyfile
|
|
||||||
tmp d555 sys sys
|
|
||||||
usr d555 sys sys
|
|
||||||
glenda d775 glenda glenda
|
|
||||||
+ - glenda glenda /sys/lib/dist/pc/glenda
|
|
|
@ -1,21 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
rfork e
|
|
||||||
flag=0
|
|
||||||
while(~ $1 -*){
|
|
||||||
switch($1){
|
|
||||||
case -b
|
|
||||||
flag=1
|
|
||||||
case -a
|
|
||||||
flag=2
|
|
||||||
case -c
|
|
||||||
flag=4
|
|
||||||
case -ac -ca
|
|
||||||
flag=6
|
|
||||||
case -bc -cb
|
|
||||||
flag=5
|
|
||||||
}
|
|
||||||
shift
|
|
||||||
}
|
|
||||||
|
|
||||||
syscall bind $1 $2 $flag >[2]/dev/null
|
|
|
@ -1,4 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
exec /boot/kfs BUNZIP
|
|
||||||
# kfs is bzfs
|
|
|
@ -1,123 +0,0 @@
|
||||||
#
|
|
||||||
# services
|
|
||||||
#
|
|
||||||
tcp=cs port=1
|
|
||||||
tcp=echo port=7
|
|
||||||
tcp=discard port=9
|
|
||||||
tcp=systat port=11
|
|
||||||
tcp=daytime port=13
|
|
||||||
tcp=netstat port=15
|
|
||||||
tcp=chargen port=19
|
|
||||||
tcp=ftp-data port=20
|
|
||||||
tcp=ftp port=21
|
|
||||||
tcp=ssh port=22
|
|
||||||
tcp=telnet port=23
|
|
||||||
tcp=smtp port=25
|
|
||||||
tcp=time port=37
|
|
||||||
tcp=whois port=43
|
|
||||||
tcp=domain port=53
|
|
||||||
tcp=uucp port=64
|
|
||||||
tcp=gopher port=70
|
|
||||||
tcp=rje port=77
|
|
||||||
tcp=finger port=79
|
|
||||||
tcp=http port=80
|
|
||||||
tcp=link port=87
|
|
||||||
tcp=supdup port=95
|
|
||||||
tcp=hostnames port=101
|
|
||||||
tcp=iso-tsap port=102
|
|
||||||
tcp=x400 port=103
|
|
||||||
tcp=x400-snd port=104
|
|
||||||
tcp=csnet-ns port=105
|
|
||||||
tcp=pop-2 port=109
|
|
||||||
tcp=pop3 port=110
|
|
||||||
tcp=sunrpc port=111
|
|
||||||
tcp=uucp-path port=117
|
|
||||||
tcp=nntp port=119
|
|
||||||
tcp=netbios port=139
|
|
||||||
tcp=NeWS port=144
|
|
||||||
tcp=print-srv port=170
|
|
||||||
tcp=z39.50 port=210
|
|
||||||
tcp=fsb port=400
|
|
||||||
tcp=sysmon port=401
|
|
||||||
tcp=proxy port=402
|
|
||||||
tcp=proxyd port=404
|
|
||||||
tcp=https port=443
|
|
||||||
tcp=ssmtp port=465
|
|
||||||
tcp=snntp port=563
|
|
||||||
tcp=rexec port=512 restricted=
|
|
||||||
tcp=login port=513 restricted=
|
|
||||||
tcp=shell port=514 restricted=
|
|
||||||
tcp=printer port=515
|
|
||||||
tcp=courier port=530
|
|
||||||
tcp=cscan port=531
|
|
||||||
tcp=uucp port=540
|
|
||||||
tcp=9fs port=564
|
|
||||||
tcp=whoami port=565
|
|
||||||
tcp=guard port=566
|
|
||||||
tcp=ticket port=567
|
|
||||||
tcp=fmclient port=729
|
|
||||||
tcp=ingreslock port=1524
|
|
||||||
tcp=webster port=2627
|
|
||||||
tcp=weather port=3000
|
|
||||||
tcp=Xdisplay port=6000
|
|
||||||
tcp=styx port=6666
|
|
||||||
tcp=mpeg port=6667
|
|
||||||
tcp=rstyx port=6668
|
|
||||||
tcp=infdb port=6669
|
|
||||||
tcp=infsigner port=6671
|
|
||||||
tcp=infcsigner port=6672
|
|
||||||
tcp=inflogin port=6673
|
|
||||||
tcp=bandt port=7330
|
|
||||||
tcp=face port=32000
|
|
||||||
tcp=ocpu port=17005
|
|
||||||
tcp=ocpunote port=17006
|
|
||||||
tcp=exportfs port=17007
|
|
||||||
tcp=rexexec port=17009
|
|
||||||
tcp=ncpu port=17010
|
|
||||||
tcp=ncpunote port=17011
|
|
||||||
tcp=cpu port=17013
|
|
||||||
tcp=video port=17028
|
|
||||||
tcp=vgen port=17029
|
|
||||||
tcp=alefnslook port=17030
|
|
||||||
tcp=411 port=17031
|
|
||||||
tcp=flyboy port=17032
|
|
||||||
|
|
||||||
il=echo port=7
|
|
||||||
il=discard port=9
|
|
||||||
il=chargen port=19
|
|
||||||
il=whoami port=565
|
|
||||||
il=ticket port=566
|
|
||||||
il=challbox port=567
|
|
||||||
il=ocpu port=17005
|
|
||||||
il=ocpunote port=17006
|
|
||||||
il=exportfs port=17007
|
|
||||||
il=9fs port=17008
|
|
||||||
il=rexexec port=17009
|
|
||||||
il=ncpu port=17010
|
|
||||||
il=ncpunote port=17011
|
|
||||||
il=tcpu port=17012
|
|
||||||
il=cpu port=17013
|
|
||||||
il=fsauth port=17020
|
|
||||||
il=rexauth port=17021
|
|
||||||
il=changekey port=17022
|
|
||||||
il=chal port=17023
|
|
||||||
il=check port=17024
|
|
||||||
il=juke port=17026
|
|
||||||
il=video port=17028
|
|
||||||
il=vgen port=17029
|
|
||||||
il=alefnslook port=17030
|
|
||||||
il=ramfs port=17031
|
|
||||||
|
|
||||||
udp=echo port=7
|
|
||||||
udp=tacacs port=49
|
|
||||||
udp=tftp port=69
|
|
||||||
udp=bootpc port=68
|
|
||||||
udp=bootp port=67
|
|
||||||
udp=dns port=53
|
|
||||||
udp=ntp port=123
|
|
||||||
udp=rip port=520
|
|
||||||
udp=bfs port=2201
|
|
||||||
udp=virgil port=2202
|
|
||||||
udp=bandt2 port=7331
|
|
||||||
|
|
||||||
gre=ppp port=34827
|
|
|
@ -1,4 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
exec cat $*
|
|
||||||
|
|
|
@ -1,8 +0,0 @@
|
||||||
|
|
||||||
#
|
|
||||||
# files comprising the database, use as many as you like
|
|
||||||
#
|
|
||||||
database=
|
|
||||||
file=/lib/ndb/local
|
|
||||||
file=/lib/ndb/common
|
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
syscall create $1 0 020000000775 >[2]/dev/null
|
|
|
@ -1,16 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
s=/n/dist/dist/replica
|
|
||||||
serverroot=/n/dist
|
|
||||||
serverlog=$s/plan9.log
|
|
||||||
serverproto=$s/plan9.proto
|
|
||||||
fn servermount { status='' }
|
|
||||||
fn serverupdate { status='' }
|
|
||||||
|
|
||||||
fn clientmount { status='' }
|
|
||||||
c=/n/kfs/dist/replica
|
|
||||||
clientroot=/n/kfs
|
|
||||||
clientproto=$c/plan9.proto
|
|
||||||
clientdb=$c/client/plan9.db
|
|
||||||
clientexclude=(dist/replica/client)
|
|
||||||
clientlog=$c/client/plan9.log
|
|
|
@ -1,5 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
rfork n
|
|
||||||
bind '#$' /mnt
|
|
||||||
cat /mnt/pci/*ctl
|
|
|
@ -1,3 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
syscall -o fd2path 0 buf 1024 < . >[2]/dev/null
|
|
|
@ -1,4 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
exec boot/kfs RAMFS $*
|
|
||||||
# kfs is bzfs
|
|
|
@ -1,8 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
if(! ~ $#* 1) {
|
|
||||||
echo 'usage: sleep n' >[1=2]
|
|
||||||
exit usage
|
|
||||||
}
|
|
||||||
|
|
||||||
syscall sleep $1^000 >/dev/null >[2]/dev/null
|
|
|
@ -1,121 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
if(~ $#debug 1 && ~ $debug yes)
|
|
||||||
flag x +
|
|
||||||
if not
|
|
||||||
debug=0
|
|
||||||
|
|
||||||
if(~ $debug yes) echo env...
|
|
||||||
sysname=gnot
|
|
||||||
font=/lib/font/bit/lucidasans/typelatin1.7.font
|
|
||||||
|
|
||||||
for (i in '#P' '#f' '#m' '#t' '#v') {
|
|
||||||
if(~ $debug yes) echo bind $i
|
|
||||||
bind -a $i /dev >/dev/null >[2=1]
|
|
||||||
}
|
|
||||||
if(~ $debug yes) echo binddev done
|
|
||||||
|
|
||||||
for(disk in /dev/sd??) {
|
|
||||||
if(test -f $disk/data && test -f $disk/ctl){
|
|
||||||
disk/fdisk -p $disk/data >$disk/ctl >[2]/dev/null
|
|
||||||
# if(~ $#nosddma 0)
|
|
||||||
# echo dma on >$disk/ctl
|
|
||||||
# if(~ $#nosdrwm 0)
|
|
||||||
# echo rwm on >$disk/ctl
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for (i in /sys/log/*) {
|
|
||||||
if(~ $debug yes) echo bind $i
|
|
||||||
bind /dev/null $i
|
|
||||||
}
|
|
||||||
|
|
||||||
if(~ $debug yes) echo bindlog done
|
|
||||||
|
|
||||||
bind -a '#l' /net >/dev/null >[2=1]
|
|
||||||
|
|
||||||
dossrv
|
|
||||||
boota:
|
|
||||||
boota: # again, just in case a timeout made the earlier one fail
|
|
||||||
cp /n/a:/plan9.ini /tmp/plan9.orig
|
|
||||||
if(! ~ $cdboot yes){
|
|
||||||
pci >/n/a:/pci.txt >[2]/dev/null
|
|
||||||
cp /dev/kmesg /n/a:/boot.txt >[2]/dev/null
|
|
||||||
}
|
|
||||||
|
|
||||||
# restore a partial install
|
|
||||||
if(test -f /n/a:/9inst.cnf)
|
|
||||||
cp /n/a:/9inst.cnf /tmp/vars
|
|
||||||
|
|
||||||
# make vgadb easier to edit
|
|
||||||
if(test -f /n/a:/vgadb)
|
|
||||||
cp /n/a:/vgadb /lib/vgadb
|
|
||||||
|
|
||||||
aux/vmware
|
|
||||||
|
|
||||||
# configure loopback device without touching /net/ndb
|
|
||||||
{
|
|
||||||
echo bind loopback /dev/null
|
|
||||||
echo add 127.0.0.1 255.255.255.0
|
|
||||||
} >/net/ipifc/clone
|
|
||||||
|
|
||||||
if(~ $#dmamode 0)
|
|
||||||
dmamode=ask
|
|
||||||
if(~ $dmamode ask){
|
|
||||||
echo -n 'use DMA for ide drives[yes]: '
|
|
||||||
dmamode=`{read}
|
|
||||||
if(~ $#dmamode 0)
|
|
||||||
dmamode=yes
|
|
||||||
}
|
|
||||||
if(~ $dmamode yes)
|
|
||||||
for(i in /dev/sd*/ctl)
|
|
||||||
if(test -f $i)
|
|
||||||
{echo dma on; echo rwm on >[2]/dev/null} >$i
|
|
||||||
|
|
||||||
if(~ $installmode ask){
|
|
||||||
echo -n 'install mode is (text, graphics)[graphics]: '
|
|
||||||
installmode=`{read}
|
|
||||||
if(~ $#installmode 0)
|
|
||||||
installmode=graphics
|
|
||||||
}
|
|
||||||
if(~ $installmode text){
|
|
||||||
mouseport=()
|
|
||||||
vgasize=()
|
|
||||||
monitor=()
|
|
||||||
}
|
|
||||||
if not
|
|
||||||
installmode=graphics
|
|
||||||
|
|
||||||
if(~ $mouseport ask){
|
|
||||||
echo -n 'mouseport is (ps2, ps2intellimouse, 0, 1, 2)[ps2]: '
|
|
||||||
mouseport=`{read}
|
|
||||||
if(~ $#mouseport 0)
|
|
||||||
mouseport=ps2
|
|
||||||
}
|
|
||||||
if(~ $vgasize ask){
|
|
||||||
echo -n 'vgasize [640x480x8]: '
|
|
||||||
vgasize=`{read}
|
|
||||||
if(~ $#vgasize 0)
|
|
||||||
vgasize=640x480x8
|
|
||||||
}
|
|
||||||
if(~ $monitor ask){
|
|
||||||
echo -n 'monitor is [xga]: '
|
|
||||||
monitor=`{read}
|
|
||||||
if(~ $#monitor 0)
|
|
||||||
monitor=xga
|
|
||||||
}
|
|
||||||
if(~ $#mouseport 1) {
|
|
||||||
aux/mouse $mouseport
|
|
||||||
if(~ $#vgasize 1 && ! ~ $vgasize '') {
|
|
||||||
vgasize=`{echo $vgasize}
|
|
||||||
if(! ~ $cdboot yes)
|
|
||||||
aux/vga -vip $vgasize >/n/a:/vgainfo.txt
|
|
||||||
sleep 2 # wait for floppy to finish
|
|
||||||
aux/vga -l $vgasize
|
|
||||||
if(! ~ $#novgaaccel 0)
|
|
||||||
echo -n 'hwaccel off' >'#v/vgactl' >[2]/dev/null
|
|
||||||
if(! ~ $#novgablank 0)
|
|
||||||
echo -n 'hwblank off' >'#v/vgactl' >[2]/dev/null
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
|
|
||||||
syscall unmount 0 $1 >[2]/dev/null
|
|
|
@ -1,7 +0,0 @@
|
||||||
-1:adm:adm:
|
|
||||||
0:none:none:
|
|
||||||
1:tor:tor:
|
|
||||||
2:glenda:glenda:
|
|
||||||
10000:sys::
|
|
||||||
10001:upas:upas:
|
|
||||||
10002:bootes:bootes:
|
|
|
@ -1,10 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
# vmware - if we're running in a vmware virtual machine, tweak set up
|
|
||||||
if(aux/isvmware -s){
|
|
||||||
echo hwaccel off >'#v/vgactl'
|
|
||||||
echo -n off >'#P/i8253timerset'
|
|
||||||
for (ctl in '#S'/sd[C-H]?/ctl)
|
|
||||||
if (test -e $ctl && grep -s '^config .* dma ' $ctl &&
|
|
||||||
! grep -s '^config (848A|.* dma 00000000 )' $ctl)
|
|
||||||
echo 'dma on' >$ctl
|
|
||||||
}
|
|
|
@ -1,40 +0,0 @@
|
||||||
# config for initial cd booting
|
|
||||||
|
|
||||||
[menu]
|
|
||||||
menuitem=install, Install Plan 9 from this CD
|
|
||||||
menuitem=cdboot, Boot Plan 9 from this CD
|
|
||||||
# menuitem=debug, Boot Plan 9 from this CD and debug 9load
|
|
||||||
|
|
||||||
[common]
|
|
||||||
# very cautious settings to get started.
|
|
||||||
# will defeat booting from usb devices.
|
|
||||||
*nomp=1
|
|
||||||
*nobiosload=1
|
|
||||||
# *noahciload=1
|
|
||||||
# *debugload=1
|
|
||||||
*nodumpstack=1
|
|
||||||
# this would disable ether and usb probing.
|
|
||||||
# *nousbprobe=1
|
|
||||||
# *noetherprobe=1
|
|
||||||
partition=new
|
|
||||||
mouseport=ask
|
|
||||||
monitor=ask
|
|
||||||
vgasize=ask
|
|
||||||
dmamode=ask
|
|
||||||
adisk=/dev/sdD0/cdboot
|
|
||||||
cdboot=yes
|
|
||||||
# console=0
|
|
||||||
# baud=9600
|
|
||||||
|
|
||||||
[install]
|
|
||||||
nobootprompt=local!/boot/bzroot
|
|
||||||
bootfile=sdD0!cdboot!9pcflop.gz
|
|
||||||
|
|
||||||
[cdboot]
|
|
||||||
bootargs=local!#S/sdD0/data
|
|
||||||
bootfile=sdD0!cdboot!9pccd.gz
|
|
||||||
|
|
||||||
# [debug]
|
|
||||||
# bootargs=local!#S/sdD0/data
|
|
||||||
# bootfile=sdD0!cdboot!9pccd.gz
|
|
||||||
# *debugload=1
|
|
|
@ -1,10 +0,0 @@
|
||||||
#!/bin/rc
|
|
||||||
# setup - prep for the mkfile
|
|
||||||
9fs sources
|
|
||||||
9fs other
|
|
||||||
9fs outfsother
|
|
||||||
if (test -e /cfg/$sysname/config)
|
|
||||||
. /cfg/$sysname/config
|
|
||||||
if not
|
|
||||||
outip=204.178.31.2
|
|
||||||
import -c tcp!$outip!666 $dist/web.protect
|
|
|
@ -231,7 +231,6 @@ mkdir -p sparc64/bin/upas
|
||||||
mkdir -p sparc64/bin/usb
|
mkdir -p sparc64/bin/usb
|
||||||
mkdir -p sparc64/bin/venti
|
mkdir -p sparc64/bin/venti
|
||||||
mkdir -p sparc64/lib/ape
|
mkdir -p sparc64/lib/ape
|
||||||
mkdir -p sys/lib/dist.old/cdstub
|
|
||||||
mkdir -p sys/log
|
mkdir -p sys/log
|
||||||
mkdir -p tmp
|
mkdir -p tmp
|
||||||
mkdir -p usr/glenda/bin/386
|
mkdir -p usr/glenda/bin/386
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue