inst: reintroduce iso mounting for usb, replace /rc/bin/inst/isxxx with /rc/bin/fstype, remove fossil/venti specific code, rename plan9.iso to 9front.iso
This commit is contained in:
parent
fa9a40027b
commit
7d87f85671
16 changed files with 53 additions and 532 deletions
|
@ -29,7 +29,7 @@ case go
|
|||
}
|
||||
|
||||
need9fatformat=no
|
||||
if(! isfat $fat)
|
||||
if(! ~ `{fstype $fat} dos)
|
||||
need9fatformat=yes
|
||||
if(! test -f /srv/dos)
|
||||
dossrv
|
||||
|
@ -70,7 +70,8 @@ case go
|
|||
|
||||
case checkdone
|
||||
xxxfat=(/dev/sd*/9fat)
|
||||
if(! isfat $xxxfat(1) || ! ~ $didbootsetup 1){
|
||||
xxxfat=$xxxfat(1)
|
||||
if(! ~ `{fstype $xxxfat} dos || ! ~ $didbootsetup 1){
|
||||
bootsetup=ready
|
||||
export bootsetup
|
||||
}
|
||||
|
|
|
@ -33,22 +33,20 @@ case go
|
|||
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] aux/statusbar $baropt 'downloading '^plan9.iso.bz2)
|
||||
mkdir -p /n/newfs/dist
|
||||
if(! hget -vo /n/newfs/dist/_9front.iso.bz2 $installurl/9front.iso.bz2 |[2] aux/statusbar $baropt 'downloading '^9front.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
|
||||
}
|
||||
mv /n/newfs/dist/_9front.iso.bz2 /n/newfs/dist/9front.iso.bz2
|
||||
|
||||
echo 'The distribution is downloaded.'
|
||||
|
||||
srvmedia=()
|
||||
mountmedia=(mount /srv/fossil /n/distmedia)
|
||||
mountmedia=(mount /srv/cwfs /n/distmedia)
|
||||
distmediadir=/dist
|
||||
export distmediadir mountmedia distmedia
|
||||
|
||||
case checkdone
|
||||
if(! test -f /n/newfs/dist/plan9.iso.bz2) {
|
||||
if(! test -f /n/newfs/dist/9front.iso.bz2) {
|
||||
download=notdone
|
||||
export download
|
||||
}
|
||||
|
|
|
@ -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,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
|
||||
|
|
@ -14,12 +14,10 @@ echo -n 'Preparing menu...'
|
|||
tasks=(\
|
||||
configfs\
|
||||
partdisk prepdisk\
|
||||
fmtfossil\
|
||||
mountfs\
|
||||
configdist\
|
||||
confignet\
|
||||
mountdist\
|
||||
fmtventi\
|
||||
download\
|
||||
copydist\
|
||||
bootsetup finish stop\
|
||||
|
|
|
@ -16,9 +16,36 @@ fn exitifdone{
|
|||
}
|
||||
|
||||
fn havedist {
|
||||
test -f $1/LICENSE
|
||||
test -f $1/LICENSE || test -f $1/9front.iso || test -f $1/9front.iso.bz2
|
||||
}
|
||||
|
||||
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/9front.iso'
|
||||
bunzip2 < $1 >/n/newfs/dist/_9front.iso &&
|
||||
mv /n/newfs/dist/_9front.iso /n/newfs/dist/9front.iso
|
||||
echo
|
||||
trycdimage /n/newfs/dist/9front.iso
|
||||
mountdist=notdone
|
||||
export mountdist
|
||||
exit notdone
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
switch($1){
|
||||
case checkready
|
||||
if(! ~ $distisfrom local && ! ~ $download done){
|
||||
|
@ -40,23 +67,20 @@ case checkready
|
|||
|
||||
case go
|
||||
fat=()
|
||||
ext2=()
|
||||
x9660=()
|
||||
|
||||
echo Please wait... Scanning storage devices...
|
||||
|
||||
parts=`{ls /dev/sd[A-Z][0-9]*/* >[2]/dev/null | grep -v '/(plan9.*|ctl|log|raw)$'}
|
||||
parts=`{ls /dev/sd*/* >[2]/dev/null | grep -v '/(plan9.*|nvram|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)
|
||||
t=`{fstype $i}
|
||||
switch($t){
|
||||
case dos
|
||||
fat=($fat $i)
|
||||
if(isext2 /tmp/localpart.$n)
|
||||
ext2=($ext2 $i)
|
||||
if(is9660 /tmp/localpart.$n)
|
||||
case 9660
|
||||
x9660=($x9660 $i)
|
||||
}
|
||||
echo
|
||||
}
|
||||
echo
|
||||
|
@ -67,8 +91,6 @@ case go
|
|||
switch($i){
|
||||
case $fat
|
||||
echo ' '^$i^' (microsoft fat)'
|
||||
case $ext2
|
||||
echo ' '^$i^' (linux ext2)'
|
||||
case $x9660
|
||||
echo ' '^$i^' (iso9660 cdrom)'
|
||||
}
|
||||
|
@ -80,7 +102,7 @@ case go
|
|||
default=()
|
||||
if(! ~ $#cdboot 0 && ! ~ $#x9660 0)
|
||||
default=(-d $x9660(1))
|
||||
prompt $default 'Distribution disk' $fat $x9660
|
||||
prompt $default 'Distribution disk' $fat $x9660 $fs
|
||||
disk=$rd
|
||||
|
||||
srvmedia=()
|
||||
|
@ -91,9 +113,6 @@ case go
|
|||
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)
|
||||
|
@ -114,6 +133,8 @@ case go
|
|||
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 9front.iso'
|
||||
echo ' - the directory containing 9front.iso.bz2'
|
||||
echo
|
||||
first=no
|
||||
}
|
||||
|
@ -145,7 +166,7 @@ case checkdone
|
|||
|
||||
exitifdone
|
||||
|
||||
if(havedist /n/distmedia/$distmediadir){
|
||||
if(test -f /n/distmedia/$distmediadir/LICENSE){
|
||||
bind /n/distmedia/$distmediadir /n/dist
|
||||
exitifdone
|
||||
mountdist=notdone
|
||||
|
@ -153,6 +174,12 @@ case checkdone
|
|||
exit notdone
|
||||
}
|
||||
|
||||
trycdimage /n/distmedia/$distmediadir/9front.iso
|
||||
trycdimage /n/newfs/dist/9front.iso
|
||||
|
||||
trycdimagebz2 /n/distmedia/$distmediadir/9front.iso.bz2
|
||||
trycdimagebz2 /n/newfs/dist/9front.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,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)
|
|
@ -10,7 +10,7 @@ fn showlocaldevs{
|
|||
for(i in `{ls -p $d}){
|
||||
p=$d/$i
|
||||
switch($i){
|
||||
case ctl raw
|
||||
case ctl raw log
|
||||
;
|
||||
case 9fat plan9 nvram
|
||||
echo $p
|
||||
|
|
Loading…
Reference in a new issue