#!/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
#!/bin/rc
loader=/386/9load
pbs=/386/pbslba
mbr=/386/mbr
kernel=/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=$flagl
if(! ~ $#flagp 0)
pbs=$flagp
if(! ~ $#flagm 0)
mbr=$flagm
if(! ~ $#flagk 0)
kernel=$flagk
d=$1
disk/mbr -m $mbr $d/data || fail
disk/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 cwd
extra=`{ls -p 9fat/* | grep -v '^(' ^ $bl ^ '|plan9.ini|' ^ $bk ^ ')'}
if(! test -f 9fat/$bl)
cp $loader 9fat/ || fail
if(! test -f 9fat/$bk)
cp $kernel 9fat/ || fail
if(! test -f 9fat/plan9.ini)
fail missing required 9fat files
disk/format -b $pbs -d -r 2 $d/9fat \
9fat/^($bl plan9.ini $bk $extra) || fail
nvram=$d/nvram auth/wrkey