summaryrefslogtreecommitdiff
path: root/rc/bin/inst/mountcwfs
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@localhost>2011-04-22 00:50:41 +0000
committercinap_lenrek <cinap_lenrek@localhost>2011-04-22 00:50:41 +0000
commit40dab914b7b92e75dd6297ab31c86bea033e8fa9 (patch)
tree98edac34471e8144fb646824b88f5d04daacf3f2 /rc/bin/inst/mountcwfs
parentb14bc93a797c909fb3e1bf2681aa8277043c6cf0 (diff)
inst: installer adaption to cwfs
Diffstat (limited to 'rc/bin/inst/mountcwfs')
-rw-r--r--rc/bin/inst/mountcwfs117
1 files changed, 117 insertions, 0 deletions
diff --git a/rc/bin/inst/mountcwfs b/rc/bin/inst/mountcwfs
new file mode 100644
index 000000000..615a01253
--- /dev/null
+++ b/rc/bin/inst/mountcwfs
@@ -0,0 +1,117 @@
+#!/bin/rc
+
+# desc: choose and mount file system partition
+
+switch($1){
+case go
+ echo
+ echo The please choose your $fstype partitions
+ echo
+
+ files=(`{ls /dev/sd*/fscache* /dev/fs/fscache* >[2]/dev/null})
+ ls -l $files
+ echo
+ if(~ $#files 1)
+ default=(-d $files)
+ if not
+ default=()
+ prompt $default 'Cwfs cache partition' $files
+ fs=$rd
+ export fs
+
+ files=(`{ls /dev/sd*/fsworm* /dev/fs/fsworm* >[2]/dev/null})
+ ls -l $files
+ echo
+ if(~ $#files 1)
+ default=(-d $files)
+ if not
+ default=()
+ prompt $default 'Cwfs worm partition' $files
+ fsworm=$rd
+ export fsworm
+
+ files=(`{ls /dev/sd*/other* /dev/fs/other* >[2]/dev/null})
+ ls -l $files
+ echo
+ if(~ $#files 1)
+ default=(-d $files)
+ if not
+ default=()
+ prompt $default 'Cwfs other partition' $files
+ fsother=$rd
+ export fsother
+
+ if(! test -f /tmp/fsconfig){
+ {
+ echo service cwfs
+ echo config $fs
+
+ # new config option
+ echo noauth
+
+ echo filsys main c'('$fs')('$fsworm')'
+ echo filsys dump o
+ if(! ~ $fsother ''){
+ echo filsys other '('$fsother')'
+ echo ream other
+ }
+ echo ream main
+ echo end
+ } >/tmp/fsconfig
+ }
+
+ log Starting $fstype file server for $fs
+ unmount /n/newfs >[2]/dev/null
+ echo halt >>/srv/cwfs.cmd >[2]/dev/null
+ rm -f /srv/cwfs /srv/cwfs.cmd
+ if(! $fstype -c -C -f $fs </tmp/fsconfig){
+ mountfs=ready
+ export mountfs
+ exit oops
+ }
+
+ {
+ echo allow
+ echo users default
+ echo filsys main
+ echo create /adm adm adm 775 d
+ echo create /adm/users adm adm 664
+ echo create /usr sys sys 775 d
+ echo newuser $user
+ echo newuser sys +$user
+ echo newuser adm +$user
+ # not synchronized
+ sleep 5
+ } >>/srv/cwfs.cmd
+
+ log Mounting $fstype file server for $fs
+ if(! logprog mount -c /srv/cwfs /n/newfs){
+ mountfs=ready
+ export mountfs
+ exit
+ }
+
+case checkready checkdone
+ if(! ~ $fstype '' && ~ $#fs 1 && test -f $fs){
+ if(! test -f /srv/cwfs){
+ logprog $fstype -C -f $fs
+ echo allow >>/srv/cwfs.cmd >>[2]/srv/log
+ }
+ if(test -f /srv/cwfs && ! test -f /n/newfs/adm/users){
+ log Mounting $fstype file server for $fs
+ if(! logprog mount -c /srv/cwfs /n/newfs){
+ mountfs=ready
+ export mountfs
+ exit
+ }
+ }
+ if(test -f /srv/cwfs && test -f /n/newfs/adm/users){
+ mountfs=done
+ export mountfs
+ exit
+ }
+ }
+ mountfs=ready
+ export mountfs
+ exit
+}