123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- #!/bin/rc
- # desc: choose and mount file system partition
- switch($1){
- case go
- echo 'The following partitions named fs* 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*/fs* /dev/fs/fs* >[2]/dev/null})
- ls -l $files
- echo
- if(~ $#files 1)
- default=(-d $files)
- if not
- default=()
- prompt $default 'Kfs partition to use for Plan 9 installation' $files
- fs=$rd
- export fs
- kname=`{kfsname $fs}
- doinit=(-rb8192)
- if(iskfs $fs){
- echo 'A Plan 9 kfs file system already exists on '^$fs^'.'
- echo 'Do you want to wipe it clean?'
- echo
- prompt -d keep 'Wipe the Plan 9 file system clean' keep wipe
- switch($rd){
- case keep
- doinit=()
- }
- }
- log Starting kfs file server for $fs
- unmount /n/kfs >[2]/dev/null
- disk/kfscmd -n $kname halt >[2]/dev/null
- rm -f /srv/kfs.$kname /srv/kfs.$kname.cmd
- logprog disk/kfs -n $kname $doinit -f $fs
- disk/kfscmd -n $kname allow >>[2]/srv/log
-
- log Mounting kfs file server for $fs
- if(! logprog mount -c /srv/kfs.$kname /n/kfs){
- echo 'mounting kfs: '^$status
- exit oops
- }
- if(test -d /n/kfs/wrap){
- moveoldfs go
- if(test -d /n/kfs/wrap)
- exit cannotsmashold
- }
- if(! test -f /n/kfs/dist/replica/client/plan9.log){
- disk/kfscmd -n $kname 'create /dist sys sys 775 d'
- disk/kfscmd -n $kname 'create /dist/replica sys sys 775 d'
- disk/kfscmd -n $kname 'create /dist/replica/ndist sys sys 775'
- disk/kfscmd -n $kname 'create /dist/replica/client sys sys 775 d'
- disk/kfscmd -n $kname 'create /dist/replica/client/plan9.db sys sys 664'
- disk/kfscmd -n $kname 'create /dist/replica/client/plan9.log sys sys 664 a'
- }
- case checkready checkdone
- if(! test -f /dev/sd*/fs*){
- mountfs=notdone
- export mountfs
- exit
- }
- if(! ~ $#fs 1 || ! test -f $fs){
- mountfs=ready
- export mountfs
- exit
- }
- kname=`{kfsname $fs}
- if(! test -f /srv/kfs.$kname){
- disk/kfscmd -n $kname halt >[2]/dev/null
- rm -f /srv/kfs.$kname /srv/kfs.$kname.cmd
- logprog disk/kfs -n $kname -f $fs
- disk/kfscmd -n $kname allow >>[2]/srv/log
- }
- if(test -f /srv/kfs.$kname && ! test -f /n/kfs/dist/replica/client/plan9.log){
- log Mounting kfs file server for $fs
- if(! logprog mount -c /srv/kfs.$kname /n/kfs)
- echo 'mounting kfs: '^$status
- disk/kfscmd -n $kname allow >>[2]/srv/log
- }
- if(test -f /srv/kfs.$kname && test -f /n/kfs/dist/replica/client/plan9.log){
- mountfs=done
- export mountfs
- exit
- }
- mountfs=ready
- export mountfs
- exit
- }
|