ref: 87945b2a4082f94c726a44ef64c0a26b600adb15
parent: c165b88513ed831bdd1022ff613230f190566eba
author: cinap_lenrek <cinap_lenrek@localhost>
date: Thu Apr 21 20:50:41 EDT 2011
inst: installer adaption to cwfs
--- a/rc/bin/inst/bootplan9
+++ b/rc/bin/inst/bootplan9
@@ -1,11 +1,5 @@
#!/bin/rc
-first=`{ls -p '#S' | sed 1q}-if(! ~ $first $disk) {- echo 'warning: The plan 9 partition is not on the boot disk,'
- echo 'so making it the active partition will have no effect.'
-}
-
p9offset=`{grep '^part 9fat ' /dev/$disk/ctl |awk '{print $3}'} if(! ~ $#p9offset 1) {echo 'could not find plan 9 partition.'
--- a/rc/bin/inst/bootsetup
+++ b/rc/bin/inst/bootsetup
@@ -12,9 +12,7 @@
fat=(/dev/sd*/9fat)
fat=$fat(1)
disk=`{echo $fat | sed 's:/dev/::;s:/9fat::'}- bootfs=`{echo $fs | sed 's:/dev/(sd..)/(.*):\1!\2:'}- bootfat=`{echo $fs | sed 's:/dev/(sd..)/(.*):\1!9fat:'}- if(! test -f /dev/$disk/9fat) {+ if(! test -f $fat) {echo 'You have no 9fat partition. Can''t setup booting.'
exit
}
@@ -21,24 +19,8 @@
if(! test -f /tmp/plan9.ini) { {- sfs=`{echo $fs | sed 's;/dev;#S;'}- if(~ $fstype fossil cwfs){- echo bootfile'='$bootfat!9pcf
- echo 'bootargs=local!'^$sfs
- echo 'bootdisk=local!'^$sfs
- }
- if not {- echo bootfile'='$bootfs!/386/9pcdisk
- echo 'bootdisk=local!'^$sfs
- }
- if(~ $fstype fossil+venti){- venti=`{echo $ventiarena | sed 's;/dev;#S;'}- echo venti'='^$venti
- }
- # sort -u avoids dups which could otherwise trigger
- # pointless boot menus.
- grep -v '(^\[)|menuitem|adisk|bootfile|bootdisk|bootargs|nobootprompt|mouseport|vgasize|monitor|cdboot' /tmp/plan9.orig |
- sort -u
+ echo bootfile'='9pcf
+ echo 'bootargs=local!'^$fs
echo 'mouseport='^$mouseport
echo 'monitor='^$monitor
echo 'vgasize='^$vgasize
@@ -48,8 +30,10 @@
cp /tmp/plan9.ini /tmp/plan9ini.bak
need9fatformat=no
- if(! isfat /dev/$disk/9fat)
+ if(! isfat $fat)
need9fatformat=yes
+ if(! test -f /srv/dos)
+ dossrv
if not if(! mount -c /srv/dos /n/9fat /dev/$disk/9fat >[2]/dev/null)
need9fatformat=yes
if not if(! test -f /n/9fat/plan9.ini)
@@ -57,22 +41,15 @@
if(~ $need9fatformat yes){log Initializing Plan 9 FAT partition.
- disk/format -r 2 -d -b /386/pbs \
- /dev/$disk/9fat /n/newfs/386/9bootfat
- mount -c /srv/dos /n/9fat /dev/$disk/9fat
+ disk/format -r 2 -d -b /386/pbs $fat /n/newfs/386/9bootfat
+ mount -c /srv/dos /n/9fat $fat
}
- if(! test -f /n/9fat/4e){- logprog cp /n/newfs/386/9bootfat /n/9fat/9bootfat
- logprog cp /n/newfs/386/9pcf /n/9fat/9pcf
- if(test -f /n/9fat/plan9.ini && ! test -f /n/9fat/plan9-3e.ini)
- logprog mv /n/9fat/plan9.ini /n/9fat/plan9-3e.ini
- if(test -f /n/9fat/9pcdisk && ! test -f /n/9fat/9pc3e)
- logprog mv /n/9fat/9pcdisk /n/9fat/9pc3e
-
- awk -f /bin/inst/mkini.awk >/n/9fat/plan9.ini
- >/n/9fat/4e
- }
+ logprog cp /tmp/plan9.ini /n/9fat/plan9.ini
+ if(test -f /tmp/plan9ini.bak)
+ logprog cp /tmp/plan9ini.bak /n/9fat/plan9ini.bak
+ logprog cp /n/newfs/386/9bootfat /n/9fat/9bootfat
+ logprog cp /n/newfs/386/9pcf /n/9fat/9pcf
echo
echo 'There are myriad ways to boot a Plan 9 system.'
--- a/rc/bin/inst/configfs
+++ b/rc/bin/inst/configfs
@@ -4,19 +4,18 @@
switch($1){case checkdone
- if(! ~ $fstype cwfs){+ if(~ $#fstype 1 && test -f /bin/$fstype)
+ configfs=done
+ if not
configfs=ready
- export configfs
- }
+ export configfs
case go
echo 'You can install the following types of file systems:'
echo
- echo ' cwfs the cached-worm file server'
+ echo ' cwfs64x the cached-worm file server'
echo
- prompt -d fossil 'File system' cwfs
+ prompt -d cwfs64x 'File system' cwfs64x
fstype=$rd
export fstype
}
-
-
--- a/rc/bin/inst/copydist
+++ b/rc/bin/inst/copydist
@@ -5,26 +5,23 @@
switch($1){case checkready
- if(! test -d /n/dist/dist/replica){+ if(! test -f /n/dist/LICENSE){copydist=notdone
export copydist
exit
}
- if(test -f /n/newfs/dist/replica/didplan9){+ if(test -f /n/newfs/LICENSE && test -f /tmp/copydone){copydist=done
export copydist
exit
}
case go
- inst/watchfd applylog 0 `{ls -l /n/dist/dist/replica/plan9.log | awk '{print $6}'} 'Installing file system' &- replica/pull -c / /rc/bin/inst/replcfg
- if(~ $status '' *conflicts || test -f /n/newfs/dist/replica/didplan9witherrors)
- >/n/newfs/dist/replica/didplan9
- if not
- >/n/newfs/dist/replica/didplan9witherrors
+ rm -f /tmp/copydone
+ disk/mkfs -s /n/dist -d /n/newfs /sys/lib/sysconfig/proto/allproto
+ touch /tmp/copydone
case checkdone
- if(! test -f /n/newfs/dist/replica/didplan9){+ if(! test -f /tmp/copydone){copydist=notdone
export copydist
}
--- /dev/null
+++ b/rc/bin/inst/mountcwfs
@@ -1,0 +1,117 @@
+#!/bin/rc
+
+# desc: choose and mount file system partition
+
+switch($1){+case go
+ echo
+ echo The please choose your $fstype partitions
+ echo
+
+ files=(`{ls /dev/sd*/fscache* /dev/fs/fscache* >[2]/dev/null})+ ls -l $files
+ echo
+ if(~ $#files 1)
+ default=(-d $files)
+ if not
+ default=()
+ prompt $default 'Cwfs cache partition' $files
+ fs=$rd
+ export fs
+
+ files=(`{ls /dev/sd*/fsworm* /dev/fs/fsworm* >[2]/dev/null})+ ls -l $files
+ echo
+ if(~ $#files 1)
+ default=(-d $files)
+ if not
+ default=()
+ prompt $default 'Cwfs worm partition' $files
+ fsworm=$rd
+ export fsworm
+
+ files=(`{ls /dev/sd*/other* /dev/fs/other* >[2]/dev/null})+ ls -l $files
+ echo
+ if(~ $#files 1)
+ default=(-d $files)
+ if not
+ default=()
+ prompt $default 'Cwfs other partition' $files
+ fsother=$rd
+ export fsother
+
+ if(! test -f /tmp/fsconfig){+ {+ echo service cwfs
+ echo config $fs
+
+ # new config option
+ echo noauth
+
+ echo filsys main c'('$fs')('$fsworm')'+ echo filsys dump o
+ if(! ~ $fsother ''){+ echo filsys other '('$fsother')'+ echo ream other
+ }
+ echo ream main
+ echo end
+ } >/tmp/fsconfig
+ }
+
+ log Starting $fstype file server for $fs
+ unmount /n/newfs >[2]/dev/null
+ echo halt >>/srv/cwfs.cmd >[2]/dev/null
+ rm -f /srv/cwfs /srv/cwfs.cmd
+ if(! $fstype -c -C -f $fs </tmp/fsconfig){+ mountfs=ready
+ export mountfs
+ exit oops
+ }
+
+ {+ echo allow
+ echo users default
+ echo filsys main
+ echo create /adm adm adm 775 d
+ echo create /adm/users adm adm 664
+ echo create /usr sys sys 775 d
+ echo newuser $user
+ echo newuser sys +$user
+ echo newuser adm +$user
+ # not synchronized
+ sleep 5
+ } >>/srv/cwfs.cmd
+
+ log Mounting $fstype file server for $fs
+ if(! logprog mount -c /srv/cwfs /n/newfs){+ mountfs=ready
+ export mountfs
+ exit
+ }
+
+case checkready checkdone
+ if(! ~ $fstype '' && ~ $#fs 1 && test -f $fs){+ if(! test -f /srv/cwfs){+ logprog $fstype -C -f $fs
+ echo allow >>/srv/cwfs.cmd >>[2]/srv/log
+ }
+ if(test -f /srv/cwfs && ! test -f /n/newfs/adm/users){+ log Mounting $fstype file server for $fs
+ if(! logprog mount -c /srv/cwfs /n/newfs){+ mountfs=ready
+ export mountfs
+ exit
+ }
+ }
+ if(test -f /srv/cwfs && test -f /n/newfs/adm/users){+ mountfs=done
+ export mountfs
+ exit
+ }
+ }
+ mountfs=ready
+ export mountfs
+ exit
+}
--- a/rc/bin/inst/mountdist
+++ b/rc/bin/inst/mountdist
@@ -11,40 +11,12 @@
}
fn exitifdone{- if(test -f /n/dist/dist/replica/plan9.db)
+ if(test -f /n/dist/LICENSE)
exit
}
-fn trycdimage{- if(test -f $1){- rm -f /srv/9660.dist
- unmount /n/dist
- 9660srv 9660.dist >[2]/dev/null
- logprog mount /srv/9660.dist /n/dist $1
- exitifdone
- mountdist=notdone
- export mountdist
- exit notdone
- }
-}
-
-fn trycdimagebz2 {- if(test -f $1){- echo -n 'bunzip2 < '^$1^' >/n/newfs/dist/plan9.iso'
- bunzip2 < $1 >/n/newfs/dist/_plan9.iso &&
- mv /n/newfs/dist/_plan9.iso /n/newfs/dist/plan9.iso
- echo
- trycdimage /n/newfs/dist/plan9.iso
- mountdist=notdone
- export mountdist
- exit notdone
- }
-}
-
fn havedist {- test -f $1/dist/replica/plan9.db ||
- test -f $1/plan9.iso ||
- test -f $1/plan9.iso.bz2
+ test -f $1/LICENSE
}
switch($1){@@ -70,7 +42,6 @@
fat=()
ext2=()
x9660=()
- fossil=()
echo Please wait... Scanning storage devices...
@@ -86,8 +57,6 @@
ext2=($ext2 $i)
if(is9660 /tmp/localpart.$n)
x9660=($x9660 $i)
- if(isfossil $i)
- fossil=($fossil $i)
echo
}
echo
@@ -102,8 +71,6 @@
echo ' '^$i^' (linux ext2)'
case $x9660
echo ' '^$i^' (iso9660 cdrom)'
- case $fossil
- echo ' '^$i^' (plan9 fossil)'
}
}
echo
@@ -110,7 +77,7 @@
mountstatus=x
while(! ~ $mountstatus ''){- prompt -w '' 'Distribution disk' $fat $x9660 $fossil
+ prompt -w '' 'Distribution disk' $fat $x9660
disk=$rd
srvmedia=()
@@ -127,13 +94,6 @@
case $x9660
srvmedia=(9660srv)
mountmedia=(mount /srv/9660 /n/distmedia $disk)
- case $fossil
- echo 'srv fossil.mountdist' > /tmp/fossi.conf
- echo 'fsys main config '^$disk >> /tmp/fossil.conf
- echo 'fsys main open -AWVP' >> /tmp/fossil.conf
- echo 'fsys main' >> /tmp/fossil.conf
- srvmedia=(fossil/fossil -c '. /tmp/fossil.conf')
- mountmedia=(mount /srv/fossil.mountdist /n/distmedia)
case *
echo Unknown disk type '(cannot happen)'
exit oops
@@ -200,21 +160,13 @@
exitifdone
- if(test -f /n/distmedia/$distmediadir/dist/replica/plan9.db){+ if(havedist /n/distmedia/$distmediadir){bind /n/distmedia/$distmediadir /n/dist
- bind -a /n/dist/386/bin /bin
- bind -a /n/dist/rc/bin /bin
exitifdone
mountdist=notdone
export mountdist
exit notdone
}
-
- trycdimage /n/distmedia/$distmediadir/plan9.iso
- trycdimage /n/newfs/dist/plan9.iso
-
- trycdimagebz2 /n/distmedia/$distmediadir/plan9.iso.bz2
- trycdimagebz2 /n/newfs/dist/plan9.iso.bz2
mountdist=notdone
export mountdist
--- a/rc/bin/inst/mountfs
+++ b/rc/bin/inst/mountfs
@@ -4,7 +4,7 @@
# prereq: configfs
switch($fstype){-case cwfs
+case cwfs cwfs64 cwfs64x
exec mountcwfs $*
case *
mountfs=notdone
--- a/rc/bin/inst/prepdisk
+++ b/rc/bin/inst/prepdisk
@@ -4,8 +4,10 @@
# prereq: partdisk
fn autotype {- if(~ $fstype cwfs)
+ switch($fstype){+ case cwfs cwfs64 cwfs64x
echo -a 9fat -a nvram -a fscache -a fsworm -a other
+ }
}
switch($1) {@@ -41,16 +43,7 @@
case checkdone
if(! test -f /dev/sd*/9fat)
prepdisk=ready
-
- if(! ~ $prepdisk ready){+ if(! ~ $prepdisk ready)
prepdisk=done
- switch($fstype){- case cwfs
- if(! test -f /dev/sd*/fscache* && ! test -f /dev/fs/fscache*)
- prepdisk=ready
- if(! test -f /dev/sd*/fsworm* && ! test -f /dev/fs/fsworm*)
- prepdisk=ready
- }
- }
export prepdisk
}
--- a/rc/bin/mountcwfs
+++ /dev/null
@@ -1,97 +1,0 @@
-#!/bin/rc
-
-# desc: choose and mount file system partition
-
-switch($1){-case go
- echo 'The following partitions named fscache* were found.'
- echo
- echo 'Please choose one to use as the installation file system'
- echo 'for your Plan 9 installation.'
- echo
- files=(`{ls /dev/sd*/fscache* /dev/fs/fscache* >[2]/dev/null})- ls -l $files
- echo
- if(~ $#files 1)
- default=(-d $files)
- if not
- default=()
- prompt $default 'Cwfs partition to use for Plan 9 installation' $files
- fs=$rd
- export fs
-
- if(! test -f /tmp/fsconfig) {- {- echo service cwfs
- echo nvram /dev/sdC0/nvram
- echo config /dev/sdC0/fscache
- echo filsys main c'('/dev/sdC0/fscache')'f'('/dev/sdC0/fsworm')'- echo filsys dump o
- echo filsys other '('/dev/sdC0/other')'- echo ream main
- echo ream other
- echo end
- } >/tmp/fsconfig
- }
-
- log Starting cwfs file server for $fs
- unmount /n/newfs >[2]/dev/null
- echo halt >>/srv/cwfs.cmd >[2]/dev/null
- rm -f /srv/cwfs /srv/cwfs.cmd
- logprog cwfs -c -C -f $fs </tmp/fsconfig
- echo allow >>/srv/cwfs.cmd
- echo noauth >>/srv/cwfs.cmd
- echo users default >>/srv/cwfs.cmd
-
- log Mounting cwfs file server for $fs
- if(! logprog mount -c /srv/cwfs /n/newfs){- echo 'mounting cwfs: '^$status
- exit oops
- }
-
- if(test -d /n/newfs/wrap){- moveoldfs go
- if(test -d /n/newfs/wrap)
- exit cannotsmashold
- }
- if(! test -f /n/newfs/dist/replica/client/plan9.log){- echo 'create /dist sys sys 775 d' >>/srv/cwfs.cmd
- echo 'create /dist/replica sys sys 775 d' >>/srv/cwfs.cmd
- echo 'create /dist/replica/ndist sys sys 775' >>/srv/cwfs.cmd
- echo 'create /dist/replica/client sys sys 775 d' >>/srv/cwfs.cmd
- echo 'create /dist/replica/client/plan9.db sys sys 664' >>/srv/cwfs.cmd
- echo 'create /dist/replica/client/plan9.log sys sys 664 a' >>/srv/cwfs.cmd
- }
-
-case checkready checkdone
- if(! test -f /dev/sd*/fscache*){- mountfs=notdone
- export mountfs
- exit
- }
- if(! ~ $#fs 1 || ! test -f $fs){- mountfs=ready
- export mountfs
- exit
- }
- if(! test -f /srv/cwfs){- echo halt >>/srv/cwfs.cmd
- rm -f /srv/cwfs /srv/cwfs.cmd
- logprog cwfs -C -f $fs
- echo allow >>/srv/cwfs.cmd >>[2]/srv/log
- }
- if(test -f /srv/cwfs && ! test -f /n/newfs/dist/replica/client/plan9.log){- log Mounting cwfs file server for $fs
- if(! logprog mount -c /srv/cwfs /n/newfs)
- echo 'mounting cwfs: '^$status
- echo allow >>/srv/cwfs.cmd >>[2]/srv/log
- }
- if(test -f /srv/cwfs && test -f /n/newfs/dist/replica/client/plan9.log){- mountfs=done
- export mountfs
- exit
- }
- mountfs=ready
- export mountfs
- exit
-}
--
⑨