139734e7eSDavid du Colombier#!/bin/rc 239734e7eSDavid du Colombier 339734e7eSDavid du Colombierswitch($1){ 439734e7eSDavid du Colombiercase checkready checkdone 539734e7eSDavid du Colombier if(! ~ $fmtfossil done){ 639734e7eSDavid du Colombier mountfs=notdone 739734e7eSDavid du Colombier export mountfs 839734e7eSDavid du Colombier exit 939734e7eSDavid du Colombier } 1039734e7eSDavid du Colombier if(! test -f /dev/sd*/fossil* && ! test -f /dev/fs/fossil*){ 1139734e7eSDavid du Colombier mountfs=notdone 1239734e7eSDavid du Colombier export mountfs 1339734e7eSDavid du Colombier exit 1439734e7eSDavid du Colombier } 1539734e7eSDavid du Colombier if(! ~ $#fossil 1 || ! test -f $fossil){ 1639734e7eSDavid du Colombier mountfs=ready 1739734e7eSDavid du Colombier export mountfs 1839734e7eSDavid du Colombier exit 1939734e7eSDavid du Colombier } 2039734e7eSDavid du Colombier if(! ps | grep -s ' fossil$'){ 21a22b0629SDavid du Colombier echo 'srv -p fscons' > /env/fossilconf 22a22b0629SDavid du Colombier echo 'srv -AP fossil' >> /env/fossilconf 23*9c06fe1dSDavid du Colombier fossil/conf $fossil | sed 's/^fsys main open .*/& -AWVP/' | 24a22b0629SDavid du Colombier sed 's/^fsys main snaptime .*//' >> /env/fossilconf 2539734e7eSDavid du Colombier if(! logprog fossil/fossil -c .' /env/fossilconf'>>[2]/srv/log){ 2639734e7eSDavid du Colombier echo 'fossil: '^$status 2739734e7eSDavid du Colombier mountfs=ready 2839734e7eSDavid du Colombier export mountfs 2939734e7eSDavid du Colombier exit oops 3039734e7eSDavid du Colombier } 3139734e7eSDavid du Colombier if(! test -f /srv/fossil){ 3239734e7eSDavid du Colombier echo 'fossil did not create /srv/fossil' 3339734e7eSDavid du Colombier mountfs=ready 3439734e7eSDavid du Colombier exit oops 3539734e7eSDavid du Colombier } 3639734e7eSDavid du Colombier cat /srv/fscons >>/srv/log & 37a22b0629SDavid du Colombier if(! logprog mount -c /srv/fossil /n/newfs){ 3839734e7eSDavid du Colombier echo 'mount: '^$status 3939734e7eSDavid du Colombier mountfs=ready 4039734e7eSDavid du Colombier export mountfs 4139734e7eSDavid du Colombier exit oops 4239734e7eSDavid du Colombier } 4339734e7eSDavid du Colombier fs=$fossil 4439734e7eSDavid du Colombier export fs 4539734e7eSDavid du Colombier } 46a22b0629SDavid du Colombier if(! test -s /n/newfs/adm/users){ 4739734e7eSDavid du Colombier echo fsys main create /active/adm adm sys d775 >>/srv/fscons 4839734e7eSDavid du Colombier echo fsys main create /active/adm/users adm sys 664 >>/srv/fscons 4939734e7eSDavid du Colombier echo uname upas :upas >>/srv/fscons 5039734e7eSDavid du Colombier echo users -w >>/srv/fscons 5139734e7eSDavid du Colombier sleep 2 5239734e7eSDavid du Colombier } 53a22b0629SDavid du Colombier if(! test -s /n/newfs/adm/users){ 5439734e7eSDavid du Colombier echo 'could not create /adm/users' 5539734e7eSDavid du Colombier mountfs=ready 5639734e7eSDavid du Colombier export mountfs 5739734e7eSDavid du Colombier exit oops 5839734e7eSDavid du Colombier } 5939734e7eSDavid du Colombier for(i in dist dist/replica dist/replica/client){ 60a22b0629SDavid du Colombier if(! test -d /n/newfs/$i) 6139734e7eSDavid du Colombier echo fsys main create /active/$i sys sys d775 >>/srv/fscons 6239734e7eSDavid du Colombier sleep 2 6339734e7eSDavid du Colombier } 64a22b0629SDavid du Colombier if(! test -d /n/newfs/dist/replica/client){ 6539734e7eSDavid du Colombier echo 'could not create /dist/replica/client' 6639734e7eSDavid du Colombier mountfs=ready 6739734e7eSDavid du Colombier export mountfs 6839734e7eSDavid du Colombier exit oops 6939734e7eSDavid du Colombier } 70a22b0629SDavid du Colombier if(! test -e /n/newfs/dist/replica/client/plan9.db){ 7139734e7eSDavid du Colombier echo fsys main create /active/dist/replica/client/plan9.db sys sys 664 >>/srv/fscons 7239734e7eSDavid du Colombier echo fsys main create /active/dist/replica/client/plan9.log sys sys a664 >>/srv/fscons 7339734e7eSDavid du Colombier } 74a22b0629SDavid du Colombier if(test -d /n/newfs/dist/replica/client && test -f /n/newfs/adm/users){ 7539734e7eSDavid du Colombier mountfs=done 7639734e7eSDavid du Colombier export mountfs 7739734e7eSDavid du Colombier exit 7839734e7eSDavid du Colombier } 7939734e7eSDavid du Colombier mountfs=ready 8039734e7eSDavid du Colombier export mountfs 8139734e7eSDavid du Colombier exit 8239734e7eSDavid du Colombier 8339734e7eSDavid du Colombiercase go 8439734e7eSDavid du Colombier echo 'The following partitions named fossil* were found.' 8539734e7eSDavid du Colombier echo 8639734e7eSDavid du Colombier echo 'Please choose one to use as the installation file system' 8739734e7eSDavid du Colombier echo 'for your Plan 9 installation.' 8839734e7eSDavid du Colombier echo 8939734e7eSDavid du Colombier files=(`{ls /dev/sd*/fossil* /dev/fs/fossil* >[2]/dev/null}) 9039734e7eSDavid du Colombier ls -l $files 9139734e7eSDavid du Colombier echo 9239734e7eSDavid du Colombier if(~ $#fossil 1 && ~ $fossil $files) 9339734e7eSDavid du Colombier default=(-d $fossil) 9439734e7eSDavid du Colombier if not if(~ $#files 1) 9539734e7eSDavid du Colombier default=(-d $files) 9639734e7eSDavid du Colombier if not 9739734e7eSDavid du Colombier default=() 9839734e7eSDavid du Colombier prompt $default 'Fossil partition' $files 9939734e7eSDavid du Colombier slay fossil|rc 10039734e7eSDavid du Colombier fossil=$rd 10139734e7eSDavid du Colombier export fossil 10239734e7eSDavid du Colombier} 10339734e7eSDavid du Colombier 10439734e7eSDavid du Colombier 105