home *** CD-ROM | disk | FTP | other *** search
- #!/bin/sh -
- #
- # Copyright (c) 1990 The Regents of the University of California.
- # All rights reserved.
- #
- # Redistribution and use in source and binary forms, with or without
- # modification, are permitted provided that the following conditions
- # are met:
- # 1. Redistributions of source code must retain the above copyright
- # notice, this list of conditions and the following disclaimer.
- # 2. Redistributions in binary form must reproduce the above copyright
- # notice, this list of conditions and the following disclaimer in the
- # documentation and/or other materials provided with the distribution.
- # 3. All advertising materials mentioning features or use of this software
- # must display the following acknowledgement:
- # This product includes software developed by the University of
- # California, Berkeley and its contributors.
- # 4. Neither the name of the University nor the names of its contributors
- # may be used to endorse or promote products derived from this software
- # without specific prior written permission.
- #
- # THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- # ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- # SUCH DAMAGE.
- #
- # @(#)get 1.8 (Berkeley) 5/21/91
- #
-
- # 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.3BSD systems.
- #
- DISTROOT=/nbsd
- #
- if [ `pwd` = '/' ]
- then
- echo You just '(almost)' destroyed the root
- exit
- fi
-
- # copy in kernel
- cp $DISTROOT/sys/GENERIC.alltahoe/vmunix .
-
- # create necessary directories
- DIRLIST="bin dev etc a tmp stand sbin"
- rm -rf $DIRLIST
- mkdir $DIRLIST
-
- ETC="disktab"
- for i in $ETC; do
- cp $DISTROOT/etc/$i etc/$i
- done
-
- SBIN="disklabel fsck ifconfig init mknod mount newfs restore \
- rrestore umount"
- for i in $SBIN; do
- cp $DISTROOT/sbin/$i sbin/$i
- done
-
- BIN="[ cat cp dd echo ed expr ls mkdir mv rcp rm sh stty sync"
- UBIN="awk make mt"
- for i in $BIN; do
- cp $DISTROOT/bin/$i bin/$i
- done
- for i in $UBIN; do
- cp $DISTROOT/usr/bin/$i bin/$i
- done
- ln bin/stty bin/STTY
-
- STAND="copy vdformat"
- for i in $STAND; do
- cp $DISTROOT/stand/$i stand/$i
- done
-
- DOT=".profile boot fppoc fppwcs poc poc1 poc2 wcs"
- #DOT=".profile boot"
- for i in $DOT; do
- cp $DISTROOT/$i $i
- done
-
- # initialize /dev
- cp $DISTROOT/dev/MAKEDEV dev/MAKEDEV
- chmod +x dev/MAKEDEV
- cp /dev/null dev/MAKEDEV.local
- (cd dev; ./MAKEDEV std hd0 hd1 dk0 dk1; ./MAKEDEV cy0; mv rmt12 cy0; rm *mt*)
-
- # initialize /etc/passwd
- cat >etc/passwd <<EOF
- root::0:10::/:/bin/sh
- EOF
-
- # initialize /etc/group
- cat >etc/group <<EOF
- wheel:*:0:
- staff:*:10:
- EOF
-
- # initialize /etc/fstab
- cat >etc/fstab <<EOF
- /dev/dk0a /a ufs xx 1 1
- /dev/hd0a /a ufs xx 1 1
- EOF
-
- # create xtr script
- cat >xtr <<'EOF'
- #!/bin/sh -e
- : ${disk?'Usage: disk=xx0 tape=yy [type=zz] xtr'}
- : ${tape?'Usage: disk=xx0 tape=yy [type=zz] 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 /a
- sync
- fsck /dev/r${disk}a
- echo 'Root filesystem extracted'
- EOF
-
- # make xtr script executable
- chmod +x xtr
-
- sync
-