remove sys/lib/dist.old

This commit is contained in:
cinap_lenrek 2011-05-03 04:53:43 +00:00
parent 4e919b23a1
commit 4875561fdb
81 changed files with 0 additions and 3483 deletions

View file

@ -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 ..

View file

@ -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")
}

View file

@ -1,3 +0,0 @@
{
printf("%s %d %s\n", t, NR, $0);
}

View file

@ -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

View file

@ -1 +0,0 @@
cddisk

View file

@ -1,4 +0,0 @@
#!/bin/rc
window '0 0 100 100' games/clock
window '80 80 610 360' /usr/glenda/lib/first.window

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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
}
}

View file

@ -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 ''

View file

@ -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

View file

@ -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
}
}

View file

@ -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
}

View file

@ -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
}
}

View file

@ -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
}

View file

@ -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
}

View file

@ -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
}

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -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
}

View file

@ -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
}
}

View file

@ -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
}

View file

@ -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.
}

View file

@ -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!
}

View file

@ -1,7 +0,0 @@
#!/bin/rc
cd /bin/inst
echo blanktime 0 >/dev/vgactl
. defs
startwin 640 480

View file

@ -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

View file

@ -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

View file

@ -1,7 +0,0 @@
#!/bin/rc
if(! ~ $#* 1) {
echo 'usage: hdrs file.9gz' >[1=2]
exit usage
}
gunzip < $1 | disk/mkext -h

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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
}

View file

@ -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

View file

@ -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 ""
}
}
}

View file

@ -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
}

View file

@ -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
}

View file

@ -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
}

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -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
}

View file

@ -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)

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -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

View file

@ -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.'
}

View file

@ -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
}

View file

@ -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
}

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -1,10 +0,0 @@
THIS IS A 512 byte BLANK PLAN9.INI

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -1,4 +0,0 @@
#!/bin/rc
exec /boot/kfs BUNZIP
# kfs is bzfs

View file

@ -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

View file

@ -1,4 +0,0 @@
#!/bin/rc
exec cat $*

View file

@ -1,8 +0,0 @@
#
# files comprising the database, use as many as you like
#
database=
file=/lib/ndb/local
file=/lib/ndb/common

View file

@ -1,3 +0,0 @@
#!/bin/rc
syscall create $1 0 020000000775 >[2]/dev/null

View file

@ -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

View file

@ -1,5 +0,0 @@
#!/bin/rc
rfork n
bind '#$' /mnt
cat /mnt/pci/*ctl

View file

@ -1,3 +0,0 @@
#!/bin/rc
syscall -o fd2path 0 buf 1024 < . >[2]/dev/null

View file

@ -1,4 +0,0 @@
#!/bin/rc
exec boot/kfs RAMFS $*
# kfs is bzfs

View file

@ -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

View file

@ -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
}
}

View file

@ -1,3 +0,0 @@
#!/bin/rc
syscall unmount 0 $1 >[2]/dev/null

View file

@ -1,7 +0,0 @@
-1:adm:adm:
0:none:none:
1:tor:tor:
2:glenda:glenda:
10000:sys::
10001:upas:upas:
10002:bootes:bootes:

View file

@ -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
}

View file

@ -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

View file

@ -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

View file

@ -231,7 +231,6 @@ mkdir -p sparc64/bin/upas
mkdir -p sparc64/bin/usb
mkdir -p sparc64/bin/venti
mkdir -p sparc64/lib/ape
mkdir -p sys/lib/dist.old/cdstub
mkdir -p sys/log
mkdir -p tmp
mkdir -p usr/glenda/bin/386