USG_PG3/usr/sys/conf/sysgen

: sh sysgen {40,45,70} {fpp,nofpp}config-file {mt,ht} [low]
if $5x = x mkconf < $3
if $5x != x mkconf -a $5 < $3
as l.s
mv a.out l.o
cp /usr/source/head/param.h ../head/param.h
cc -c c.c
if $1 = 40 goto 40
if $1 = 45 goto 45
if $1 != 70 goto error0
: 45
: 70
echo $1
cp /usr/source/opsys/m$1.s .
if $2 = fpp goto fpp
if $2 != nofpp goto error1
echo nofpp
ed - m$1.s
/fpp/c
.fpp = 0                / 0 = nofpp     1 = fpp
.
w
q
goto tutest
: fpp
echo fpp
ed - m$1.s
/fpp/c
.fpp = 1                / 0 = nofpp     1 = fpp
.
w
q
goto tutest
: 40
echo 40
cp /usr/source/opsys/m$1.s .
: tutest
if $4 = mt goto mt
if $4 != ht goto error2
echo ht
ed - m$1.s
/\.mt/c
.mt = 0         /1 = tm11       0 = tju16
.
w
q
ed -
a
cp /newsys/usr/mdec/tu/tuboot /newsys/usr/mdec/mboot
sync
cat /usr/mdec/tu0 /dev/rk0 > /dev/mt0
.
w tapes
q
goto cont
: mt
echo mt
ed - m$1.s
/\.mt/c
.mt = 1         /1 = tm11       0 = tju16
.
w
q
ed -
a
cp /newsys/usr/mdec/tu/mtboot /newsys/usr/mdec/mboot
sync
cat /usr/mdec/mt0 /dev/rk0 > /dev/mt0
.
w tapes
q
goto cont
: error0
echo 40/45/70 argument bad - sysgen aborted.
exit
: error1
echo fpp argument bad - sysgen aborted.
exit
: error2
echo ht/mt argument bad - sysgen aborted
exit
:cont
as m$1.s
mv a.out mch.o
sh load1 $1
echo make file system started
/etc/mkfs /dev/rk0 proto
check /dev/rk0
rm a.out  c.o l.o 
if $2 = fpp goto tape
/etc/mount /dev/rk0 /newsys
chdir /usr/source/fp
as fp?.s
mv -f a.out fp.o
ar r /newsys/lib/liba.a fp.o
rm fp.o
chdir /usr/source/clib4
cc -c nfrin.c
mv nfrin.o rin.o
ar r /newsys/lib/libc.a rin.o
rm rin.o
chdir ../clib3
as -o longops.o ilongops.s
ar r /newsys/lib/libc.a longops.o
rm longops.o
chdir /usr/source/cc
cc -f -n -s c1*.o table.o /newsys/lib/libc.a /newsys/lib/liba.a
mv -f a.out /newsys/lib/c1
rm -f /newsys/lib/fc0 /newsys/lib/fc1
ln /newsys/lib/c0 /newsys/lib/fc0
ln /newsys/lib/c1 /newsys/lib/fc1
chdir /newsys/usr/fort
ld -u pass1 -u pass2 -u pass3 -u pass4\
f1o.a f2o.a f3o.a f4o.a fxo.a /newsys/lib/liba.a
strip a.out
mv -f a.out fc1
chdir /usr/source/bas
as bas?.s
ld a.out /newsys/lib/liba.a
strip a.out
mv -f a.out /newsys/bin/bas
chdir /usr/source/adb
cc -s -f -O -n adb[1-4].c /newsys/lib/libc.a /newsys/lib/liba.a
mv -f a.out /newsys/bin/adb
chdir /usr/source/cmd1
cc -f -s -O ac.c /newsys/lib/libc.a /newsys/lib/liba.a
mv -f a.out /newsys/usr/bin/ac
cc -f -s -O dump.c /newsys/lib/libc.a /newsys/lib/liba.a
mv -f a.out /newsys/bin/dump
chdir /usr/source/cmd4
cc -f -s -O prof.c /newsys/lib/libc.a /newsys/lib/liba.a
mv -f a.out /newsys/usr/bin/prof
chdir /usr/source/cmd5
cc -f -s -O sa.c /newsys/lib/libc.a /newsys/lib/liba.a
mv -f a.out /newsys/usr/bin/sa
chdir /usr/source/cmd6
cc -f -s -O typo.c /newsys/lib/libc.a /newsys/lib/liba.a
mv -f a.out /newsys/usr/bin/typo
chdir /usr/source/sccsutil1
cc -c -O alloc.c\
copy.c\
dname.c\
equal.c\
exists.c\
exit1.c\
exit2.c\
fatal.c\
getchr.c\
getl.c\
getlnm.c\
gt.c
chdir /usr/source/sccsutil2
as - -o putchr.o putchr.s
cc -c -O \
move.c\
msg2.c\
patoi.c\
remove.c\
rename.c\
same.c\
setsig.c\
size.c\
sname.c\
strf.c\
xcreat.c\
xlink.c\
xopen.c\
xwrite.c
chdir /usr/source/sccscommon
cc -c -O \
ctlrec.c\
dohist.c\
dofile.c\
sinit.c\
wrtrec.c\
dohead.c\
rdrec.c\
inbuf.c\
permiss.c\
rdmod.c\
dorelt.c\
rwpfile.c\
outbuf.c\
dodelt.c\
dolist.c\
auxf.c\
delstr.c
chdir /usr/source
cc -f -O -s sccscmds/delta.c \
sccsutil1/*.o sccsutil2/*.o sccscommon/*.o /newsys/lib/libc.a /newsys/lib/liba.a
rm -f sccsutil1/*.o sccsutil2/*.o sccscommon/*.o
mv -f a.out /newsys/usr/bin/delta
chown bin /newsys/usr/bin/delta
chmod 755 /newsys/usr/bin/delta
/etc/umount /dev/rk0
chdir /usr/sys/gen
: tape
echo tape
/etc/mount /dev/rk0 /newsys
cp m$1.s /newsys/usr/source/opsys/m$1.s
cp mch.o /newsys/usr/sys/mch.o
sh tapes
rm mch.o  tapes
/etc/umount /dev/rk0
echo sysgen completed