#!/bin/rc # desc: choose and mount file system partition sname=hjfs.newfs 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) } ' /dev/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/$sname.cmd >[2]/dev/null rm -f /srv/$sname /srv/$sname.cmd if(~ $ream yes){ hjfs -n $sname $fsflags -Srf $fs } if not { hjfs -n $sname $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/$sname.cmd log Mounting $fstype file server for $fs while(! logprog mount -c /srv/$sname /n/newfs) sleep 2 if(! ~ $fsother ''){ log Mounting $fstype file server for $fsother logprog mount -c /srv/$sname /n/other other } case checkready checkdone if(! ~ $fstype '' && ~ $#fs 1 && test -f $fs){ if(test -f /srv/$sname && test -d /n/newfs/dist){ mountfs=done export mountfs exit } } mountfs=ready export mountfs exit }