3 # prereq: mountfs configdist
4 # desc: locate and mount the distribution
7 if(! test -e $mountmedia(2))
9 unmount /n/distmedia >[2]/dev/null
14 if(test -d /n/dist/dist/plan9front)
19 test -d $1/dist/plan9front || test -f $1/9front.iso || test -f $1/9front.iso.bz2
26 9660srv 9660.dist >[2]/dev/null
27 logprog mount /srv/9660.dist /n/dist $1
37 echo -n 'bunzip2 < '^$1^' >/n/newfs/dist/9front.iso'
38 bunzip2 < $1 >/n/newfs/dist/_9front.iso &&
39 mv /n/newfs/dist/_9front.iso /n/newfs/dist/9front.iso
41 trycdimage /n/newfs/dist/9front.iso
51 if(! ~ $distisfrom local && ! ~ $download done){
55 if(! ~ $#mountmedia 0 1){
59 if(mountdist checkdone)
65 export srvmedia mountmedia mountdist
72 echo Please wait... Scanning storage devices...
74 parts=`{ls /dev/sd*/* /srv/sd*/*.iso >[2]/dev/null |
75 grep -v '/(plan9.*|nvram|ctl|log|raw)$'}
88 echo The following storage media were detected.
89 echo Choose the one containing the distribution.
94 echo ' '^$i^' (microsoft fat)'
96 echo ' '^$i^' (iso9660 cdrom)'
102 while(! ~ $mountstatus ''){
106 prompt $default 'Distribution disk' $fat $x9660 $fs /
113 mountmedia=(mount /srv/boot /n/distmedia)
115 mountmedia=(bind /n/newfs /n/distmedia)
118 mountmedia=(mount /srv/dos /n/distmedia $disk)
121 mountmedia=(mount /srv/9660 /n/distmedia $disk)
123 echo Unknown disk type '(cannot happen)'
126 export srvmedia mountmedia
133 while(~ $first yes || ! havedist /n/distmedia/$dir){
136 echo Which directory contains the distribution?
137 echo 'Any of the following will suffice (in order of preference):'
138 echo ' - the root directory of the cd image'
139 echo ' - the directory containing 9front.iso'
140 echo ' - the directory containing 9front.iso.bz2'
145 prompt -d $dir 'Location of archives'
151 if(! havedist /n/distmedia/$dir)
152 echo 'No distribution found in '^`{cleanname /$dir}
159 if(! ~ $#distmediadir 1){
164 if(! havedist /n/distmedia/$distmediadir && ! havedist /n/newfs/dist){
172 if(test -d /n/distmedia/$distmediadir/dist/plan9front){
173 bind /n/distmedia/$distmediadir /n/dist
180 trycdimage /n/distmedia/$distmediadir/9front.iso
181 trycdimage /n/newfs/dist/9front.iso
183 trycdimagebz2 /n/distmedia/$distmediadir/9front.iso.bz2
184 trycdimagebz2 /n/newfs/dist/9front.iso.bz2