]> git.lizzy.rs Git - plan9front.git/blob - rc/bin/inst/mountcwfs
inst: default dist location to /, use old cache format by default... will change...
[plan9front.git] / rc / bin / inst / mountcwfs
1 #!/bin/rc
2
3 # desc: choose and mount file system partition
4
5 switch($1){
6 case go
7         echo
8         echo The please choose your $fstype partitions
9         echo
10
11         files=(`{ls /dev/sd*/fscache* /dev/fs/fscache* >[2]/dev/null})
12         ls -l $files
13         echo
14         if(~ $#files 1)
15                 default=(-d $files)
16         if not
17                 default=()
18         prompt $default 'Cwfs cache partition' $files
19         fs=$rd
20         export fs
21
22         files=(`{ls /dev/sd*/fsworm* /dev/fs/fsworm* >[2]/dev/null})
23         ls -l $files
24         echo
25         if(~ $#files 1)
26                 default=(-d $files)
27         if not
28                 default=()
29         prompt $default 'Cwfs worm partition' $files
30         fsworm=$rd
31         export fsworm
32
33         files=(`{ls /dev/sd*/other* /dev/fs/other* >[2]/dev/null})
34         ls -l $files
35         echo
36         if(~ $#files 1)
37                 default=(-d $files)
38         if not
39                 default=()
40         prompt $default 'Cwfs other partition' $files
41         fsother=$rd
42         export fsother
43
44         if(! test -f /tmp/fsconfig){
45                 {
46                         echo service cwfs
47                         echo config $fs
48
49                         # new config option
50                         echo noauth
51
52                         echo filsys main c'('$fs')('$fsworm')'
53                         echo filsys dump o
54                         if(! ~ $fsother ''){
55                                 echo filsys other '('$fsother')'
56                                 echo ream other
57                         }
58                         echo ream main
59                         echo end
60                 } >/tmp/fsconfig
61         }
62
63         log Starting $fstype file server for $fs
64         unmount /n/newfs >[2]/dev/null
65         echo halt >>/srv/cwfs.cmd >[2]/dev/null
66         rm -f /srv/cwfs /srv/cwfs.cmd
67         if(! $fstype -c -f $fs </tmp/fsconfig){
68                 mountfs=ready
69                 export mountfs
70                 exit oops
71         }
72
73         log Configuering $fstype file server for $fs
74         {
75                 echo allow
76                 echo users default
77                 echo cfs main
78                 echo create /adm adm adm 775 d
79                 echo create /adm/users adm adm 664
80                 echo create /usr sys sys 775 d
81                 echo newuser $user
82                 echo newuser sys +$user
83                 echo newuser adm +$user
84                 # not synchronized
85                 sleep 5
86         } >>/srv/cwfs.cmd
87
88         log Mounting $fstype file server for $fs
89         if(! logprog mount -c /srv/cwfs /n/newfs){
90                 mountfs=ready
91                 export mountfs
92                 exit
93         }
94
95 case checkready checkdone
96         if(! ~ $fstype '' && ~ $#fs 1 && test -f $fs){
97                 if(! test -f /srv/cwfs){
98                         logprog $fstype -f $fs
99                         echo allow >>/srv/cwfs.cmd >>[2]/srv/log
100                 }
101                 if(test -f /srv/cwfs && ! test -f /n/newfs/adm/users){
102                         log Mounting $fstype file server for $fs
103                         if(! logprog mount -c /srv/cwfs /n/newfs){
104                                 mountfs=ready
105                                 export mountfs
106                                 exit
107                         }
108                 }
109                 if(test -f /srv/cwfs && test -f /n/newfs/adm/users){
110                         mountfs=done
111                         export mountfs
112                         exit
113                 }
114         }
115         mountfs=ready
116         export mountfs
117         exit
118 }