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
|
need9fatformat=no
|
||||||
if(! isfat $fat)
|
if(! ~ `{fstype $fat} dos)
|
||||||
need9fatformat=yes
|
need9fatformat=yes
|
||||||
if(! test -f /srv/dos)
|
if(! test -f /srv/dos)
|
||||||
dossrv
|
dossrv
|
||||||
|
@ -70,7 +70,8 @@ case go
|
||||||
|
|
||||||
case checkdone
|
case checkdone
|
||||||
xxxfat=(/dev/sd*/9fat)
|
xxxfat=(/dev/sd*/9fat)
|
||||||
if(! isfat $xxxfat(1) || ! ~ $didbootsetup 1){
|
xxxfat=$xxxfat(1)
|
||||||
|
if(! ~ `{fstype $xxxfat} dos || ! ~ $didbootsetup 1){
|
||||||
bootsetup=ready
|
bootsetup=ready
|
||||||
export bootsetup
|
export bootsetup
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,22 +33,20 @@ case go
|
||||||
baropt='-w 145,129,445,168'
|
baropt='-w 145,129,445,168'
|
||||||
if(~ $textinst 1)
|
if(~ $textinst 1)
|
||||||
baropt=-t
|
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
|
exit
|
||||||
mv /n/newfs/dist/_plan9.iso.bz2 /n/newfs/dist/plan9.iso.bz2
|
mv /n/newfs/dist/_9front.iso.bz2 /n/newfs/dist/9front.iso.bz2
|
||||||
if(~ $fstype fossil){
|
|
||||||
echo fsys main sync >>/srv/fscons
|
|
||||||
}
|
|
||||||
|
|
||||||
echo 'The distribution is downloaded.'
|
echo 'The distribution is downloaded.'
|
||||||
|
|
||||||
srvmedia=()
|
srvmedia=()
|
||||||
mountmedia=(mount /srv/fossil /n/distmedia)
|
mountmedia=(mount /srv/cwfs /n/distmedia)
|
||||||
distmediadir=/dist
|
distmediadir=/dist
|
||||||
export distmediadir mountmedia distmedia
|
export distmediadir mountmedia distmedia
|
||||||
|
|
||||||
case checkdone
|
case checkdone
|
||||||
if(! test -f /n/newfs/dist/plan9.iso.bz2) {
|
if(! test -f /n/newfs/dist/9front.iso.bz2) {
|
||||||
download=notdone
|
download=notdone
|
||||||
export download
|
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=(\
|
tasks=(\
|
||||||
configfs\
|
configfs\
|
||||||
partdisk prepdisk\
|
partdisk prepdisk\
|
||||||
fmtfossil\
|
|
||||||
mountfs\
|
mountfs\
|
||||||
configdist\
|
configdist\
|
||||||
confignet\
|
confignet\
|
||||||
mountdist\
|
mountdist\
|
||||||
fmtventi\
|
|
||||||
download\
|
download\
|
||||||
copydist\
|
copydist\
|
||||||
bootsetup finish stop\
|
bootsetup finish stop\
|
||||||
|
|
|
@ -16,9 +16,36 @@ fn exitifdone{
|
||||||
}
|
}
|
||||||
|
|
||||||
fn havedist {
|
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){
|
switch($1){
|
||||||
case checkready
|
case checkready
|
||||||
if(! ~ $distisfrom local && ! ~ $download done){
|
if(! ~ $distisfrom local && ! ~ $download done){
|
||||||
|
@ -40,23 +67,20 @@ case checkready
|
||||||
|
|
||||||
case go
|
case go
|
||||||
fat=()
|
fat=()
|
||||||
ext2=()
|
|
||||||
x9660=()
|
x9660=()
|
||||||
|
|
||||||
echo Please wait... Scanning storage devices...
|
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) {
|
for (i in $parts) {
|
||||||
echo -n ' '^$i
|
echo -n ' '^$i
|
||||||
n=`{echo $i | sed 's;/;_;g'}
|
t=`{fstype $i}
|
||||||
if(! test -f /tmp/localpart.$n)
|
switch($t){
|
||||||
dd -if $i -bs 2048 -count 32 -of /tmp/localpart.$n >[2]/dev/null
|
case dos
|
||||||
if(isfat /tmp/localpart.$n)
|
|
||||||
fat=($fat $i)
|
fat=($fat $i)
|
||||||
if(isext2 /tmp/localpart.$n)
|
case 9660
|
||||||
ext2=($ext2 $i)
|
|
||||||
if(is9660 /tmp/localpart.$n)
|
|
||||||
x9660=($x9660 $i)
|
x9660=($x9660 $i)
|
||||||
|
}
|
||||||
echo
|
echo
|
||||||
}
|
}
|
||||||
echo
|
echo
|
||||||
|
@ -67,8 +91,6 @@ case go
|
||||||
switch($i){
|
switch($i){
|
||||||
case $fat
|
case $fat
|
||||||
echo ' '^$i^' (microsoft fat)'
|
echo ' '^$i^' (microsoft fat)'
|
||||||
case $ext2
|
|
||||||
echo ' '^$i^' (linux ext2)'
|
|
||||||
case $x9660
|
case $x9660
|
||||||
echo ' '^$i^' (iso9660 cdrom)'
|
echo ' '^$i^' (iso9660 cdrom)'
|
||||||
}
|
}
|
||||||
|
@ -80,7 +102,7 @@ case go
|
||||||
default=()
|
default=()
|
||||||
if(! ~ $#cdboot 0 && ! ~ $#x9660 0)
|
if(! ~ $#cdboot 0 && ! ~ $#x9660 0)
|
||||||
default=(-d $x9660(1))
|
default=(-d $x9660(1))
|
||||||
prompt $default 'Distribution disk' $fat $x9660
|
prompt $default 'Distribution disk' $fat $x9660 $fs
|
||||||
disk=$rd
|
disk=$rd
|
||||||
|
|
||||||
srvmedia=()
|
srvmedia=()
|
||||||
|
@ -91,9 +113,6 @@ case go
|
||||||
case $fat
|
case $fat
|
||||||
srvmedia=(dossrv)
|
srvmedia=(dossrv)
|
||||||
mountmedia=(mount /srv/dos /n/distmedia $disk)
|
mountmedia=(mount /srv/dos /n/distmedia $disk)
|
||||||
case $ext2
|
|
||||||
srvmedia=(ext2srv -r)
|
|
||||||
mountmedia=(mount /srv/ext2 /n/distmedia $disk)
|
|
||||||
case $x9660
|
case $x9660
|
||||||
srvmedia=(9660srv)
|
srvmedia=(9660srv)
|
||||||
mountmedia=(mount /srv/9660 /n/distmedia $disk)
|
mountmedia=(mount /srv/9660 /n/distmedia $disk)
|
||||||
|
@ -114,6 +133,8 @@ case go
|
||||||
echo Which directory contains the distribution?
|
echo Which directory contains the distribution?
|
||||||
echo 'Any of the following will suffice (in order of preference):'
|
echo 'Any of the following will suffice (in order of preference):'
|
||||||
echo ' - the root directory of the cd image'
|
echo ' - the root directory of the cd image'
|
||||||
|
echo ' - the directory containing 9front.iso'
|
||||||
|
echo ' - the directory containing 9front.iso.bz2'
|
||||||
echo
|
echo
|
||||||
first=no
|
first=no
|
||||||
}
|
}
|
||||||
|
@ -145,7 +166,7 @@ case checkdone
|
||||||
|
|
||||||
exitifdone
|
exitifdone
|
||||||
|
|
||||||
if(havedist /n/distmedia/$distmediadir){
|
if(test -f /n/distmedia/$distmediadir/LICENSE){
|
||||||
bind /n/distmedia/$distmediadir /n/dist
|
bind /n/distmedia/$distmediadir /n/dist
|
||||||
exitifdone
|
exitifdone
|
||||||
mountdist=notdone
|
mountdist=notdone
|
||||||
|
@ -153,6 +174,12 @@ case checkdone
|
||||||
exit notdone
|
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
|
mountdist=notdone
|
||||||
export mountdist
|
export mountdist
|
||||||
exit notdone
|
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}){
|
for(i in `{ls -p $d}){
|
||||||
p=$d/$i
|
p=$d/$i
|
||||||
switch($i){
|
switch($i){
|
||||||
case ctl raw
|
case ctl raw log
|
||||||
;
|
;
|
||||||
case 9fat plan9 nvram
|
case 9fat plan9 nvram
|
||||||
echo $p
|
echo $p
|
||||||
|
|
Loading…
Reference in a new issue