added hjfs

This commit is contained in:
aiju 2012-08-07 17:57:04 +02:00
parent ef1c186305
commit b21b9ba89c
22 changed files with 3906 additions and 2 deletions

View file

@ -37,7 +37,7 @@ case go
bootfile=9pcf
@{
echo 'bootfile='^$bootfile
echo 'bootargs=local!'^$fs
echo 'bootargs=local!'^$fs^$fsflags
if(~ $#nvram 1)
echo 'nvram='^$nvram
echo 'mouseport='^$mouseport

View file

@ -14,8 +14,9 @@ case go
echo 'You can install the following types of file systems:'
echo
echo ' cwfs64x the cached-worm file server'
echo ' hjfs the new 9front file server (experimental!)'
echo
prompt -d cwfs64x 'File system' cwfs64x
prompt -d cwfs64x 'File system' cwfs64x hjfs
fstype=$rd
export fstype
}

View file

@ -22,6 +22,8 @@ case go
prompt $default 'Cwfs cache partition' $files
fs=$rd
export fs
fsflags=
export fsflags
files=(`{ls /dev/sd*/fsworm* /dev/fs/fsworm* >[2]/dev/null})
if(! ~ $#files 0)

View file

@ -6,6 +6,8 @@
switch($fstype){
case cwfs cwfs64 cwfs64x
exec mountcwfs $*
case hjfs
exec mounthjfs $*
case *
mountfs=notdone
export mountfs

70
rc/bin/inst/mounthjfs Executable file
View file

@ -0,0 +1,70 @@
#!/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
}

View file

@ -7,6 +7,8 @@ fn autotype {
switch($fstype){
case cwfs cwfs64 cwfs64x
echo -a 9fat -a nvram -a fscache -a fsworm -a other
case hjfs
echo -a 9fat -a nvram -a fs
}
}

0
rc/bin/inst/tzsetup Normal file → Executable file
View file