shithub: riscv

Download patch

ref: e27c2203ef8f4801c7515a5eef08327a2e85d946
parent: 474df964241d6c844237a9625eae904ac61aedc4
author: cinap_lenrek <cinap_lenrek@centraldogma>
date: Thu Jun 9 16:31:04 EDT 2011

ask for nvram and 9fat partitions

--- a/rc/bin/inst/authsetup
+++ /dev/null
@@ -1,30 +1,0 @@
-#!/bin/rc
-
-# desc: invalidate nvram
-# prereq: systype copydist
-
-nvram=(/dev/sd*/nvram)
-nvram=$nvram(1)
-
-switch($1){
-case go
-	echo 'trust, but verify' >$nvram
-
-	echo
-	echo 'You will be asked to enter an authid, authdom, secstore key,'
-	echo 'and password upon next boot. The authid is the hostowner.'
-	echo 'The authdom is the domain from your network configuration.'
-	echo 'The secstore key and password should be a secret password'
-	echo 'of eight characters or greater in length. On an auth server,'
-	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
-	}
-}
--- a/rc/bin/inst/bootsetup
+++ b/rc/bin/inst/bootsetup
@@ -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 @@
 		{
 			echo 'bootfile='^$bootfile
 			echo 'bootargs=local!'^$fs
+			if(~ $#nvram 1)
+				echo 'nvram='^$nvram
 			echo 'mouseport='^$mouseport
 			echo 'monitor='^$monitor
 			echo 'vgasize='^$vgasize
@@ -34,11 +45,11 @@
 	}
 
 	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
@@ -45,8 +56,8 @@
 
 	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
@@ -75,13 +86,5 @@
 	if(! boot$rd){
 		didbootsetup=$oldbootsetup
 		export didbootsetup
-	}
-
-case checkdone
-	xxxfat=(/dev/sd*/9fat)
-	xxxfat=$xxxfat(1)
-	if(! ~ `{fstype $xxxfat} dos || ! ~ $didbootsetup 1){
-		bootsetup=ready
-		export bootsetup
 	}
 }
--- a/rc/bin/inst/main
+++ b/rc/bin/inst/main
@@ -21,7 +21,7 @@
 	mountdist\
 	download\
 	copydist\
-	authsetup\
+	nvramsetup\
 	bootsetup finish stop\
 	stopether stopppp\
 )
--- /dev/null
+++ b/rc/bin/inst/nvramsetup
@@ -1,0 +1,47 @@
+#!/bin/rc
+
+# desc: invalidate nvram
+# prereq: systype copydist
+
+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.'
+	echo 'The authdom is the domain from your network configuration.'
+	echo 'The secstore key and password should be a secret password'
+	echo 'of eight characters or greater in length. On an auth server,'
+	echo 'the password will be used to encrypt the user database'
+	echo '/adm/keys'
+	echo
+}
--- a/rc/bin/inst/systype
+++ b/rc/bin/inst/systype
@@ -9,9 +9,6 @@
 	if not
 		systype=ready
 	export systype
-	if(~ $syst terminal)
-		tasks=`{echo $tasks | sed 's/authsetup//g'}
-	export tasks
 case go
 	echo