81 lines
1.7 KiB
Bash
Executable file
81 lines
1.7 KiB
Bash
Executable file
#!/bin/rc
|
|
|
|
# desc: choose and mount file system partition
|
|
# prereq: systype
|
|
|
|
service=hjfs
|
|
|
|
switch($1){
|
|
case go
|
|
echo
|
|
echo 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
|
|
|
|
ream=no
|
|
if(! ~ $fstype `{fstype $fs})
|
|
ream=yes
|
|
prompt -d $ream 'Ream the filesystem?' yes no
|
|
ream=$rd
|
|
|
|
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
|
|
|
|
if(~ $ream yes){
|
|
hjfs -n $service $fsflags -Srf $fs
|
|
}
|
|
if not {
|
|
hjfs -n $service $fsflags -Sf $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
|
|
}
|