|
|
1.1 ! root 1: #!/bin/sh - ! 2: # ! 3: # Copyright (c) 1990 The Regents of the University of California. ! 4: # All rights reserved. ! 5: # ! 6: # Redistribution and use in source and binary forms, with or without ! 7: # modification, are permitted provided that the following conditions ! 8: # are met: ! 9: # 1. Redistributions of source code must retain the above copyright ! 10: # notice, this list of conditions and the following disclaimer. ! 11: # 2. Redistributions in binary form must reproduce the above copyright ! 12: # notice, this list of conditions and the following disclaimer in the ! 13: # documentation and/or other materials provided with the distribution. ! 14: # 3. All advertising materials mentioning features or use of this software ! 15: # must display the following acknowledgement: ! 16: # This product includes software developed by the University of ! 17: # California, Berkeley and its contributors. ! 18: # 4. Neither the name of the University nor the names of its contributors ! 19: # may be used to endorse or promote products derived from this software ! 20: # without specific prior written permission. ! 21: # ! 22: # THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ! 23: # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ! 24: # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ! 25: # ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ! 26: # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ! 27: # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ! 28: # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ! 29: # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ! 30: # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ! 31: # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ! 32: # SUCH DAMAGE. ! 33: # ! 34: # @(#)get 1.8 (Berkeley) 5/21/91 ! 35: # ! 36: ! 37: # Shell script to build a mini-root file system in preparation for building ! 38: # a distribution tape. The file system created here is image copied onto ! 39: # tape, then image copied onto disk as the "first" step in a cold boot of ! 40: # 4.3BSD systems. ! 41: # ! 42: DISTROOT=/nbsd ! 43: # ! 44: if [ `pwd` = '/' ] ! 45: then ! 46: echo You just '(almost)' destroyed the root ! 47: exit ! 48: fi ! 49: ! 50: # copy in kernel ! 51: cp $DISTROOT/sys/GENERIC.alltahoe/vmunix . ! 52: ! 53: # create necessary directories ! 54: DIRLIST="bin dev etc a tmp stand sbin" ! 55: rm -rf $DIRLIST ! 56: mkdir $DIRLIST ! 57: ! 58: ETC="disktab" ! 59: for i in $ETC; do ! 60: cp $DISTROOT/etc/$i etc/$i ! 61: done ! 62: ! 63: SBIN="disklabel fsck ifconfig init mknod mount newfs restore \ ! 64: rrestore umount" ! 65: for i in $SBIN; do ! 66: cp $DISTROOT/sbin/$i sbin/$i ! 67: done ! 68: ! 69: BIN="[ cat cp dd echo ed expr ls mkdir mv rcp rm sh stty sync" ! 70: UBIN="awk make mt" ! 71: for i in $BIN; do ! 72: cp $DISTROOT/bin/$i bin/$i ! 73: done ! 74: for i in $UBIN; do ! 75: cp $DISTROOT/usr/bin/$i bin/$i ! 76: done ! 77: ln bin/stty bin/STTY ! 78: ! 79: STAND="copy vdformat" ! 80: for i in $STAND; do ! 81: cp $DISTROOT/stand/$i stand/$i ! 82: done ! 83: ! 84: DOT=".profile boot fppoc fppwcs poc poc1 poc2 wcs" ! 85: #DOT=".profile boot" ! 86: for i in $DOT; do ! 87: cp $DISTROOT/$i $i ! 88: done ! 89: ! 90: # initialize /dev ! 91: cp $DISTROOT/dev/MAKEDEV dev/MAKEDEV ! 92: chmod +x dev/MAKEDEV ! 93: cp /dev/null dev/MAKEDEV.local ! 94: (cd dev; ./MAKEDEV std hd0 hd1 dk0 dk1; ./MAKEDEV cy0; mv rmt12 cy0; rm *mt*) ! 95: ! 96: # initialize /etc/passwd ! 97: cat >etc/passwd <<EOF ! 98: root::0:10::/:/bin/sh ! 99: EOF ! 100: ! 101: # initialize /etc/group ! 102: cat >etc/group <<EOF ! 103: wheel:*:0: ! 104: staff:*:10: ! 105: EOF ! 106: ! 107: # initialize /etc/fstab ! 108: cat >etc/fstab <<EOF ! 109: /dev/dk0a /a ufs xx 1 1 ! 110: /dev/hd0a /a ufs xx 1 1 ! 111: EOF ! 112: ! 113: # create xtr script ! 114: cat >xtr <<'EOF' ! 115: #!/bin/sh -e ! 116: : ${disk?'Usage: disk=xx0 tape=yy [type=zz] xtr'} ! 117: : ${tape?'Usage: disk=xx0 tape=yy [type=zz] xtr'} ! 118: echo 'Build root file system' ! 119: newfs ${disk}a ${type} ! 120: sync ! 121: echo 'Check the file system' ! 122: fsck /dev/r${disk}a ! 123: mount /dev/${disk}a /a ! 124: cd /a ! 125: echo 'Rewind tape' ! 126: mt -f /dev/${tape}0 rew ! 127: echo 'Restore the dump image of the root' ! 128: restore rsf 3 /dev/${tape}0 ! 129: cd / ! 130: sync ! 131: umount /a ! 132: sync ! 133: fsck /dev/r${disk}a ! 134: echo 'Root filesystem extracted' ! 135: EOF ! 136: ! 137: # make xtr script executable ! 138: chmod +x xtr ! 139: ! 140: sync
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.