58 lines · 1.1 KB · Text
RawDownload
#!/bin/rc loader=/386/9loadpbs=/386/pbslbambr=/386/mbrkernel=/amd64/9cpu fn fail{	if(! ~ $#* 0)		echo mkcpuboot: $*	exit fail} flagfmt='l loader,p pbs,m mbr,k kernel'args='drive'if(! ifs=() eval `{aux/getflags $*} || ! ~ $#* 1){	aux/usage	exit usage}if(! test -d $1 || ! test -f $1/data){	fail disk $1 not found} if(! ~ $#flagl 0)	loader=$flaglif(! ~ $#flagp 0)	pbs=$flagpif(! ~ $#flagm 0)	mbr=$flagmif(! ~ $#flagk 0)	kernel=$flagkd=$1 disk/mbr -m $mbr $d/data || faildisk/fdisk -abw $d/data || fail{	echo a 9fat 0 0x5000	echo a nvram 0x5000 0x5001	# echo a fsconfig 0x5040 0x5060	test -x extraparts && extraparts	echo w	echo q} | disk/prep -b $d/plan9 || fail bl=`{basename $loader}bk=`{basename $kernel} test -d 9fat || fatal no 9fat directory in cwdextra=`{ls -p 9fat/* | grep -v '^(' ^ $bl ^ '|plan9.ini|' ^ $bk ^ ')'}if(! test -f 9fat/$bl)	cp $loader 9fat/ || failif(! test -f 9fat/$bk)	cp $kernel 9fat/ || failif(! test -f 9fat/plan9.ini)	fail missing required 9fat filesdisk/format -b $pbs -d -r 2 $d/9fat \	9fat/^($bl plan9.ini $bk $extra) || failnvram=$d/nvram auth/wrkey