71 lines
1.5 KiB
Plaintext
71 lines
1.5 KiB
Plaintext
![]() |
#!/bin/rc
|
||
|
|
||
|
# desc: choose and mount file system partition
|
||
|
# prereq: systype
|
||
|
|
||
|
service=hjfs
|
||
|
|
||
|
switch($1){
|
||
|
case go
|
||
|
echo
|
||
|
echo The please choose your $fstype partition
|
||
|
echo
|
||
|
|
||
|
files=(`{ls /dev/sd*/fs* >[2]/dev/null})
|
||
|
if(! ~ $#files 0)
|
||
|
ls -l $files
|
||
|
echo
|
||
|
if(~ $#files 1)
|
||
|
default=(-d $files)
|
||
|
if not
|
||
|
default=()
|
||
|
prompt $default 'Hjfs partition' $files
|
||
|
fs=$rd
|
||
|
export fs
|
||
|
|
||
|
mem=`{awk ' $2 == "pagesize" { p = $1 } $2 == "user" { split($1, a, "/"); print int((a[2] * p / 4 + 1048575) / 1048576) } ' '#c'/swap}
|
||
|
prompt -d $mem 'Size of RAM filesystem cache (MB)?'
|
||
|
fsflags=(-m $rd)
|
||
|
export fsflags
|
||
|
|
||
|
log Starting $fstype file server for $fs
|
||
|
unmount /n/newfs >[2]/dev/null
|
||
|
echo halt >>/srv/$service.cmd >[2]/dev/null
|
||
|
rm -f /srv/$service /srv/$service.cmd
|
||
|
|
||
|
hjfs -n $service $fsflags -Srf $fs
|
||
|
|
||
|
log Configuring $fstype file server for $fs
|
||
|
{
|
||
|
echo echo on
|
||
|
echo create /dist sys sys 775 d
|
||
|
echo create /usr sys sys 775 d
|
||
|
echo newuser $user
|
||
|
echo newuser adm +$user
|
||
|
echo newuser sys +$user
|
||
|
echo newuser upas +$user
|
||
|
echo echo off
|
||
|
sleep 2
|
||
|
} >>/srv/$service.cmd
|
||
|
|
||
|
log Mounting $fstype file server for $fs
|
||
|
while(! logprog mount -c /srv/$service /n/newfs)
|
||
|
sleep 2
|
||
|
if(! ~ $fsother ''){
|
||
|
log Mounting $fstype file server for $fsother
|
||
|
logprog mount -c /srv/$service /n/other other
|
||
|
}
|
||
|
|
||
|
case checkready checkdone
|
||
|
if(! ~ $fstype '' && ~ $#fs 1 && test -f $fs){
|
||
|
if(test -f /srv/$service && test -d /n/newfs/dist){
|
||
|
mountfs=done
|
||
|
export mountfs
|
||
|
exit
|
||
|
}
|
||
|
}
|
||
|
mountfs=ready
|
||
|
export mountfs
|
||
|
exit
|
||
|
}
|