|
|
1.1 ! root 1: #!/bin/sh ! 2: # ! 3: # Copyright (c) 1983 Regents of the University of California. ! 4: # All rights reserved. The Berkeley software License Agreement ! 5: # specifies the terms and conditions for redistribution. ! 6: # ! 7: # @(#)get 4.26 (Berkeley) 2/29/88 ! 8: # ! 9: # Shell script to build a mini-root file system ! 10: # in preparation for building a distribution tape. ! 11: # The file system created here is image copied onto ! 12: # tape, then image copied onto disk as the "first" ! 13: # step in a cold boot of 4.3 systems. ! 14: # ! 15: DISTROOT=/nbsd ! 16: # ! 17: if [ `pwd` = '/' ] ! 18: then ! 19: echo You just '(almost)' destroyed the root ! 20: exit ! 21: fi ! 22: cp $DISTROOT/sys/GENERIC/vmunix . ! 23: rm -rf bin; mkdir bin ! 24: rm -rf etc; mkdir etc ! 25: rm -rf a; mkdir a ! 26: rm -rf tmp; mkdir tmp ! 27: rm -rf usr; mkdir usr usr/mdec ! 28: rm -rf sys; mkdir sys sys/floppy sys/cassette sys/consolerl ! 29: cp $DISTROOT/etc/disktab etc ! 30: cp $DISTROOT/etc/newfs etc ! 31: cp $DISTROOT/etc/mkfs etc ! 32: cp $DISTROOT/etc/restore etc ! 33: cp $DISTROOT/etc/init etc ! 34: cp $DISTROOT/etc/mount etc ! 35: cp $DISTROOT/etc/mknod etc ! 36: cp $DISTROOT/etc/fsck etc ! 37: cp $DISTROOT/etc/umount etc ! 38: cp $DISTROOT/etc/arff etc ! 39: cp $DISTROOT/etc/flcopy etc ! 40: cp $DISTROOT/bin/mt bin ! 41: cp $DISTROOT/bin/ed bin ! 42: cp $DISTROOT/bin/ls bin ! 43: cp $DISTROOT/bin/sh bin ! 44: cp $DISTROOT/bin/mv bin ! 45: cp $DISTROOT/bin/sync bin ! 46: cp $DISTROOT/bin/cat bin ! 47: cp $DISTROOT/bin/mkdir bin ! 48: cp $DISTROOT/bin/stty bin; ln bin/stty bin/STTY ! 49: cp $DISTROOT/bin/echo bin ! 50: cp $DISTROOT/bin/rm bin ! 51: cp $DISTROOT/bin/cp bin ! 52: cp $DISTROOT/bin/expr bin ! 53: cp $DISTROOT/bin/[ bin ! 54: cp $DISTROOT/bin/awk bin ! 55: cp $DISTROOT/bin/make bin ! 56: cp $DISTROOT/usr/mdec/* usr/mdec ! 57: cp $DISTROOT/sys/floppy/[Ma-z0-9]* sys/floppy ! 58: cp $DISTROOT/sys/consolerl/[Ma-z0-9]* sys/consolerl ! 59: cp -r $DISTROOT/sys/cassette/[Ma-z0-9]* sys/cassette ! 60: cp $DISTROOT/sys/stand/boot boot ! 61: cp $DISTROOT/sys/stand/pcs750.bin pcs750.bin ! 62: cp $DISTROOT/.profile .profile ! 63: cat >etc/passwd <<EOF ! 64: root::0:10::/:/bin/sh ! 65: EOF ! 66: cat >etc/group <<EOF ! 67: wheel:*:0: ! 68: staff:*:10: ! 69: EOF ! 70: cat >etc/fstab <<EOF ! 71: /dev/hp0a:/a:xx:1:1 ! 72: /dev/up0a:/a:xx:1:1 ! 73: /dev/hk0a:/a:xx:1:1 ! 74: /dev/ra0a:/a:xx:1:1 ! 75: /dev/rb0a:/a:xx:1:1 ! 76: EOF ! 77: cat >xtr <<'EOF' ! 78: : ${disk?'Usage: disk=xx0 type=tt tape=yy xtr'} ! 79: : ${type?'Usage: disk=xx0 type=tt tape=yy xtr'} ! 80: : ${tape?'Usage: disk=xx0 type=tt tape=yy xtr'} ! 81: echo 'Build root file system' ! 82: newfs ${disk}a ${type} ! 83: sync ! 84: echo 'Check the file system' ! 85: fsck /dev/r${disk}a ! 86: mount /dev/${disk}a /a ! 87: cd /a ! 88: echo 'Rewind tape' ! 89: mt -f /dev/${tape}0 rew ! 90: echo 'Restore the dump image of the root' ! 91: restore rsf 3 /dev/${tape}0 ! 92: cd / ! 93: sync ! 94: umount /dev/${disk}a ! 95: sync ! 96: fsck /dev/r${disk}a ! 97: echo 'Root filesystem extracted' ! 98: echo ! 99: echo 'If this is an 8650 or 8600, update the console rl02' ! 100: echo 'If this is a 780 or 785, update the floppy' ! 101: echo 'If this is a 730, update the cassette' ! 102: EOF ! 103: chmod +x xtr ! 104: rm -rf dev; mkdir dev ! 105: cp $DISTROOT/sys/dist/MAKEDEV dev ! 106: chmod +x dev/MAKEDEV ! 107: cp /dev/null dev/MAKEDEV.local ! 108: cd dev ! 109: ./MAKEDEV std hp0 hk0 up0 ra0 rb0 ! 110: ./MAKEDEV ts0; mv rmt12 ts0; rm *mt*; ! 111: ./MAKEDEV tm0; mv rmt12 tm0; rm *mt*; ! 112: ./MAKEDEV ht0; mv rmt12 ht0; rm *mt*; ! 113: ./MAKEDEV ut0; mv rmt12 ut0; rm *mt*; ! 114: ./MAKEDEV mt0; mv rmt12 xt0; rm *mt*; mv xt0 mt0 ! 115: cd .. ! 116: sync
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.