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

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

unix.superglobalmegacorp.com

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