Browse Source

new fancy snapshot install from david@city.ac.uk

OPENBSD_2_0
deraadt 28 years ago
parent
commit
89f56eb5ee
1 changed files with 109 additions and 18 deletions
  1. +109
    -18
      src/etc/etc.sparc/install.sh

+ 109
- 18
src/etc/etc.sparc/install.sh View File

@ -1,20 +1,111 @@
#!/bin/sh
# $Id: install.sh,v 1.2 1995/11/08 07:12:53 deraadt Exp $
# $Id: install.sh,v 1.3 1995/11/22 10:21:25 deraadt Exp $
# XXX should handle --unlink
INSTALLTO=/mnt
TARFLAGS=xfp
TARLIST="bin sbin usr.bin usr.games usr.include usr.lib usr.libexec usr.misc \
usr.sbin usr.share var dev"
umask 0
cat ./bin.tar.gz | gzip -d | (cd /mnt; tar xvpf -)
cat ./etc.tar.gz | gzip -d | (cd /mnt; tar xvpf -)
cat ./sbin.tar.gz | gzip -d | (cd /mnt; tar xvpf -)
cat ./usr.bin.tar.gz | gzip -d | (cd /mnt; tar xvpf -)
cat ./usr.games.tar.gz | gzip -d | (cd /mnt; tar xvpf -)
cat ./usr.include.tar.gz | gzip -d | (cd /mnt; tar xvpf -)
cat ./usr.lib.tar.gz | gzip -d | (cd /mnt; tar xvpf -)
cat ./usr.libexec.tar.gz | gzip -d | (cd /mnt; tar xvpf -)
cat ./usr.misc.tar.gz | gzip -d | (cd /mnt; tar xvpf -)
cat ./usr.sbin.tar.gz | gzip -d | (cd /mnt; tar xvpf -)
cat ./usr.share.tar.gz | gzip -d | (cd /mnt; tar xvpf -)
cat ./var.tar.gz | gzip -d | (cd /mnt; tar xvpf -)
cat ./dev.tar.gz | gzip -d | (cd /mnt; tar xvpf -)
cp ./bsd.scsi3 /mnt/bsd
chmod 640 /mnt/bsd; chown root.kmem /mnt/bsd
cd /mnt/dev; ./MAKEDEV all
mv /mnt/etc/fstab.sd /mnt/etc/fstab
# Usage 'install.sh [-v] [installto]'
# -v : Set verbose mode (tar lists files)
# installto : Sets the path to install to.
#
while [ -n "$1" ]; do
case "$1" in
-v)
TARFLAGS=xvfp
echo "(Verbose mode on)"
;;
*)
if [ ! -d $1 ]; then
echo "Cannot extract to $1 - no such directory."
exit 3
fi
INSTALLTO=$1
;;
esac
shift
done
echo "Installing to '$INSTALLTO'."
# Try for gnutar first, then gtar, or just use tar if no luck
# Also check we have gzip in the path
#
oldIFS="$IFS"
IFS=":${IFS}"
for search in gnutar gtar tar;do
TAR=
for dir in $PATH;do
if [ -x $dir/$search ];then
TAR=$dir/$search
break 2
fi
done
done
echo "Using $TAR to extract files."
GZIP=
for dir in $PATH;do
if [ -x $dir/gzip ];then
GZIP=$dir/gzip
break
fi
done
if [ -z "$GZIP" ];then
echo "Cannot find gzip in your path - aborting."
exit 3
fi
echo "Found $GZIP."
IFS="$oldIFS"
# If etc/passwd found, check if we _really_ want to extract over etc.
#
INSTALLETC=y
if [ -f $INSTALLTO/etc/passwd ];then
echo ""
echo ""
echo "**** etc/passwd found - do you want to extract over etc? (y/n)"
read ans
case $ans in
y* | Y* )
echo "Ok - extracting etc."
;;
*)
echo "Not extracting etc."
INSTALLETC=n
;;
esac
echo ""
fi
if [ $INSTALLETC = y ];then
TARLIST="etc $TARLIST"
fi
# Extract the files
#
for f in $TARLIST ; do
echo "---- $f ----"
$GZIP -d -c ./$f.tar.gz | (cd $INSTALLTO; $TAR $TARFLAGS -)
if [ $? != 0 ] ; then
echo "**** Extract of $f failed. Aborting".
exit 3
fi
done
# Tidy up
#
echo "Installing bsd.scsi3 as kernel, replace by hand you need to."
cp ./bsd.scsi3 $INSTALLTO/bsd
chmod 640 $INSTALLTO/bsd; chown root.kmem $INSTALLTO/bsd
if [ ! -c $INSTALLTO/dev/console ];then
echo "Tar did not understand device nodes - removing"
rm -rf $INSTALLTO/dev/[a-z]*
fi
cd $INSTALLTO/dev; ./MAKEDEV all
if [ $INSTALLETC = y ];then
mv $INSTALLTO/etc/fstab.sd $INSTALLTO/etc/fstab
fi
echo "You should probably edit $INSTALLTO/etc/fstab"

Loading…
Cancel
Save