ask for nvram and 9fat partitions

This commit is contained in:
cinap_lenrek 2011-06-09 20:31:04 +00:00
parent 474df96424
commit e27c2203ef
4 changed files with 52 additions and 35 deletions

View file

@ -3,20 +3,29 @@
# desc: create a boot floppy or configure hard disk to boot plan 9
# prereq: systype copydist
fats=(/dev/sd*/9fat)
switch($1) {
case checkdone checkready
if(~ $#fats 0 || ~ $#9fat 1 && ~ `{fstype $9fat} dos && ~ $didbootsetup 1)
bootsetup=done
if not
bootsetup=ready
export bootsetup
case go
echo
echo 'Initializing Plan 9 FAT configuration partition (9fat)'
echo 'Setup Plan 9 FAT boot partition (9fat)'
echo
fat=(/dev/sd*/9fat)
fat=$fat(1)
disk=`{echo $fat | sed 's:/dev/::;s:/9fat::'}
if(! test -f $fat) {
echo 'You have no 9fat partition. Can''t setup booting.'
exit
}
if(~ $#fats 1)
default=(-d $fats)
if not
default=()
prompt $default 'Plan 9 FAT partition' $fats
9fat=$rd
export 9fat
if(! test -f /tmp/plan9.ini) {
if(~ $syst cpu)
bootfile=9pccpuf
@ -25,6 +34,8 @@ case go
{
echo 'bootfile='^$bootfile
echo 'bootargs=local!'^$fs
if(~ $#nvram 1)
echo 'nvram='^$nvram
echo 'mouseport='^$mouseport
echo 'monitor='^$monitor
echo 'vgasize='^$vgasize
@ -34,19 +45,19 @@ case go
}
need9fatformat=no
if(! ~ `{fstype $fat} dos)
if(! ~ `{fstype $9fat} dos)
need9fatformat=yes
if(! test -f /srv/dos)
dossrv
if(! mount -c /srv/dos /n/9fat $fat >[2]/dev/null)
if(! mount -c /srv/dos /n/9fat $9fat >[2]/dev/null)
need9fatformat=yes
if not if(! test -f /n/9fat/plan9.ini)
need9fatformat=yes
if(~ $need9fatformat yes){
log Initializing Plan 9 FAT partition.
disk/format -r 2 -d -b /386/pbs $fat
mount -c /srv/dos /n/9fat $fat
disk/format -r 2 -d -b /386/pbs $9fat
mount -c /srv/dos /n/9fat $9fat
}
logprog rm -f /n/9fat/^(9bootfat plan9.ini 9pcf 9pccpuf)
logprog cp /n/newfs/386/9bootfat /n/9fat/9bootfat
@ -76,12 +87,4 @@ case go
didbootsetup=$oldbootsetup
export didbootsetup
}
case checkdone
xxxfat=(/dev/sd*/9fat)
xxxfat=$xxxfat(1)
if(! ~ `{fstype $xxxfat} dos || ! ~ $didbootsetup 1){
bootsetup=ready
export bootsetup
}
}

View file

@ -21,7 +21,7 @@ tasks=(\
mountdist\
download\
copydist\
authsetup\
nvramsetup\
bootsetup finish stop\
stopether stopppp\
)

View file

@ -3,13 +3,38 @@
# desc: invalidate nvram
# prereq: systype copydist
nvram=(/dev/sd*/nvram)
nvram=$nvram(1)
files=(/dev/sd*/nvram)
switch($1){
case checkdone checkready
if(~ $#files 0 && ! ~ $syst cpu)
nvramsetup=done
if not {
if(~ $#nvram 1 && grep -s trust $nvram)
nvramsetup=done
if not
nvramsetup=ready
}
export nvramsetup
case go
echo
echo 'Setup Plan 9 NVRAM configuration partition (nvram)'
echo
if(~ $#files 1)
default=(-d $files)
if not
default=()
prompt $default 'Nvram partition' $files
nvram=$rd
export nvram
echo 'trust, but verify' >$nvram
if(! ~ $syst cpu)
exit
echo
echo 'You will be asked to enter an authid, authdom, secstore key,'
echo 'and password upon next boot. The authid is the hostowner.'
@ -19,12 +44,4 @@ case go
echo 'the password will be used to encrypt the user database'
echo '/adm/keys'
echo
authsetup=done
export authsetup
case checkdone
if(~ $syst cpu && test -w $nvram && ! grep -s trust $nvram){
authsetup=ready
export authsetup
}
}

View file

@ -9,9 +9,6 @@ case checkdone
if not
systype=ready
export systype
if(~ $syst terminal)
tasks=`{echo $tasks | sed 's/authsetup//g'}
export tasks
case go
echo