Annotation of 43BSDReno/sys/tahoedist/get, revision 1.1.1.1

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 are permitted provided
                      7: # that: (1) source distributions retain this entire copyright notice and
                      8: # comment, and (2) distributions including binaries display the following
                      9: # acknowledgement:  ``This product includes software developed by the
                     10: # University of California, Berkeley and its contributors'' in the
                     11: # documentation or other materials provided with the distribution and in
                     12: # all advertising materials mentioning features or use of this software.
                     13: # Neither the name of the University nor the names of its contributors may
                     14: # be used to endorse or promote products derived from this software without
                     15: # specific prior written permission.
                     16: # THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
                     17: # WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
                     18: # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
                     19: #
                     20: #      @(#)get 1.7 (Berkeley) 7/4/90
                     21: #
                     22: 
                     23: # Shell script to build a mini-root file system in preparation for building
                     24: # a distribution tape.  The file system created here is image copied onto
                     25: # tape, then image copied onto disk as the "first" step in a cold boot of
                     26: # 4.3BSD systems.
                     27: #
                     28: DISTROOT=/nbsd
                     29: #
                     30: if [ `pwd` = '/' ]
                     31: then
                     32:        echo You just '(almost)' destroyed the root
                     33:        exit
                     34: fi
                     35: 
                     36: # copy in kernel
                     37: cp $DISTROOT/sys/GENERIC.alltahoe/vmunix .
                     38: 
                     39: # create necessary directories
                     40: DIRLIST="bin dev etc a tmp stand sbin"
                     41: rm -rf $DIRLIST
                     42: mkdir $DIRLIST
                     43: 
                     44: ETC="disktab"
                     45: for i in $ETC; do
                     46:        cp $DISTROOT/etc/$i etc/$i
                     47: done
                     48: 
                     49: SBIN="disklabel fsck ifconfig init mknod mount newfs restore \
                     50:        rrestore umount"
                     51: for i in $SBIN; do
                     52:        cp $DISTROOT/sbin/$i sbin/$i
                     53: done
                     54: 
                     55: BIN="[ cat cp dd echo ed expr ls mkdir mv rcp rm sh stty sync"
                     56: UBIN="awk make mt"
                     57: for i in $BIN; do
                     58:        cp $DISTROOT/bin/$i bin/$i
                     59: done
                     60: for i in $UBIN; do
                     61:        cp $DISTROOT/usr/bin/$i bin/$i
                     62: done
                     63: ln bin/stty bin/STTY
                     64: 
                     65: STAND="copy vdformat"
                     66: for i in $STAND; do
                     67:        cp $DISTROOT/stand/$i stand/$i
                     68: done
                     69: 
                     70: DOT=".profile boot fppoc fppwcs poc poc1 poc2 wcs"
                     71: #DOT=".profile boot"
                     72: for i in $DOT; do
                     73:        cp $DISTROOT/$i $i
                     74: done
                     75: 
                     76: # initialize /dev
                     77: cp $DISTROOT/dev/MAKEDEV dev/MAKEDEV
                     78: chmod +x dev/MAKEDEV
                     79: cp /dev/null dev/MAKEDEV.local
                     80: (cd dev; ./MAKEDEV std hd0; ./MAKEDEV cy0; mv rmt12 cy0; rm *mt*)
                     81: 
                     82: # initialize /etc/passwd
                     83: cat >etc/passwd <<EOF
                     84: root::0:10::/:/bin/sh
                     85: EOF
                     86: 
                     87: # initialize /etc/group
                     88: cat >etc/group <<EOF
                     89: wheel:*:0:
                     90: staff:*:10:
                     91: EOF
                     92: 
                     93: # initialize /etc/fstab
                     94: cat >etc/fstab <<EOF
                     95: /dev/xfd0a:/a:xx:1:1
                     96: /dev/hd0a:/a:xx:1:1
                     97: EOF
                     98: 
                     99: # create xtr script
                    100: cat >xtr <<'EOF'
                    101: #!/bin/sh -e
                    102: : ${disk?'Usage: disk=xx0 tape=yy xtr'}
                    103: : ${tape?'Usage: disk=xx0 tape=yy xtr'}
                    104: echo 'Build root file system'
                    105: newfs ${disk}a
                    106: sync
                    107: echo 'Check the file system'
                    108: fsck /dev/r${disk}a
                    109: mount /dev/${disk}a /a
                    110: cd /a
                    111: echo 'Rewind tape'
                    112: mt -f /dev/${tape}0 rew
                    113: echo 'Restore the dump image of the root'
                    114: restore rsf 3 /dev/${tape}0
                    115: cd /
                    116: sync
                    117: umount /a
                    118: sync
                    119: fsck /dev/r${disk}a
                    120: echo 'Root filesystem extracted'
                    121: EOF
                    122: 
                    123: # make xtr script executable
                    124: chmod +x xtr
                    125: 
                    126: sync

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.