#!/bin/sh # # Copyright (c) 1980 Regents of the University of California. # All rights reserved. The Berkeley software License Agreement # specifies the terms and conditions for redistribution. # # @(#)get 4.22 (Berkeley) %G% # # Shell script to build a mini-root file system # in preparation for building a distribution tape. # The file system created here is image copied onto # tape, then image copied onto disk as the "first" # step in a cold boot of 4.2 systems. # DISTROOT=/nbsd # if [ `pwd` = '/' ] then echo You just '(almost)' destroyed the root exit fi cp $DISTROOT/sys/GENERIC/vmunix . rm -rf bin; mkdir bin rm -rf etc; mkdir etc rm -rf a; mkdir a rm -rf tmp; mkdir tmp rm -rf usr; mkdir usr usr/mdec rm -rf sys; mkdir sys sys/floppy sys/cassette sys/consolerl cp $DISTROOT/etc/disktab etc cp $DISTROOT/etc/newfs etc; strip etc/newfs cp $DISTROOT/etc/mkfs etc; strip etc/mkfs cp $DISTROOT/etc/restore etc; strip etc/restore cp $DISTROOT/etc/init etc; strip etc/init cp $DISTROOT/etc/mount etc; strip etc/mount cp $DISTROOT/etc/mknod etc; strip etc/mknod cp $DISTROOT/etc/fsck etc; strip etc/fsck cp $DISTROOT/etc/umount etc; strip etc/umount cp $DISTROOT/etc/arff etc; strip etc/arff cp $DISTROOT/etc/flcopy etc; strip etc/flcopy cp $DISTROOT/bin/mt bin; strip bin/mt cp $DISTROOT/bin/ls bin; strip bin/ls cp $DISTROOT/bin/sh bin; strip bin/sh cp $DISTROOT/bin/mv bin; strip bin/mv cp $DISTROOT/bin/sync bin; strip bin/sync cp $DISTROOT/bin/cat bin; strip bin/cat cp $DISTROOT/bin/mkdir bin; strip bin/mkdir cp $DISTROOT/bin/stty bin; strip bin/stty; ln bin/stty bin/STTY cp $DISTROOT/bin/echo bin; strip bin/echo cp $DISTROOT/bin/rm bin; strip bin/rm cp $DISTROOT/bin/cp bin; strip bin/cp cp $DISTROOT/bin/expr bin; strip bin/expr cp $DISTROOT/bin/[ bin; strip bin/[ cp $DISTROOT/bin/awk bin; strip bin/awk cp $DISTROOT/bin/make bin; strip bin/make cp $DISTROOT/usr/mdec/* usr/mdec cp $DISTROOT/sys/floppy/[Ma-z0-9]* sys/floppy cp $DISTROOT/sys/consolerl/[Ma-z0-9]* sys/consolerl cp -r $DISTROOT/sys/cassette/[Ma-z0-9]* sys/cassette cp $DISTROOT/sys/stand/boot boot cp $DISTROOT/sys/stand/pcs750.bin pcs750.bin cp $DISTROOT/.profile .profile cat >etc/passwd <etc/group <etc/fstab <xtr <<'EOF' : ${disk?'Usage: disk=xx0 type=tt tape=yy xtr'} : ${type?'Usage: disk=xx0 type=tt tape=yy xtr'} : ${tape?'Usage: disk=xx0 type=tt tape=yy xtr'} echo 'Build root file system' newfs ${disk}a ${type} sync echo 'Check the file system' fsck /dev/r${disk}a mount /dev/${disk}a /a cd /a echo 'Rewind tape' mt -f /dev/${tape}0 rew echo 'Restore the dump image of the root' restore rsf 3 /dev/${tape}0 cd / sync umount /dev/${disk}a sync fsck /dev/r${disk}a echo 'Root filesystem extracted' echo echo 'If this is a 8600, update the console rl02' echo 'If this is a 780 or 785, update the floppy' echo 'If this is a 730, update the cassette' EOF chmod +x xtr rm -rf dev; mkdir dev cp $DISTROOT/sys/dist/MAKEDEV dev chmod +x dev/MAKEDEV cp /dev/null dev/MAKEDEV.local cd dev ./MAKEDEV std hp0 hk0 up0 ra0 rb0 ./MAKEDEV ts0; mv rmt12 ts0; rm *mt*; ./MAKEDEV tm0; mv rmt12 tm0; rm *mt*; ./MAKEDEV ht0; mv rmt12 ht0; rm *mt*; ./MAKEDEV ut0; mv rmt12 ut0; rm *mt*; ./MAKEDEV mt0; mv rmt4 xt0; rm *mt*; mv xt0 mt0 cd .. sync